![为什么 vfat 分区在 GUID 分区表中具有特殊的 GUID/UUID 格式?](https://linux22.com/image/1592636/%E4%B8%BA%E4%BB%80%E4%B9%88%20vfat%20%E5%88%86%E5%8C%BA%E5%9C%A8%20GUID%20%E5%88%86%E5%8C%BA%E8%A1%A8%E4%B8%AD%E5%85%B7%E6%9C%89%E2%80%8B%E2%80%8B%E7%89%B9%E6%AE%8A%E7%9A%84%20GUID%2FUUID%20%E6%A0%BC%E5%BC%8F%EF%BC%9F.png)
根据维基百科文章GUID 分区表,分区 GUID 位于卷开头主 GPT 头后面的分区条目 (LBA 2-33) 中。因此,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 格式取决于文件系统类型分区?
答案1
UUID=
标签不是分区 ID。它们是文件系统 ID。几乎所有文件系统的标头中都有一个唯一 ID,独立于分区表 - 在您的示例中,ext4 恰好使用相同的“128 位 UUID”格式,但它仍然是特定于 ext4 的 ID。(NTFS 有 64 位 ID,LVM 和 ZFS 有...)
对于 GPT 分区表 GUID,您正在寻找PARTUUID=
标签。
lsblk -o name,fstype,uuid,label,partuuid,partlabel