1

According to the Wikipedia article on the GUID Partition Table, the partition GUID's reside in the Partition entries (LBA 2-33) just after the Primary GPT Header at the beginning of the volume. As such, the GUID/UUID values are not stored inside the partitions themselves but in the partition table, and so one would think they should a priori be independent of the filesystem types of the partitions.

However, when I look at my fstab file, I have the two following lines:

UUID=9a260e1b-f1eb-4cec-9273-f5743539805c /               ext4    errors=remount-ro 0       1
UUID=D8BD-647A  /boot/efi       vfat    umask=0077      0       1

where the UUID for the /boot/efi partition of type vfat is of a different format than the UUID generally encountered.

How comes a different format is used for vfat partitions? How comes the partition GUID/UUID format depends on the filesystem type of the partition?

The Quark
  • 133
  • 7

1 Answers1

1

UUID= tags are not partition IDs. They're filesystem IDs. Nearly all filesystems have an unique ID in their header, independent from the partition table – and in your example, ext4 just happens to use the same "128-bit UUID" format, but it is still an ext4-specific ID. (NTFS has 64-bit IDs, LVM and ZFS have...)

For GPT partition table GUIDs, you're looking for the PARTUUID= tag instead.

lsblk -o name,fstype,uuid,label,partuuid,partlabel
u1686_grawity
  • 426,297
  • 64
  • 894
  • 966
  • I see. Do you know if there are "filesystem type UUIDs/GUIDs" (same as there are "partition type GUIDs")? – The Quark May 27 '19 at 14:50
  • No, there's no such thing... the filesystem type usually has to be detected based on individual knowledge of each filesystem's "magic numbers" (see e.g. how libblkid in util-linux does it). – u1686_grawity May 27 '19 at 19:35