Fstab 檔案大家都很熟悉,Linux 在啟動的時候通過 fstab 中的資訊掛載各個分區,一個典型的分區條目就像這樣:
/dev/sdb5 /mnt/usb vfat utf8,umask=0 0 0
/dev/sda4 為需要掛載的分區,sda4 是 Linux
檢測硬碟時按順序給分區的命名,一般來講,這個名稱並不會變化,但是如果你有多塊硬碟,硬碟在電腦中的順序變化的時候,相同的名稱可能代表著不同的硬碟分
區,如果你是從 USB 裝置啟動,與其他 USB 裝置的插入順序也會導致分區識別的困難。
這個時候 UUID 就派上用場了,UUID 全稱是 Universally Unique Identifier,也就是說,每個分區有一個唯一的 UUID 值,這樣就不會發生分區識別混亂的問題了。
在 fstab 中用 UUID 掛載分區,看起來向這樣:
UUID=1234-5678 /mnt/usb vfat utf8,umask=0 0 0
在 UUID= 後面填入分區相應的 UUID 值,就可以正確掛載分區了。
那麼,我們如何知道一個分區的 UUID 呢?
有 3 種方法:
1. 通過瀏覽 /dev/disk/by-uuid/ 下的裝置檔案資訊。
# ls -l /dev/disk/by-uuid/
------
lrwxrwxrwx 1 root root 10 10-13 09:14 0909-090B -> ../../sdb5
lrwxrwxrwx 1 root root 10 10-13 09:13 7c627a81-7a6b-4806-987b-b5a8a0a93645 -> ../../sda4
.....
2. 通過 vol_id 命令。
# vol_id /dev/sdb5
ID_FS_USAGE=filesystem
ID_FS_TYPE=vfat
ID_FS_VERSION=FAT32
ID_FS_UUID=0909-090B
ID_FS_UUID_ENC=0909-090B
ID_FS_LABEL=SWAP
ID_FS_LABEL_ENC=SWAP
ID_FS_LABEL_SAFE=SWAP
3. 通過 blkid 命令
# blkid /dev/sdb5
/dev/sdb5: LABEL="SWAP" UUID="0909-090B" TYPE="vfat"
通過這三種方法都可以獲得分區的 UUID,UUID 依據分區不同,長度和格式都不相同。