如果您使用sudo blkid
命令查看分区及其 uuid 或者仅查看/etc/fstab
(假设您有一些 NTFS 分区),您可能会注意到 NTFS 分区的 UUID 长度为 16 个字符且没有破折号,而 ext2/3/4 和交换分区具有传统的 32 个字符(16 字节)长的 UUID,带有破折号。为什么会这样?
答案1
因为这些值不是 UUID;它们是 NTFS 序列号。它们在/etc/fstab
(以及其他地方)被标识为 UUID,因为开发人员选择使用标识符“UUID”来表示从根本上来说非 UUID 的数据,而不是使用其他标识符。
顺便说一下,FAT 也是如此,但 FAT 序列号比 NTFS 序列号还要短。
答案2
Microsoft 文件系统(NTFS 和 FAT 兄弟)不支持 UUID,而 ext*/btrfs/其他 Unixy 文件系统则支持。您看到的报告为 UUID 的是某种序列号(NTFS 为 64 位长,FAT32 为 32 位长)。我能从 Linux 世界挖掘出的唯一具体信息来自ntfslabel(8)
手册页:
--new-serial[=ssssssssssssssss], or
--new-half-serial[=ssssssss]
Set a new serial number to the device, either the argument
value, or a random one if no argument is given. The serial
number is a 64 bit number, represented as a sixteen-digit
hexadecimal number, used to identify the device during the
mounting process. As a consequence, two devices with the same
serial number cannot be mounted at the same time on the same
computer. This is not the volume UUID used by Windows to locate
files which have been moved to another volume.
The option --new-half-serial only changes the upper part of the
serial number, keeping the lower part which is used by Windows
unchanged. In this case the optional argument is an eight-digit
hexadecimal number.
我怀疑这些“UUID”可能与序列号报告相同fsutil
在 Windows 上。