Cara mencari dan menukar UUID pemacu dalam Linux

Kemaskini terakhir: 17/12/2025
Pengarang Ishak
  • Linux Gunakan UUID untuk mengenal pasti partition dengan andal, tanpa mengira nama peranti /dev.
  • Alat seperti blkid, /dev/disk/by-uuid, lsblk atau GParted membolehkan anda mencari UUID dengan mudah.
  • Menukar UUID melibatkan penggunaan utiliti seperti uuidgen dan tune2fs serta mengemas kini /etc/fstab dan fail lain.
  • Apabila mengklon sistem, adalah dinasihatkan untuk menjana semula UUID dan menyemak semula fstab, crypttab dan GRUB untuk mengelakkan konflik.

UUID pemacu dalam Linux

Apabila masalah pelik mula muncul dalam Linux, seperti masalah but, masa menunggu yang tidak berkesudahan, atau cakera yang sebelum ini dipasang tanpa masalah kini gagal muncul, puncanya selalunya sama: a UUID diubah atau dikonfigurasikan dengan salahMengetahui cara mencari, memahami dan mengubah suai pengecam ini hampir merupakan satu rutin bagi sesiapa sahaja yang menguruskan sistem GNU/Linux dengan berbilang cakera atau partition.

Dalam artikel ini kita akan melihatnya dengan terperinci Cara menyemak UUID pemacu anda, cara menukarnya dengan selamat Dan fail sistem yang mana anda perlu semak untuk memastikan semuanya terus boot dengan betul. Anda akan lihat. arahan sebagai blkid, ls -l /dev/disk/by-uuid, uuidgen, tune2fsbagaimana mereka berkaitan dengan /etc/fstabApa yang berlaku kepada partition swap dan apa yang perlu dipertimbangkan jika anda mengklon sistem lengkap dengan alat seperti Clonezilla.

Apakah UUID dan mengapa ia digunakan dalam Linux?

Istilah UUID (Pengecam Unik Secara Universal) Ia merujuk kepada pengecam 128-bit (16-bait) yang unik secara universal. Dalam formatnya yang paling biasa, ia dipaparkan sebagai rentetan 32 digit heksadesimal dibahagikan kepada lima kumpulan yang dipisahkan oleh tanda hubung, mengikut corak 8-4-4-4-12, yang memberikan sejumlah 36 aksara termasuk tanda sempang. Contoh biasa adalah seperti ini: 123e4567-e89b-12d3-a456-426614174000.

Dalam sistem GNU/Linux, pengecam ini dikaitkan dengan setiap peranti daripada penyimpanan atau pembahagian (ext4, XFS, partition swap, dll.) dan berfungsi untuk merujuknya secara bebas daripada nama peranti klasik (/dev/sda1, /dev/nvme0n1p2dll.), yang boleh berubah jika anda menyambungkan atau memutuskan sambungan cakera. Dengan cara ini, sistem boleh sentiasa pasang partition yang sama walaupun susunan cakera dikesan mungkin berbeza-beza.

Tidak semua partition mempunyai format UUID yang sama: contohnya, dalam partition dengan format NTFS perkara biasa dijumpai 16 digit heksadesimal tanpa tanda hubung (64 bit), semasa dalam partition FAT32 pengecam boleh ada 8 digit heksadesimalWalaupun begitu, untuk tujuan praktikal dalam Linux, ia masih dianggap sebagai pengecam unik untuk setiap jilid.

Salah satu kegunaan terpenting kod ini ialah fail /etc/fstab, di mana ia ditakrifkan titik pemasangan dan pilihan pemasangan bagi setiap partition. Di sana anda biasanya akan melihat lajur dengan entri jenis UUID=xxxx-xxxx... sebaliknya /dev/sdXtepat untuk mendapatkan kestabilan dan mengelakkan kejutan apabila anda menukar perkakasan.

Kaedah untuk melihat UUID cakera anda dalam Linux

Sebelum menyentuh apa-apa, adalah dinasihatkan untuk mengetahui dengan tepat partition yang anda ada dan UUID yang berkaitan dengannya. Linux menawarkan beberapa alat, seperti berpisahUntuk semak UUID semua cakera disambungkan, melalui baris arahan dan melalui utiliti grafik.

Pertanyaan UUID dengan arahan blkid

Salah satu cara paling langsung untuk melihat pengecam adalah dengan menggunakan blkidPerintah ini memerlukan keistimewaan pentadbir, jadi anda perlu menjalankannya dengan sudo atau sebagai pengguna akarJika anda melancarkannya tanpa parameter, untuk disenaraikan Anda boleh menggunakan semua peranti yang dikesan:

sudo blkid

La salida Ia biasanya memaparkan baris seperti ini:

/dev/sda1: UUID="8aa6c0d2-c18e-4606-b1da-f5f1f7617f00" TYPE="xfs" PARTUUID="..."

Setiap baris mengaitkan satu peranti /pembangunan dengan beliau UUID, jenis sistem fail (ext4, xfs, vfatdll.) dan metadata lain seperti PARTUUIDJika anda hanya berminat untuk menapis mengikut peranti tertentu, anda boleh menentukannya sebagai parameter:

sudo blkid /dev/sda1

Jika anda ingin mencari UUID partition yang anda minati tanpa perlu menyemak semua baris, anda boleh menggunakan... grepContohnya, untuk melihat pengenal bagi /dev/sdd4:

sudo blkid | grep sdd4

Ini sama UUID Ia yang akan anda lihat nanti /etc/fstab jika partition itu dikonfigurasikan untuk dipasang secara automatik pada bootJadi, penting untuk menjadi sangat jelas tentang perkara ini. garisan yang manakah sepadan dengan setiap titik perhimpunan.

Gunakan direktori /dev/disk/by-uuid untuk melihat pautan

Satu lagi pilihan yang sangat praktikal untuk melihat UUID yang ada pada setiap partition adalah dengan menyenaraikan kandungan direktori tersebut. /dev/cakera/oleh-uuid/Dalam direktori itu, sistem mencipta pautan simbolik di mana setiap nama fail ialah UUID peranti, dan pautan tersebut menunjukkan peranti sebenar dalam /dev/.

Untuk melihat keseluruhan senarai jalankan sahaja:

  Panduan komprehensif untuk arahan asas dan pengurusan lanjutan WSL 2 pada Windows 11

sudo ls -l /dev/disk/by-uuid/

Jalan keluar akan menunjukkan kepada anda Sesuatu yang serupa:

lrwxrwxrwx 1 root root 10 ... 8aa6c0d2-c18e-4606-b1da-f5f1f7617f00 -> ../../sda1

Dengan cara ini anda dapat melihat sekilas apa yang UUID sepadan dengan setiap peranti /dev dan rujuk silang maklumat tersebut dengan apa yang terdapat dalam /etc/fstab atau dengan apa yang ditunjukkan oleh alat lain, seperti lsblk o gpartedIa amat berguna terutamanya apabila anda menyahpepijat masalah pemasangan atau membetulkan ralat dalam fail konfigurasi.

Lihat UUID dan titik pemasangan dengan lsblk

Perintah itu lsblk Ia merupakan alat yang sangat mudah untuk melihat, dalam bentuk pepohon, hubungan antara cakera, partition, jilid logik dan mata lekapWalaupun tujuan utamanya bukan untuk memaparkan UUID, anda boleh menggabungkannya dengan beberapa pilihan untuk mendapatkan pandangan sistem storan yang agak lengkap.

Satu seruan biasa ialah:

lsblk -o NAME,MOUNTPOINT,TYPE

Dalam lajur GUNUNG Anda akan melihat laluan seperti /, /home, /boot, /mnt/datosdll. Dari situ anda boleh mengetahui peranti mana yang anda ingin periksa dan kemudian gunakan blkid atau semakan /dev/disk/by-uuid untuk melihat pengecamnya. Ini amat berguna apabila sistem memasang pemacu di laluan yang tidak mesra (contohnya, beberapa peranti atau alat NAS seperti OpenMediaVault yang dipasang di /srv/ dengan nama panjang seperti dev-disk-by-uuid-XXXX).

Pertanyaan UUID melalui /etc/fstab

Satu lagi cara untuk melihat dengan cepat UUID yang sedang digunakan pada sistem anda adalah dengan menyemak fail tersebut /etc/fstab, yang mentakrifkan partisi mana yang dipasang dan di mana semasa permulaan. Anda boleh menyemaknya dengan:

cat /etc/fstab

Di dalamnya anda akan menemui baris yang serupa dengan:

UUID=8aa6c0d2-c18e-4606-b1da-f5f1f7617f00 /backups xfs rw,noquota,nofail 0 1

Lajur pertama menggunakan UUID sebagai pengecam partition, diikuti oleh titik pelekap, The jenis sistem fail (dalam contoh ini, xfs) dan juga opciones de montaje (rw,noquota,nofaildll.). Semak /etc/fstab Adalah satu tabiat yang baik untuk memeriksa sekali-sekala, terutamanya selepas menukar cakera, membahagikan semula atau memasang semula sistem, untuk memastikan UUID masih sepadan dengan UUID sebenar.

Tambahan pula, yang mudah:

cat /etc/fstab | grep UUID

akan membolehkan anda mencari Cari semua entri yang dikenal pasti oleh UUID dengan cepat, yang sangat berguna apabila anda mengesyaki bahawa pengecam telah ketinggalan zaman dan menyebabkan masalah but.

Masalah UUID biasa: masa but perlahan dan swap kongsi

Salah satu simptom UUID yang salah konfigurasi yang paling kerap ialah Sistem tergantung semasa permulaan. Untuk beberapa ketika, biasanya sekitar satu setengah minit, ia memaparkan mesej yang menunjukkan bahawa ia tidak dapat menemui partition tertentu. Selepas tempoh menunggu ini, proses boot akan berterusan, tetapi partition yang bermasalah tidak dipasang.

Ini biasanya berlaku apabila di /etc/fstab Terdapat entri dengan UUID yang tidak lagi wujudMungkin kerana anda telah menukar cakera, memformat partition atau memasang semula pengedaran lain pada cakera yang sama, yang telah menghasilkan pengecam baharu. Sistem cuba memasang partition tersebut dengan UUID yang tiada siapa miliki dan menunggu sehingga ia tamat tempoh. el tiempo.

Satu kes yang agak biasa berlaku apabila anda mempunyai sistem dwi (contohnya, Ubuntu dan Debian) berkongsi partition yang sama linux-swapBayangkan cakera dengan tiga partition: sdc1 seperti pertukaran, dan sdc2 y sdc3 sebagai partition root dalam ext4 untuk Ubuntu dan Debian, masing-masing. Jika anda mula-mula memasang Ubuntu dalam sdc3 dan kemudian Debian dalam sdc2Adalah perkara biasa bagi pemasang Debian untuk format semula swap dan ubah UUIDnya.

Hasilnya ialah sistem pertama yang dipasang (Ubuntu, dalam contoh ini) mempunyai /etc/fstab un UUID lama untuk pertukaranApabila ia but, ia mencari partition dengan pengecam yang tidak lagi wujud, menunggu masa maksimum, menganggapnya hilang, dan terus but tanpa swap pemasangan. Ia bukanlah kiamat, tetapi ia adalah punca kelambatan dan penggunaan RAM yang tidak perlu.

Untuk mendiagnosis kes seperti ini, anda boleh menggunakan alat grafik seperti GPartedJika anda belum memasangnya, pada pengedaran berasaskan Debian anda boleh melakukannya dengan:

sudo apt install gparted

Sebaik sahaja anda melancarkan GParted, pilih cakera dan klik kanan pada partition swap untuk memilih pilihan untuk maklumatDi sana anda akan melihat maklumat seperti nama peranti (sdc1), jenisnya ( )linux-swap) dan UUID semasaItulah pengecam yang mesti juga muncul dalam /etc/fstab bagi setiap sistem yang menggunakan swap tersebut.

  Betulkan: Tidak Dapat Mengakses Pilihan Kuasa Penuh

Penyelesaiannya melibatkan penyuntingan /etc/fstab sistem yang mempunyai UUID yang ketinggalan zaman (contohnya, Ubuntu) dan gantikan UUID lama dengan yang baharu yang anda lihat dalam GParted atau dengan blkidAnda boleh melakukannya dengan editor kegemaran anda, contohnya:

sudo nano /etc/fstab

Selepas menyimpan perubahan, pada but seterusnya, sistem akan menemui partition swap yang betul dan proses but akan berjalan lancar semula. Prosedur yang sama ini terpakai untuk sebarang pembahagian lain yang UUIDnya telah berubah disebabkan oleh pemasangan semula, pemformatan atau pengklonan yang dilaksanakan dengan buruk.

Jana dan ubah UUID dalam Linux

Akan tiba masanya apabila membaca UUID tidak mencukupi: anda perlu menjana pengecam baharu atau menukar yang sedia adaIni mungkin perlu semasa mengklon cakera, apabila ingin mengelakkan konflik antara sistem, atau hanya untuk tujuan organisasi. Linux menawarkan beberapa alat untuk tugas-tugas ini, beberapa alat umum (uuidgen) dan lain-lain khusus untuk sistem fail tertentu (tune2fs untuk samb.2/3/4).

Jana UUID baharu dengan uuidgen

Utiliti uuidgen Ia bertanggungjawab untuk mencipta dan memaparkan UUID baharu, menggunakan pustaka libuuidPengecam yang dijana, dalam praktiknya, adalah unik dalam sistem setempat dan dalam mana-mana sistem lain, masa lalu, sekarang atau masa depan, kerana ia mematuhi piawaian yang direka untuk mengelakkan perlanggaran dengan cara yang sangat mustahil secara statistik.

Terdapat dua mod penjanaan yang dikendalikannya uuidgen: UUID berasaskan masa y UUID rawakYang pertama menggunakan jam dan alamat sistem MAC kad rangkaian (jika ada), manakala yang kedua bergantung pada a penjana nombor rawak berkualiti tinggi, biasanya /dev/random o /dev/urandom.

Dalam beberapa pengedaran, seperti Debian 9 Stretch, alat itu uuidgen Ia tidak dipasang secara lalai. Dalam kes itu, anda boleh menambahkannya dengan memasang pakej tersebut. uuid-runtime:

sudo apt update
sudo apt install uuid-runtime

Setelah dipasang, sintaks amnya sangat mudah:

uuidgen

Pilihan yang paling biasa ialah:

  • -r, –rawak: menjana UUID berdasarkan rawakmenggunakan penjana nombor rawak sistem.
  • -t, –masa: menjana UUID berdasarkan masa dan alamat MAC mesin.
  • -h, -help: memaparkan bantuan dan keluar.
  • -V, -versi: memaparkan versi dan keluar.

Sekiranya anda berlari uuidgen Tanpa parameter, anda akan terus mendapatkan UUID baharu dalam terminal yang boleh anda salin dan gunakan di mana sahaja anda memerlukannya, contohnya dalam skrip atau fail konfigurasi tersuai.

Tukar UUID partition ext2/3/4 dengan tune2fs

Jika apa yang anda mahukan ialah partition sedia ada mempunyai UUID baharuDalam sistem fail ext2, ext3 atau ext4, alat rujukan ialah tune2fsPerintah ini membolehkan anda mengubah suai parameter dalaman sistem fail, termasuk pengecamnya.

Sebelum mengubah apa-apa, adalah penting nyahlekap partition untuk mengelakkan kerosakan data. Katakan anda ingin mengubah suai UUID bagi /dev/sdd4Aliran asasnya ialah:

sudo umount /dev/sdd4

Setelah dibongkar, anda boleh bertanya tune2fs yang menghasilkan UUID rawak baharu secara langsung:

sudo tune2fs /dev/sdd4 -U random

Jika anda lebih suka mengawal pengecam khusus itu sendiri (contohnya, menggunakan pengecam yang dijana sebelum ini dengan uuidgen), anda juga boleh memberikan nilai secara eksplisit:

sudo tune2fs /dev/sdd4 -U 123e4567-e89b-12d3-a456-426614174000

Selepas perubahan itu, adalah idea yang baik untuk menyemak hasilnya dengan blkid atau menyemak semula /dev/disk/by-uuid Untuk mengesahkan bahawa pengecam telah dikemas kini:

sudo blkid /dev/sdd4

Ingat bahawa jika partition itu muncul dalam /etc/fstab atau fail konfigurasi lain, anda perlu Kemas kini UUID baharu secara manual untuk mengelakkan sistem daripada terus mencari pengecam lama semasa permulaan.

Edit /etc/fstab untuk menggunakan UUID dalam mount

Cara yang disyorkan untuk menentukan persistent mounts dalam Linux adalah dengan menggunakan UUID dalam /etc/fstabSintaks umum untuk entri berasaskan UUID adalah seperti ini:

UUID={TU-UUID} /ruta/de/montaje tipo_fs opciones 0 1

Contohnya, untuk cakera XFS yang bertujuan untuk sandaran, anda mungkin mempunyai baris seperti ini:

UUID=8aa6c0d2-c18e-4606-b1da-f5f1f7617f00 /backups xfs rw,noquota,nofail 0 1

Dalam contoh ini, pilihan tiada gagal Ini menjadikan sistem tidak menganggapnya kritikal jika cakera tidak hadir semasa permulaan, yang sangat berguna untuk pemacu luaran atau cakera sandaran yang tidak selalu disambungkan. Pilihan lain termasuk tiada kuota o errors=remount-ro Ia bergantung pada jenis sistem fail dan penggunaan yang akan anda berikan kepadanya.

Sebaik sahaja anda telah mengubah suai /etc/fstab Untuk menambah atau mengemas kini sebarang entri, disyorkan untuk menguji konfigurasi tanpa memulakan semula, menggunakan:

  5 Cara untuk Mengosongkan Ruang pada Linux - Tutorial

sudo mount -a

Jika tiada ralat, anda akan dapat melihat hasilnya dengan:

df -h | grep backups

atau yang serupa, menggantikan backups oleh titik pemasangan yang sepadan dengan kes anda. Jika terdapat masalah, semak sama ada UUID adalah betul dan sistem fail yang ditunjukkan sepadan dengan yang sebenar.

Pengklonan sistem dan konflik UUID

Satu senario yang menimbulkan banyak persoalan ialah pengklonan keseluruhan sistem, contohnya dengan alat seperti ClonezillaApabila mengklon satu cakera ke cakera yang lain, data disalin sama seperti partition, sistem fail dan UUID merekaIni bermakna untuk seketika anda akan mempunyai dua cakera berbeza dengan partition yang berkongsi pengecam yang sama.

Pertindihan ini mungkin tidak menjadi masalah jika anda hanya but dari klon atau asal secara berselang-seli, tetapi jika anda menyambungkan kedua-duanya pada masa yang sama pada mesin yang sama, kemungkinan ralat akan muncul. Konflik UUIDSistem tidak akan mengetahui dengan tepat partition mana yang sepadan dengan setiap pengecam, dan anda mungkin mengalami ralat pemasangan, masa boot yang mengelirukan atau mempunyai partition daripada klon yang dipasang di tempat yang anda jangkakan daripada cakera asal.

Untuk mengelakkan konflik ini, adalah amalan biasa untuk meneruskan tukar UUID bagi partition klon Selepas pengklonan, pastikan setiap cakera dibezakan dengan jelas. Untuk partition ext4, anda boleh bergantung, seperti yang kita lihat sebelum ini, pada uuidgen untuk menjana pengecam baharu dan dalam tune2fs untuk menerapkannya.

Jika sistem anda mempunyai struktur yang agak kompleks, contohnya akar dalam ext4 > LVM > LUKS (dm-crypt), anda harus sedar bahawa mungkin terdapat UUID pada pelbagai peringkatIni termasuk: fail sistem fail, fail isipadu fizikal LVM, fail isipadu logik, fail kontena LUKS, dsb. Selain itu, fail seperti /etc/crypttab Mereka boleh merujuk pengecam tersebut.

Dalam kes biasa dengan penyulitan, skema mungkin kelihatan seperti ini:

nvme0n1 (disco físico)
├─nvme0n1p1 /boot/efi
├─nvme0n1p2 /boot
└─nvme0n1p3 (partición cifrada LUKS)
└─nvme0n1p3_crypt
├─sys--vg-root /
└─sys--vg-swap_1

Jika anda menukar UUID pada bila-bila masa dalam rantaian ini, anda mesti memastikan bahawa anda mengemas kini semua tempat di mana ia dirujuk: /etc/fstab untuk titik pelekap, /etc/crypttab untuk jilid yang disulitkan dan, dalam beberapa kes, parameter but yang digunakan oleh GRUB untuk mencari root.

Mengenai GRUB, dalam banyak konfigurasi moden ia sendiri entri menu menggunakan UUID Untuk mengetahui di mana partition root berada. Iaitu, sesuatu seperti ini muncul dalam baris kernel: root=UUID=...Apabila anda menjana semula fail tersebut grub.cfg berlari update-grub (atau arahan yang setara dalam pengedaran anda), sistem akan membaca semula cakera dan mengemas kini pengecam tersebut. Oleh itu, selepas mengubah suai UUID pada klon yang boleh di-boot, sangat disyorkan untuk but daripada klon tersebut dan melakukan penjanaan semula konfigurasi GRUB untuk memastikan semuanya konsisten.

Dalam praktiknya, aliran kerja yang munasabah apabila mengklon sistem yang lengkap dan ingin menggunakannya selari dengan sistem asal biasanya:

  • But dari klon (untuk mengelakkan kekeliruan dengan nama peranti).
  • Tukar UUID bagi partition yang anda ingin bezakan (dengan tune2fs atau alat yang sepadan dengan setiap sistem fail).
  • Update / etc / fstab dan, jika berkenaan, /etc/crypttab dengan pengenal baharu.
  • Jana semula konfigurasi GRUB (contohnya dengan sudo update-grub dalam Debian/Ubuntu).

Walaupun ia mungkin kelihatan agak sukar, pendekatan ini memastikan klon tersebut akan boleh di-boot sepenuhnya dan bebas daripada yang asal, dan kedua-duanya boleh wujud bersama pada mesin yang sama tanpa terpijak antara satu sama lain.

Menguasai pengurusan UUID dalam Linux membolehkan anda mendiagnosis masa but yang perlahan, menyelesaikan masalah dengan partition yang diubah dan mengkonfigurasi mount yang lebih mantap. /etc/fstabBerkongsi ruang swap antara pengedaran tanpa masalah dan mengklon seluruh sistem sambil memastikan semuanya terkawal. Akhirnya, ia hanya perlu mengenal pasti dengan betul partition yang dimiliki oleh yang mana, dan menyemak kodnya dengan alat seperti blkid o ls -l /dev/disk/by-uuiddan jadikan ia satu tabiat untuk menyemak dan mengemas kini fail konfigurasi utama setiap kali anda membuat perubahan ketara pada cakera anda.

tutorial arahan berpisah
artikel berkaitan:
Tutorial Perintah Berpisah: Panduan Lengkap dengan Contoh dan Trik