File Allocation Table
サブディレクトリのサブディレクトリ(例:\subdir\subdir)も同様である。
ともかく、ディレクトリ・エントリに記録された先頭クラスタ番号と、その番号が指し示すFAT上のエントリを組み合わせることにより、1つのファイルが複数のクラスタにまたがって存在する状況を記録している。
なお、FAT上のエントリには、続きのクラスタ番号の他に、一部予約番号も記録される。それは以下の通りである(以下の数値はFAT16の場合)。
0000h: 未使用クラスタである
0001h: (予約)
FFF7h: 不良クラスタとしてマークされている
FFF8h - FFFFh: 最後のクラスタである
なお、FATの多重化数は2である。ただし、通常は、多重化FAT間の不整合が、自動で検出されることはなく、手動で検査・修復プログラムを実行する必要がある。
FAT32は、Windows 95 OSR2で登場し、32ビット化されたFATである。32ビットのクラスタ識別子を利用し管理するが、上位4ビット分は予約としており、28ビットでの管理となる。クラスタサイズは4KiBから32KiBまで使用できる。ボリュームサイズは理論上8TiBまでとなる。しかし、ボリュームの総セクタ数を32ビットで管理(最大4,294,967,295)しているため、セクタサイズが512バイトの場合にボリュームサイズは2TiBに制限される。
クラスタは28ビットのため、論理上268,435,444個のクラスタを扱えるはずであるが、スキャンディスクの実装上の問題でWindows 9x系上では事実上4,177,920個のクラスタしか利用できない(32KiBクラスタ時、およそ124.55GiB)。なお、Windows 9x系に付属するパーティション作成ツールであるFDISKでは64GB以上のFAT32パーティションを作成できず、これに対応させる修正版が公開されている。
Windows NT系ではWindows 2000から利用可能となったが、新規のフォーマット作業では意図的に32GiBまでの制限を設けている。そのため、32GiBを超えるサイズのボリュームを作成するには、サードパーティー製のフォーマットツールを利用する必要がある。
FAT16は、16ビットのクラスタ識別子を利用したFATで、総クラスタ数は最大65,524個である。クラスタサイズは512バイトから32KiB(NT系では64KiB)まで使用できる。ボリュームサイズは2GiB(NT系では4GiB)までとなる。当初はボリュームの総セクタ数がFAT12と同様に16ビットで管理されていたため、セクタサイズが512バイトの場合、ボリュームサイズは32MiBまでであったが、Compaq DOS 3.31で総セクタ数を32ビットで管理するように拡張され、この制限は取り払われた。
MS-DOSは4.0以降で32ビットの総セクタ数に対応したが、日本国内ではPC-98用のMS-DOS 4.0は発売されず、32ビットセクタへの対応はMS-DOS 5.0まで待たされることとなった。代わりに、PC-98用のMS-DOS 3.3では、512バイトの物理セクタを4個まとめて2KiBの論理セクタとして扱うことで、128MiBまでのボリュームサイズに対応していた。また、セイコーエプソンがPC-286シリーズ用のMS-DOS4.01を発売しており、これをPC-9800シリーズで使うこともできた。