根据维基百科关于GUID 分区表的文章,分区 GUID 位于分区条目 (LBA 2-33) 中,就在卷开头的主 GPT 标头之后。因此,GUID/UUID 值不存储在分区本身内,而是存储在分区表中,因此人们会认为它们应该先验地独立于分区的文件系统类型。
但是,当我查看我的 fstab 文件时,我有以下两行:
UUID=9a260e1b-f1eb-4cec-9273-f5743539805c / ext4 errors=remount-ro 0 1
UUID=D8BD-647A /boot/efi vfat umask=0077 0 1
其中,类型为 vfat 的 /boot/efi 分区的 UUID 与通常遇到的 UUID 格式不同。
为什么不同的格式用于 vfat 分区?分区GUID/UUID 格式如何取决于分区的文件系统类型?
UUID=
标签不是分区 ID。它们是文件系统 ID。几乎所有文件系统的标头中都有一个独立于分区表的唯一 ID——在您的示例中,ext4 恰好使用相同的“128 位 UUID”格式,但它仍然是 ext4 特定的 ID。(NTFS 有 64 位 ID,LVM 和 ZFS 有……)对于 GPT 分区表 GUID,您正在寻找
PARTUUID=
标签。