USBメモリなどのフォーマット形式についてメモ
投稿日:2016年11月04日
最終更新日:
もくじ
- FAT32…多くのOSで使用可能、ただし不便な点も多し
- NTFS…Windowsのみで使用するなら最安定の形式
- exFAT…FAT32の各種制約を解消した後継規格
- 余談…アロケーションユニットサイズについて
FAT32…多くのOSで使用可能、ただし不便な点も多し
FAT32は、Windows 95 OEM Service Release 2 (OSR2)で登場したフォーマット形式です。古くから存在する規格なので古いPCでも使用できますし、Windows以外にMacやLinuxでも使用可能です。互換性はなかなかのものでしょう。しかしその一方で、
- ボリュームサイズは最大で2TBまで
- ファイルサイズは最大で4GBまで
NTFS…Windowsのみで使用するなら最安定の形式
NTFSの正式名称が”NT File System”であることからも分かるように、Windows NT系(Microsoft Windows NTのアーキテクチャに基づいて作られたOSの系列。Windows 3.1やWindows XP/7/10などがこちらに属し、2016年現在もWindowsの主力系統として君臨)で標準的に使用されているフォーマット形式です。各ファイルに対してアクセス権を設定でき、大容量のボリュームやファイルにも対応できます。WindowsでPC内蔵ストレージをフォーマットするならば、NTFSが最安定でしょう。
一方で、OS間の互換性という面ではFAT32などに劣るのがNTFSの欠点です。Windows NT系以外のOS(Windows 9x系(サポート終了)、MacやLinuxなど)からアクセスするサードパーティ製ツールも存在しますが、完璧というわけではありません。
exFAT…FAT32の各種制約を解消した後継規格
exFATは、Microsoftが開発したFAT(12/16/32)の後継規格です。FAT32では扱えなかった4GB超えのファイルも扱えるようになり、ボリュームサイズの上限についても拡張されました。SDXCメモリーカードでも、exFATが使用されています。こちらはMac等でも扱えるようなので、大きなファイルを管理する外付けストレージ等はexFATでフォーマットしても良いかもしれません。
余談…アロケーションユニットサイズについて
ストレージをフォーマットする時に、「アロケーションユニットサイズ」という設定項目を見かけた方もいるでしょう。ストレージは「クラスター」という単位でファイルを管理しており、クラスターの大きさが「アロケーションユニットサイズ」(クラスターサイズ)です(もっと深い話もありますが、ここでは解説しません)。どんなに小さいファイルでも、1つのファイルを保存するときには必ず1つのクラスターを使いますし、ファイルサイズ>アロケーションユニットサイズの場合はファイルを複数のクラスターに分割して保存します。
アロケーションユニットサイズを大きくすればするほど、小さいファイルを保存したときの無駄(クラスタギャップ)が大きくなります(下の画像で解説)。かと言ってアロケーションユニットサイズを小さくすると、今度はファイルの読み書き速度に悪影響を与えるのが難しいところです。まあ基本的には、アロケーションユニットサイズは標準設定でかまわないでしょう。必要なときだけ変更すればOKです。
↑「(ファイル)サイズ」は小さい(402バイト)が、「ディスク上のサイズ」ではきっちり4キロバイト(4096バイト)消費している。アロケーションユニットサイズが4キロバイトの場合は(4096-402=)3694バイトが無駄になっているが、アロケーションユニットサイズを大きくすればするほど、小さいファイルを保存した時に無駄になるサイズが大きくなる。小さいファイルを沢山保存する用途で使う場合は、むやみにアロケーションユニットサイズを大きくしないほうが良いだろう。
参考リンク