Why are NTFS partition UUIDs shorter than normal?
Solution 1:
Because those values aren't UUIDs; they're NTFS serial numbers. They're identified as UUIDs in /etc/fstab
(and elsewhere) because the developers chose to use the identifier "UUID" for fundamentally non-UUID data, rather than use some other identifier.
The same is true of FAT, by the way, but FAT serial numbers are even shorter than NTFS serial numbers.
Solution 2:
The Microsoft filesystems (NTFS and the FAT brothers) don't support UUIDs the way ext*/btrfs/other Unixy filesystems do. What you see reported as UUIDs are some sort of serial numbers (64 bits long for NTFS, 32 bits long for FAT32). The only concrete information I can dig up from the Linux world is from the ntfslabel(8)
manpage:
--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.
I suspect that these "UUID"s maybe the same as the serial number report by fsutil
on Windows.