Solusi 1:
Perintah lain yang mungkin tersedia dan juga bekerja cukup baik untuk ini adalah 'blkid'. Itu bagian dari paket e2fsprogs. Contoh penggunaannya:
Cari data di /dev/sda1:
[email protected]:~$ sudo blkid /dev/sda1
/dev/sda1: UUID="727cac18-044b-4504-87f1-a5aefa774bda" TYPE="ext3"
Tampilkan data UUID untuk semua partisi:
[email protected]:~$ sudo blkid
/dev/sda1: UUID="727cac18-044b-4504-87f1-a5aefa774bda" TYPE="ext3"
/dev/sdb: UUID="467c4aa9-963d-4467-8cd0-d58caaacaff4" TYPE="ext3"
Tampilkan data UUID untuk semua partisi dalam format yang lebih mudah dibaca:(Catatan:dalam rilis yang lebih baru, blkid -L
memiliki arti yang berbeda, dan blkid -o list
harus digunakan sebagai gantinya)
[email protected]:~$ sudo blkid -L
device fs_type label mount point UUID
-------------------------------------------------------------------------------
/dev/sda1 ext3 / 727cac18-044b-4504-87f1-a5aefa774bda
/dev/sdc ext3 /home 467c4aa9-963d-4467-8cd0-d58caaacaff4
Hanya tampilkan UUID untuk /dev/sda1 dan tidak ada yang lain:
[email protected]:~$ sudo blkid -s UUID -o value /dev/sda1
727cac18-044b-4504-87f1-a5aefa774bda
Solusi 2:
Hanya Untuk Disk Berpartisi GPT
Pada disk berformat GPT, setiap partisi diberi GUID, yang merupakan bentuk UUID, meskipun mungkin bukan yang dimaksud oleh poster aslinya. Oleh karena itu jawaban ini mungkin kurang membantu penanya asli. Namun demikian saya yakin ada perbedaan penting yang harus diperhatikan.
Untuk mendapatkan GUID partisi 1 pada disk /dev/sda berformat GPT, serta label partisinya dan seterusnya:
sudo sgdisk -i 1 /dev/sda
atau semuanya dengan:
ls -l /dev/disk/by-partuuid
Untuk mem-boot dengan root sistem file berada di partisi tertentu, Anda akan menggunakan sintaks parameter kernel linux:
root=PARTUUID=87654321-4321-4321-abcd-123456789012
Dalam hal ini Anda dapat menentukan hanya awal UUID--cukup unik. Parameter ini lebih primitif dan dapat dipahami oleh kernel lebih awal dalam proses bootingnya.
Ada perbedaan semantik antara ini:
Disk menampung partisi, partisi menampung sistem file, sistem file menyimpan direktori dan file. Untuk beberapa penyiapan dan sistem operasi, terdapat lebih banyak lapisan.
UUID GUID dan label terkait merujuk ke partisi, tetapi bukan konten partisi. Partisi baru di disk yang sama, atau partisi di disk baru akan memiliki UUID GUID baru. Partisi yang sama dapat menampung satu sistem file satu hari dan satu lagi pada hari yang berbeda. Itu hanya ada untuk disk berformat GPT, tetapi tidak untuk disk yang dipartisi sebelumnya. Biasanya tidak ada lagi utilitas di sini selain menentukan root=/dev/sda1
atau root=8:1
.
Jawaban lainnya saat ini mengacu pada UUID dari sistem file di beberapa partisi yang berisi. Jika sistem file disalin, secara keseluruhan, ke partisi atau hard disk lain, nilainya tetap sama. UUID ini berguna untuk menemukan sistem file yang dipindahkan. Oleh karena itu ini mungkin lebih relevan bagi kebanyakan orang. Parameter kernel Linux root=UUID=87654321-4321-4321-a567-123456789012
mengacu pada ini.
Saya percaya root=LABEL=
dan root=UUID=
diimplementasikan oleh ruang pengguna awal, kode init yang saya lihat tempo hari di sistem saya menerjemahkan parameter ini ke /dev/disk/by-uuid dan /dev/disk/by-label (tautan yang saya percaya dibuat oleh udev di ruang pengguna di sistem).
[1] http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/init/do_mounts.c#n183
Solusi 3:
Cara bersih-skrip untuk melakukan ini yang berfungsi pada semua jenis sistem file adalah:
lsblk -no UUID <device-containing-FS>
Atau, diberi mountpoint (atau file apa pun di dalamnya):
lsblk -no UUID $(df -P <file> | awk 'END{print $1}')
Outputnya adalah UUID, seluruh UUID, dan hanya UUID.
Solusi 4:
Cara termudah untuk melakukannya untuk ext2/ext3/ext4 adalah:
/sbin/tune2fs -l /dev/sda1
Solusi 5:
Cara yang disarankan untuk melakukannya adalah dengan melakukan
sudo vol_id -u /dev/sda2
Untuk informasi lebih lanjut tentang penggunaan UUID, lihat artikel ini (dari bantuan ubuntu, tetapi dapat digunakan untuk semua distro linux yang menggunakan UUID).
Seperti disebutkan dalam komentar untuk pertanyaan ini, vol_id mungkin tidak ada di jalur Anda. Di ubuntu ada di /sbin jadi yang di atas akan berfungsi. Untuk fedora tampaknya perlu
sudo /lib/udev/vol_id -u /dev/sda2
Jika distribusi lain memiliki vol_id di tempat lain, kirimkan komentar dan saya akan menambahkannya ke jawaban ini.