web-dev-qa-db-ja.com

NTFSパーティションのUUIDが通常よりも短いのはなぜですか?

Sudo blkidコマンドを使用してuuidでパーティションを表示するか、/etc/fstabを表示するだけの場合(NTFSパーティションがあることを考慮して)、おそらくNTFSパーティションのUUIDは16文字で、 ext2/3/4パーティションとスワップパーティションには、ダッシュ付きの従来の32文字(16バイト)の長さのUUIDがあります。なんでそうなの?

9
Ivan

これらの値はUUIDではないためです。 NTFSシリアル番号です。開発者は基本的に非UUIDデータに識別子「UUID」を使用することを選択したため、/etc/fstab(および他の場所)でUUIDとして識別されます。

ところで、FATについても同じことが言えますが、FATのシリアル番号はNTFSのシリアル番号よりもさらに短くなっています。

10
Rod Smith

Microsoftファイルシステム(NTFSおよびFAT兄弟)は、ext */btrfs /他のUnixyファイルシステムのようにUUIDをサポートしていません。 UUIDとして報告されるのは、ある種のシリアル番号です(NTFSでは64ビット、FAT32では32ビット)。 Linuxの世界から掘り下げることができる唯一の具体的な情報は、 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.

これらの「UUID」は、Windowsでの fsutil によるシリアル番号レポートと同じであると思われます。

5
muru