ポータブルHDDをexFATでフォーマットすると膨大に容量を消費する話

ウィンドウズでのハードディスクの方法は主にFAT32とNTFSがあります。FAT32はUSBメモリーなど、いきなりポートから引っこ抜いてもデータが壊れることはあまりなく、SDカードのフォーマットにもっぱら使われますが、1ファイルの上限が4GB、フォーマットサイズの上限が32GBと高画質の映像を記録するのには不向きです。一方でNTFSはファイルの上限はほぼない(約20エクサバイト)ものの、少し前のMac OSでは読み込みしかできなかったり、急にメディアを切るとデータが破損したりと、あまりリムーバブルメディア向きではありません。

そこでNTFSのようにファイルサイズの制限を拡張子、FAT32のデータ保全性のいいとこ取りをしたのがexFATというわけですが、ハードディスクをリムーバブルメディアとして利用する際には気をつけなければいけない点があります。それは、ウィンドウズで特に意識せずそのままフォーマットすると、アロケーションユニットサイズが256キロバイトになることです。

これはデータの最小確保単位を指し、256KB未満のファイルでも、ディスク内では256KB確保されることになります。つまり、数KBのテキストファイルばかりのデータをこのディスクに保存しようとすると、あっというまにディスクの容量の上限に達してしまうのです。以下の例では本来のファイル総サイズの5倍近くの容量を消費しています。


アロケーションユニットサイズを少なくすれば、ディスクのアクセス効率は若干低下しますが、容量の問題は避けられます。しかしながら、Windows 10のフォーマットダイアログでは1TBあるようなメディアでは64KB未満が指定できません(規定は128KB)。もし、アロケーションサイズを少なくしたいのであれば、コマンドラインを使いましょう。
format H: /FS:exFAT /A:4096 /Q

H:はフォーマットするドライブ名、/FSはフォーマット、/Aはアロケーションサイズ(この場合は4096バイト=4KB)、/Qはクイックフォーマットを示します。これにより、細かいファイルをたくさん保存するのに適したハードディスクを作成することができるようになります。

exFATの小技を学んだのであれば、早速大容量の2.5インチHDDをバックアップメディア代わりに買いませんか?
2016年9月6日