У диска и его раздела могут быть сразу несколько идентификаторов, и они не взаимозаменяемы
Посмотрим их вместе:
lsblk -o NAME,SIZE,FSTYPE,UUID,PARTUUID,MOUNTPOINTS
Например:
nvme0n1
├─nvme0n1p1 vfat 7A3C-91F2 4f8a... /boot/efi
└─nvme0n1p2 ext4 91c2... 8e21... /
UUID относится к файловой системеPARTUUID относится к самому разделу в partition tableЭто принципиальная разница.
Если выполнить:
blkid /dev/nvme0n1p2
можно получить:
UUID="91c2..."
PARTUUID="8e21..."
UUID меняется вместе с filesystem
Например, для ext4 можно создать новую файловую систему:
mkfs.ext4 /dev/nvme0n1p2
Раздел останется тем же, но filesystem UUID будет новым.
Поэтому
/etc/fstab, где используется:UUID=91c2... / ext4 defaults 0 1
после пересоздания filesystem перестанет находить старую файловую систему
PARTUUID принадлежит разделу
Если файловую систему внутри раздела пересоздать,
PARTUUID обычно останется прежним.Но если удалить раздел и создать его заново, partition entry уже может получить другой идентификатор
Посмотреть таблицу непосредственно можно:
lsblk -o NAME,PARTUUID
или:
blkid -p /dev/nvme0n1p2
Где это становится особенно важным
В Linux можно встретить:
root=UUID=...в параметрах kernel command line
А в некоторых конфигурациях используется:
root=PARTUUID=...
В первом случае kernel/initramfs ищет filesystem с определённым UUID
Во втором - конкретный partition entry
Поэтому после клонирования диска можно получить очень неприятную ситуацию: структура разделов и их
PARTUUID скопированы, а UUID файловых систем тоже совпалиВ результате система или initramfs может обнаружить не тот экземпляр filesystem
UUID отвечает на вопрос «какую файловую систему найти», а PARTUUID - «какой раздел найти»При диагностике загрузки, клонирования дисков и проблем с
/etc/fstab важно сначала определить, какой именно идентификатор используется и к какому уровню устройства он относится

