ファイル割り当てテーブル(FAT)は、コンピュータがストレージデバイスに保存されたデータを検索する方法です。これには、フロッピー ディスクUSB フラッシュ ドライブ、SD カード、その他の大容量ストレージ デバイスが含まれます。

FATは、コンピュータのファイルがどこに保存されているかを示すクラスタのリストです。これらのクラスタは必ずしも隣り合っているわけではなく、ディスクや記憶媒体上に散らばっていることがあります。FATは常にストレージデバイスの最初のいくつかのクラスタに配置されています。

FATファイルシステムは、シンプルで堅牢なレガシーファイルシステムです。軽量な用途でも問題なく動作します。しかし、最新のファイルシステムのようなスピード、信頼性、スケーラビリティを提供することはできません。しかし、互換性の理由から、現在開発されているパーソナル・コンピュータ用のほとんどすべてのオペレーティングシステムでサポートされています。また、多くのモバイルデバイス組み込みシステムでもサポートされています。そのため、1981年から現在に至るまで、ほぼすべてのタイプのコンピュータとデバイス間のデータ交換に適したフォーマットとなっています。

FATの種類と特徴

  • FAT12:最も古い形式で、主にフロッピーディスクや非常に小さなボリューム向け。クラスタ番号が12ビットで管理されます。
  • FAT16:16ビットのクラスタ番号を使用。かつてのハードディスクや小容量パーティションで広く使われました。ボリュームサイズやクラスタサイズにより最大容量は変わります。
  • FAT32:32ビット(実際には28ビット程度をクラスタ番号に使用)に拡張され、より大きなボリュームに対応します。ただし、個々のファイルサイズの上限が存在し、一般的には「4GB未満」という制約があります。
  • exFAT:Microsoftがフラッシュメディア向けに設計した拡張版。大きなファイルや大容量メディアを扱えるようにしてあり、FAT32のファイルサイズ制限を回避できます。近年は多くのOSでサポートされていますが、古い機器では対応していない場合があります。

仕組み(クラスタとFATチェーン)

FATは「クラスタ」と呼ばれる小さな領域単位でストレージを管理します。ファイルは1つ以上のクラスタを占有し、そのクラスタの連なり(チェーン)をFATのエントリで表します。各クラスタに対応するエントリには次のクラスタ番号が記録され、ファイルの終端は特別な終了マーカーで示されます。

また、ディスクの先頭にはブートセクタやFAT本体、ルートディレクトリ(FAT12/16では固定領域)などが配置されます。FATは通常、誤損傷に備えて複数コピーが保持され、障害発生時に冗長コピーから復元を試みることができます。

利点

  • 実装が単純で理解しやすく、低リソースの環境でも動作する。
  • 広範な互換性:ほとんどのOSや多くの組み込み機器、家電が対応しているため、異なるデバイス間でのデータ交換に便利。
  • 構造が単純なため、ファイル復旧ツールでデータを比較的容易に復元できる場合がある。

欠点と制限

  • 断片化(フラグメンテーション)が起きやすく、長期間使用するとアクセス速度が低下することがある。
  • メタデータ(権限情報、タイムスタンプの詳細、透過圧縮など)やジャーナリング機能がなく、突然の電源断や障害に弱い。
  • FAT32などは個々のファイルサイズやボリュームサイズに制限がある(例えばFAT32では一般に単一ファイルは4GB未満)。より大きなファイルを扱うにはexFATや別のファイルシステムが必要。
  • 大量の小さなファイルを扱うとオーバーヘッドが大きくなり、容量効率が悪化する場合がある(クラスタサイズに依存)。

互換性と利用例

FATは以下のような用途で今も広く使われています。

  • USBフラッシュドライブやSDカードなどのリムーバブルメディア(多くのカメラ、ゲーム機、家電がFAT/FAT32/exFATをサポート)。
  • 組み込み機器やファームウェア、BIOS/UEFIブート領域(単純さと低コストのため)。
  • 異なるOS間でのファイル交換:Windows、macOS、Linux、各種組み込みOSで広くサポートされるため、互換性が重視される場面で有利。

容量・ファイルサイズの取り扱い(注意点)

FATの具体的な上限(ボリュームサイズ、ファイルサイズ、最大ファイル数など)は、FATの種類やクラスタサイズ、実装によって変わります。特に注意すべき点は次の通りです。

  • FAT32では一般的に1ファイルあたりの上限が4GB未満である(運用上の重要な制約)。
  • exFATは大きなファイルや大容量メディアに対応しており、現代の用途ではFAT32より優れるが、古い機器では対応していない可能性がある。
  • ボリュームを最大限活用するためにはクラスタサイズの選択が重要。クラスタが大きいと小さなファイルで容量を無駄にしやすく、クラスタが小さいと管理表(FAT)が大きくなる。

メンテナンスとデータ復旧

FATは構造が単純なため、ディスクユーティリティやデータ復旧ツールで比較的容易に解析・復旧できます。代表的な作業としては:

  • チェックディスク(不良クラスタの検出とマーク、FATの整合性チェック)
  • 断片化の解消(デフラグツール)
  • ファイル削除後の領域復元(FATチェーン情報やディレクトリエントリから復元を試行)

ただし、上書きされてしまった領域は復旧が難しいため、重要なデータは定期的にバックアップしておくことが重要です。

フォーマットと変換の注意点

  • ファイルシステムを変更するには通常フォーマットが必要で、既存のデータは消去されるため事前のバックアップが必須です。
  • 長所と互換性のバランスを考えて選ぶ:古いデバイスや互換性重視ならFAT32、4GBを超えるファイルや大容量メディア向けならexFAT、OS固有の機能や信頼性を求めるならNTFSやext4など他のファイルシステムを検討。
  • 一部のOSや機器ではexFATサポートが追加インストールやアップデートを要する場合があるため、使用前に対応状況を確認すること。

まとめ

FATは歴史が長く、シンプルで幅広い互換性を持つため、現在でもリムーバブルメディアや組み込み機器などで広く使われています。とはいえ、断片化やファイルサイズ制限、耐障害性の面では新しいファイルシステムに劣るため、用途に応じてFAT(FAT12/16/32)やexFAT、あるいはNTFSやext4など他のファイルシステムのどれを使うかを選択するのが現実的です。