How to Find UUID of Storage Devices in Linux

Ubuntu: 20.04

UUID(Universally Unique Identifier) 又稱「通用唯一識別碼」,在 Linux 系統中,可以辨識出各個不同的 Partitions。

如果你的機器有許多顆硬碟,裝置的名稱可能會因為 BIOS 設定或插入的順序改變,因此可以在 /etc/fstab 裡根據 UUID 進行掛載(Mount),就可以有效避免磁區錯亂的情況發生。

/etc/fstab 範例

UUID=68434ede-ef44-4f3b-8ede-e5a27a68857e /mogdata/dev3268 ext4 rw,noatime,nodiratime 2 2
UUID=9412a153-ef90-443a-8c5d-9978f119a70a /mogdata/dev3269 ext4 rw,noatime,nodiratime 2 2
UUID=f88ed8cc-8f3f-4c32-b921-085e3afa2783 /mogdata/dev3270 ext4 rw,noatime,nodiratime 2 2
UUID=0dcb03b7-cede-4094-8056-40baf694391b /mogdata/dev3272 ext4 rw,noatime,nodiratime 2 2
UUID=37aec9a3-a3ea-4d6b-9a7b-95d4bf4cda37 /mogdata/dev3273 ext4 rw,noatime,nodiratime 2 2
UUID=039ac52a-7c7f-486d-abff-ffa789b6eb34 /mogdata/dev3274 ext4 rw,noatime,nodiratime 2 2

而要取得 Partitions 的 UUID 有許多方法,以下就提供大家幾種常見取得 UUID 的指令。

blkid

blkid 是 Linux 內建用來定位會顯示區塊設備屬性的指令。

範例

sudo blkid

結果

/dev/sda1: UUID="68d25823-7cce-4954-9a1a-7e2e48fc1396" TYPE="ext4" PARTUUID="1c584afb-01"
/dev/sda5: UUID="e42943e9-d46d-402d-9a12-1b76ec992ee7" TYPE="swap" PARTUUID="1c584afb-05"
/dev/sdb: UUID="68434ede-ef44-4f3b-8ede-e5a27a68857e" TYPE="ext4"
/dev/sdc: UUID="9412a153-ef90-443a-8c5d-9978f119a70a" TYPE="ext4"

/dev/disk/by-uuid

直接使用 ls 指令查詢 Linux 中自動產生綁定的 UUID 的目錄。

範例

ls -l /dev/disk/by-uuid

結果

lrwxrwxrwx 1 root root  9 Apr 20  2021 039ac52a-7c7f-486d-abff-ffa789b6eb34 -> ../../sdh
lrwxrwxrwx 1 root root  9 Apr 20  2021 07748a45-248e-4e11-8eba-c10efc1b3b10 -> ../../sdy
lrwxrwxrwx 1 root root  9 Oct 28 14:34 08ab915e-df7c-4f80-af2f-a09693a52f5b -> ../../sdo

lsblk

lsblk 能列出所有可用的或指定的區塊設備資訊。

範例

sudo lsblk -f

結果

NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
sdy    ext4         07748a45-248e-4e11-8eba-c10efc1b3b10 /mogdata/dev3291
sdf    ext4         0dcb03b7-cede-4094-8056-40baf694391b /mogdata/dev3272
sdab   ext4         c29bcccf-2a70-47e0-9be1-4ff581cf3531 /mogdata/dev3294
Categories: Linux