web-dev-qa-db-ja.com

vfatパーティションのUUIDを変更する

vfatパーティションのUUIDを変更するにはどうすればよいですか?ために ext2/ext3/ext4これは単純な

tune2fs -U <new-uuid> /dev/<partition>

vfatパーティションに同様のコマンドはありますか?

13
friederbluemle

なぜこれを実行するのかを理解しておくと役立ちます。私はあなたが望むことをするためのツールを知りませんが、他のオプションがあるかもしれません...

技術的には、FATパーティションにはUUIDがありません。これらにはシリアル番号があり、UUIDの代わりにいくつかのLinuxツールおよびファイル(mount/etc/fstabなど)が使用できます。 GPTディスクでは、FATファイルシステムを保持するパーティションにGUIDがあり、(最近の十分なLinuxディストリビューションでは)mountおよび/etc/fstabでPARTUUIDと呼ばれることがあります。 FATファイルシステムと(GPTディスク上の)FATファイルシステムには、mountまたは/etc/fstabでも使用できる名前を付けることができます。これらの機能は、FATシリアル番号の代わりに使用できる場合があります。

FATパーティションのシリアル番号を変更するツールはわかりませんが、-iオプションをmkdosfsで作成してファイルシステムを作成すると、次のように設定できます。

mkdosfs -i ABCD1234 /dev/sdc1

この例では、/dev/sdc1のシリアル番号をABCD-1234に設定しています。ファイルシステムが十分に小さい場合は、それをバックアップし、目的のシリアル番号を使用して新しいファイルシステムを作成し、それを復元できます。シリアル番号をディスクまたはインストールセットアップスクリプトの一部として設定する場合は、mkdosfsを使用してシリアル番号を設定するだけで十分です。

パーティションのGUIDをgdiskまたはsgdiskで変更できます。後者を使用すると、次のように-uオプションを介してジョブを実行できますに:

sgdisk -u 1:BC87D91A-02F3-4C52-87CD-536A3DF2A074 /dev/sdc

この例では、GUID of /dev/sdc1 to BC87D91A-02F3-4C52-87CD-536A3DF2A074。(-uはコロンで区切られたオプションのセットを受け取り、最初のそのうちの2番目はパーティション番号で、2番目はGUID値です。ディスク全体のデバイスのファイル名[notパーティション]が最後のオプションです。)

ニーズに応じて、これらのアプローチのいずれかが機能する場合があります。より広い範囲に移動すると、dosfslabelツールを使用してファイルシステムのラベルを設定できます。または、sgdisk-cオプションを使用してGPTパーティションの名前を変更できます。これは、-uとよく似ていますが、GUIDではなく名前を使用します。

13
Rod Smith

FAT32のボリュームIDは、オフセット67(0x43)の最初のセクターに保存されています。FAT16の場合、39(0x27)にあります。 ddコマンドを使用してそれを読み取ることができます(/dev/sdc1を実際のパーティションで):

dd bs=1 skip=67 count=4 if=/dev/sdc1 2>/dev/null \
| xxd -plain -u \
| sed -r 's/(..)(..)(..)(..)/\4\3-\2\1/'

そしてもちろん、新しいUUIDを保存することもできます(1234-ABCD希望の値で):

UUID="1234-ABCD"
printf "\x${UUID:7:2}\x${UUID:5:2}\x${UUID:2:2}\x${UUID:0:2}" \
| dd bs=1 seek=67 count=4 conv=notrunc of=/dev/sdc1

参照:FAT物理構造(ボリュームシリアル番号オフセット): https://technet.Microsoft.com/en-us/library/cc776720(v = ws.10).aspx#w2k3tr_fat_how_gkxz

17
Tommy

たとえば、特定のパーティションを設定するのではなく、vfatパーティションに新しいランダムUUIDを設定したい場合があります。たとえば、ddでパーティションを複製した後の競合を回避します。この場合、単純な解決策は、gpartedを使用することです。パーティションを右クリックして、[新しいUUID]をクリックします。

0
Luca Citi