← ホームへ戻る

FATファイルシステムの歴史と仕様FAT12からexFATまでの進化

🗓 2026年8月13日

コンピュータのデータ管理において、長きにわたり標準として利用されてきたのがFAT(File Allocation Table)です。1977年に登場して以来、Microsoftをはじめとする多くの企業によって開発・改良され、フロッピーディスクから現代のUSBメモリに至るまで、幅広いストレージデバイスで採用されてきました。

FATは、ディスク上のどこにデータが保存されているかを管理する「ファイル割当テーブル」という索引のような仕組みを持つファイルシステムです。本記事では、その初期の8ビット版から、現代的なexFATに至るまでの技術的な変遷と仕様について詳しく解説します。

Key Facts

  • 開発の起源: 1977年にStandalone Disk BASIC-80と共に導入された。
  • 主要なバリエーション: FAT12、FAT16、FAT32、そして現代的なexFATなどが存在する。
  • 最大ファイルサイズ: FAT16/FAT32では約4GB(4,294,967,295バイト)が上限となる。
  • 互換性の高さ: シンプルな構造のため、OSを問わず多くのデバイスで読み書きが可能。
  • 管理方式: ファイルの配置をリンクドリスト形式のテーブルで管理する。

FATの基本構造と動作原理

FATの最大の特徴は、その名の通り「ファイル割当テーブル」を用いてデータの位置を管理することです。ディレクトリ内容はテーブル形式で保持され、実際のファイルデータはクラスターと呼ばれる単位でディスクに配置されます。ファイルが複数のクラスターにまたがる場合、テーブル内のリンクを辿ることでデータの連続性を確保します。

また、不良セクタ(Bad blocks)の管理にはクラスタータグ付けが利用されており、物理的なディスクエラーを回避する仕組みが組み込まれています。

世代別の仕様と進化

初期のFAT(8-bitおよびFAT12)

1977年から1978年にかけて登場した8-bit FATは、最大ファイルサイズが8MBに制限されており、サブディレクトリの作成もできませんでした。その後、1980年に登場したFAT12は、QDOSやPC DOS 1.0などで採用され、最大32MBまでのボリュームをサポートしました。この時代、ファイル名は「8.3形式」(ファイル名8文字、拡張子3文字)という厳しい制約がありました。

FAT16の普及と拡張

1984年のPC DOS 3.0で導入されたFAT16は、管理可能な容量を大幅に拡大しました。初期のFAT16から、後にCompaqやIBMなどが関与した「Final FAT16(FAT16B)」へと進化し、最大ボリュームサイズは構成によって2GBから16GBまで拡張されました。これにより、ハードディスクの普及に伴う容量増加に対応することが可能となりました。

FAT32による大容量化

1996年にWindows 95 OSR2で導入されたFAT32は、アドレス指定を32ビットに拡張することで、理論上の最大ボリュームサイズを2TB(セクタ構成により最大16TB)まで引き上げました。また、LFN(Long File Name)の導入により、最大255文字のUCS-2形式のファイル名が利用可能になり、ユーザーの利便性が飛躍的に向上しました。

技術仕様の比較まとめ

各世代のFATにおける主要な制限と特徴を以下の表にまとめます。

FATバリエーション別仕様比較
仕様項目 FAT12 FAT16 (Final) FAT32
最大ボリュームサイズ 32 MB 2 GB 〜 16 GB 2 TB 〜 16 TB
最大ファイルサイズ ボリュームサイズに依存 約 4 GB 約 4 GB (FAT32+は256GB)
最大ファイル数 4,068 (8KBクラスター時) 65,460 (32KBクラスター時) 約 2.6億 (32KBクラスター時)
ファイル名形式 8.3形式 / LFN対応 8.3形式 / LFN対応 8.3形式 / LFN対応
導入時期 1980年頃 1984年〜1988年 1996年

高度な機能と制限事項

属性と権限管理

FATでは、ファイルに対して「読み取り専用」「隠しファイル」「システムファイル」「ボリュームラベル」「ディレクトリ」「アーカイブ」といった属性を付与できます。しかし、標準的なFATには高度なアクセス権限(パーミッション)機能が備わっておらず、DR-DOSやFlexOSなどの一部のOSでのみ、限定的な実行権限やパスワード設定がサポートされていました。

時間記録の精度

ファイルの更新日時は2秒単位で記録されます。作成日時はDOS 7.0以降でサポートされ、アクセス日時はACCDATEが有効な場合にのみ記録されます。日付の範囲は基本的に1980年1月1日から2099年12月31日までとなっています。

圧縮と暗号化

FAT12およびFAT16では、DoubleSpaceやDriveSpace、Stackerなどのツールを用いたボリューム単位の透過的圧縮が利用されていました。一方、FAT32では標準で透過的圧縮をサポートしていますが、透過的暗号化はDR-DOSなどの特定環境に限定されています。

Frequently Asked Questions

FAT32で4GB以上のファイルを保存できないのはなぜですか?

FAT32の設計上の仕様により、ファイルサイズを記録するフィールドが32ビットで管理されているため、最大値が 2^32 - 1 バイト(約4GB)に制限されているからです。

exFATとは何ですか?

exFAT(Extended FAT)は、FAT32の制限(特に4GBのファイルサイズ制限)を解消するために設計された、フラッシュメモリデバイス向けの現代的なファイルシステムです。

FATファイルシステムの最大のメリットは何ですか?

構造が非常にシンプルであるため、Windows、macOS、Linux、Android、さらにはデジタルカメラやゲーム機など、ほぼすべてのOSやデバイスで互換性がある点です。

LFN(ロングファイル名)とは何ですか?

従来の「8.3形式」という短いファイル名の制限を克服し、最大255文字までの長いファイル名を利用できるようにした拡張機能のことです。

FAT16とFAT32の主な違いは何ですか?

主に管理できるディスク容量(ボリュームサイズ)と、効率的なクラスター管理能力が異なります。FAT16は小容量向けであり、FAT32はより大容量のストレージを効率的に扱うために開発されました。

References

  1. Since , Microsoft Windows uses instead of for the . In UTF-16, a "character" (code point) may take up two code units.
  2. Sources differ in regard to the first NCR data entry terminal integrating support for the FAT file system. According to and Paul Andrews, "Gates", development was for a in late 1977, incorrectly classified as a floppy-based upgrade to the , which had been released in 1975-11 ( and ) and was built around an 8-bit processor, but was cassette-based only. However, the NCR Century 8200 was a 16-bit minicomputer, onto which several data entry terminals could be hooked up. even remembered a , a mainframe of the Criterion series, which can be ruled out as well. Announced 1977-10 for shipment in 1978-02, NCR also introduced the series including the 8080-based and models of small business systems featuring dual floppy disks. Other sources indicate that either the NCR 7200 series itself or the successor series were the actual target platform. (based on ) became available for the cassette-based in Q1/1977. The series was released in 1978, based on a similar 8080 hardware, but now including and models featuring 8-inch diskettes. , a precursor or adaptation of was available for them at least since 1979. One source claims that a special NCR 7200 model variant with two 8-inch diskettes and Microsoft BASIC existed and was imported by NCR Sydney into Australia the least.
  3. DR-DOS is able to boot off FAT12/FAT16 logical sectored media with up to 1024 bytes.
  4. This was a decision taken by the developer in question, who assumed his decision would be revised later, something that never happened.
  5. A driver named appeared before , in 3.11, but this older version was only used for implementing and did not support .