MENU

FAT16とは?仕組み・制限・使いどころまで徹底解説

古い機器や組込み機器、クラシックPCの世界では、いまもFAT16が現役です。SDカードやUSBメモリを古いデジタルカメラや計測器に挿しても認識しない――そんな時に鍵を握るのがFAT16の正しい理解とフォーマット手順。この記事では、FAT16の基本構造、容量制限、利点・欠点、実用的な使い方やフォーマット方法までを、やさしく丁寧にまとめました。はじめての方でも迷わないよう、図や表、具体例を交えて解説します。

目次

FAT16とは

FAT16は、FAT(File Allocation Table=ファイル割り当て表)系ファイルシステムの一種です。ディスク上の最小管理単位である「クラスタ」を番号で管理し、ファイルがどのクラスタに連なっているかを“表(テーブル)”で追跡します。シンプルでリソース消費が少なく、実装が容易なことから、パソコン黎明期から広く使われてきました。

今日では、より大容量に強いFAT32やexFAT、機能が豊富なNTFSやAPFSが主流ですが、FAT16は以下のような場面で“いまも必要”になることがあります。

  • 古いデジタルカメラ・プリンタ・カーオーディオ・産業機器など、対応ファイルシステムがFAT16までの機器
  • マイコンや組込みボード(SDカードをFAT16前提で実装したファームウェア)
  • レトロPC・DOS環境のブートディスク、BIOSブート用メディアの互換性確保

歴史的な位置づけと“いま使う理由”

FATの原型は1970〜80年代にさかのぼります。FAT12 → FAT16 → FAT32と段階的に拡張され、大容量化・利便性が進みました。FAT16は、固定ディスクの普及期に標準的に使われた世代のファイルシステムで、当時のOS・アプリ・機器の“共通語”のような存在でした。

いまFAT16が必要になる理由は、主にレガシー互換性です。最新OSや最新機器はFAT32・exFATを難なく扱えますが、古い機器はFAT16“しか”知らないことが珍しくありません。このため、MByte〜GB級の比較的小容量メディアを“確実に読ませる”目的で、FAT16が選ばれます。

基本構造をざっくり理解する

FAT16のボリューム(パーティション)は、概ね下の順番で並んでいます。

[ブートセクタ + 予約領域]
        ↓
[ FAT #1 ]  ← クラスタの連鎖(チェーン)を管理する表
        ↓
[ FAT #2 ]  ← 冗長コピー(通常は2部)
        ↓
[ ルートディレクトリ領域 ]  ← FAT12/16では“固定長・固定位置”
        ↓
[ データ領域 ]  ← 実データ(クラスタの集合)

ポイントは以下の通りです。

  • FATテーブル:各クラスタ番号に対して“次のクラスタ番号”や“終端”などの情報を記録。ファイルはこの連鎖で表現されます。
  • ルートディレクトリ:FAT12/16では位置とサイズが固定。エントリ数に上限がある(例:512エントリなど、フォーマット時に決まる)。
  • クラスタ番号:データ領域の先頭クラスタが番号「2」から始まるのが通例。
  • 冗長性:FATを二重化して、どちらかが壊れても修復できる可能性を高める、という設計が一般的です。

容量とクラスタサイズの関係(制限を知る)

FAT16の「肝」はクラスタ数の上限です。FAT16はクラスタ番号に16ビット幅を使いますが、予約値や特殊値を除く“有効クラスタ数”には上限(おおよそ65,000個強)があり、これが最大ボリューム容量を決めます。ボリューム容量は「クラスタ数 × クラスタサイズ」で決まるため、ボリュームを大きくしたい場合はクラスタサイズを大きくする必要があります。

一般的な傾向(“代表的なフォーマッタ”のルールの一例):

ボリュームサイズ(目安)想定クラスタサイズ(例)
16MB未満FAT12が選択されやすい
16MB〜128MB2KB
128MB〜256MB4KB
256MB〜512MB8KB
512MB〜1GB16KB
1GB〜2GB32KB

FAT16では“おおむね最大2GB前後”が実用的な上限として扱われてきました(512Bセクタ、32KBクラスタを想定)。実装によってはより大きなクラスタやセクタサイズで数GB級まで拡張されることもありますが、互換性が落ちるケースがあるため、古い機器との確実な互換を重視するなら2GB以下を目安にするのが安全です。

最大ファイルサイズについて

FAT16のディレクトリエントリはファイルサイズを32ビット値で持ちます。ただし、実際に保存できる最大ファイルサイズはボリューム容量やクラスタ数の上限に縛られます。結果として、FAT16で扱えるファイルサイズは現実的には2GB前後までと考えるのが無難です(実装差や互換性制限により前後します)。

クラスタが大きいと“無駄”が増える

FATは“1つのファイルに最低1クラスタ”を割り当てます。たとえば32KBクラスタのFAT16で1KBのファイルを保存しても、32KBぶんが消費され、残り31KBは使われない(スラック領域)という非効率が生じます。小さなファイルを大量に扱う用途では、容量効率が悪化しやすい点に注意してください。

ファイル名:8.3形式とロングファイル名(LFN)

FATの伝統的なファイル名は8.3形式(最大8文字+拡張子3文字)。後に、Windows 95系でVFAT拡張が導入され、**ロングファイル名(LFN)**が使えるようになりました。LFNは特殊な“追加エントリ(属性0x0F)”を使って長い名前を保存します。

  • 互換性に敏感な機器(古いDOSやファームウェア)は8.3形式のみを理解している場合があります。
  • LFNを含むディレクトリは、短い名前(8.3)と長い名前が併存しているように見えます。古い環境からは短い名前だけが見えます。
  • LFNはディレクトリエントリを複数消費するため、ルートディレクトリの上限エントリ数に早く達しやすい副作用があります。

互換性:Windows / macOS / Linux / 機器

  • Windows:読み書きは広く可能。フォーマット時は、容量やツールによってFAT12/16/32の選択が自動化されることがあります。
  • macOS:ディスクユーティリティやdiskutilで“MS-DOS(FAT)”として扱われます。容量によってFAT16またはFAT32が選ばれる挙動です。
  • LinuxvfatドライバでFAT12/16/32を扱います。mkfs.fatmkfs.vfat)でFAT16を明示的に作成可能。
  • 機器:古いカメラやオーディオ機器、産業機器などは、FAT16でないと認識しないことがあります。仕様書の“対応ファイルシステム”欄を確認しましょう。

メリットとデメリット

メリット

  • 実装がシンプルで軽量、低スペック環境でも動作しやすい
  • 古い機器・環境との高い互換性
  • 修復・回復ツールが数多く存在し、知見が豊富

デメリット

  • 容量制限(実用上は2GB前後が目安)
  • 大きなクラスタによる容量効率の悪化(スラック)
  • ジャーナリングなしで不意の電源断に弱い
  • 権限管理・暗号化・圧縮などモダンな機能がない

代表的な用途

  • レガシー機器のメモリカード:2GB以下のSD/CFカードをFAT16で初期化して渡す
  • 組込み・マイコン:FAT16前提のライブラリでログ保存やファーム更新
  • ブートメディア:古いBIOS環境での起動ディスク作成
  • データ受け渡し:“とにかく古い機器でも読める”形式としての最後の切り札

フォーマット手順(Windows / macOS / Linux)

以下は一般的な例です。環境やバージョンによって表示・挙動が異なることがあります。重要データは必ずバックアップし、誤ったドライブを消去しないよう十分注意してください。

Windowsの例(コマンド)

  1. USBメモリやSDカードを接続し、ドライブレター(例:E:)を確認。
  2. 管理者権限のコマンドプロンプトを開く。
  3. FAT16相当を狙う場合、小容量(2GB以下)メディアで次のように実行します。 format E: /FS:FAT /A:32K /V:MYDISK /Q
    • /FS:FAT は容量に応じてFAT12/16が選ばれます。
    • /A:32K はクラスタサイズの例。2GB近辺では32KBが一般的(互換性重視)。
    • GUIのフォーマット機能でも、小容量メディアなら“FAT”が表示されます。

補足:Windowsは容量や媒体に応じてFAT32やexFATを提案する場合があります。古い機器向けは容量を2GB以下にし、「FAT」を選んでください。

macOSの例(ターミナル)

  1. diskutil listで対象デバイス(例:/dev/disk3)を確認。
  2. MBR + MS-DOS(FAT)で消去します(小容量ならFAT16になります)。 diskutil eraseDisk MS-DOS MYDISK MBRFormat /dev/disk3
    • 容量が大きいとFAT32になることがあります。古い機器向けなら2GB以下の媒体を使うと安全です。

Linuxの例

  1. デバイス(例:/dev/sdb1)を確認し、アンマウント。
  2. 明示的にFAT16を作る: sudo mkfs.fat -F 16 -n MYDISK /dev/sdb1
  3. マウント例: sudo mount -t vfat /dev/sdb1 /mnt

重要:誤ったデバイス指定は致命的です。lsblkfdisk -lで入念に確認してください。

ルートディレクトリの上限とLFNの注意点

FAT12/16ではルートディレクトリのサイズが固定です。たとえば512エントリに設定されたボリュームでは、最大512エントリまで(サブディレクトリはデータ領域側なので制限が緩い)。LFNは1つの実ファイル名に複数エントリを消費するため、実際に置けるファイル数は512未満になります。大量のファイルをルート直下に置かず、適度にサブフォルダを切るのが実践的です。

BPB(ブートパラメータブロック)をかんたんに

ブートセクタ先頭付近にはBPBと呼ばれる領域があり、FATを運用するための基本情報が入っています。代表的なフィールドは次のとおりです。

  • Bytes Per Sector(1セクタのバイト数:例 512)
  • Sectors Per Cluster(1クラスタあたりのセクタ数:例 64セクタ=32KB)
  • Reserved Sectors(予約セクタ数:通常1)
  • Number of FATs(FATのコピー数:通常2)
  • Root Entry Count(ルートディレクトリのエントリ上限)
  • Total Sectors(ボリューム総セクタ数)
  • Media Descriptor(媒体種別の目印)
  • Sectors Per FAT(1つのFATが占めるセクタ数)
  • Sectors Per Track / Number of Heads(CHS用の幾何情報)
  • Hidden Sectors / Large Total Sectors(全体セクタの拡張)

この情報に基づき、OSはFATテーブルとデータ領域を正しく解釈します。

FATエントリの実際

FAT16の各エントリは16ビット幅。代表的な値の意味は次のとおりです(“概念図”として理解してください)。

  • 0x0000:空きクラスタ
  • 0x0002〜:有効クラスタ(クラスタチェーン)
  • 0xFFF7:不良クラスタ(BAD)
  • 0xFFF80xFFFF:終端(EOC=End Of Chain)

ファイルを読むときは、先頭クラスタからFATの値を辿っていき、終端(EOC)に達するまでデータを連結していきます。

セキュリティ・信頼性の観点

  • 権限管理なし:ユーザー/グループ/ACLといった概念がなく、現代的なセキュリティ要件には向きません。
  • ジャーナリングなし:突然の電源断や抜去に弱く、FATやディレクトリが壊れるとファイルを失う恐れがあります。
  • 復旧の基本:誤削除では、ディレクトリエントリの先頭文字が特殊値に置き換わり、クラスタチェーンが残っている間は復元ツールで戻せる可能性があります。新規書き込みで上書きされると回復は難しくなります。
  • 運用のコツ:安全な取り外し(アンマウント/取り出し)を徹底し、定期的にバックアップ。問題が出たらchkdsk(Windows)やfsck.vfat(Linux)でチェック・修復を試みます。

FAT16とFAT32・exFAT・NTFSの比較(要点)

項目FAT16FAT32exFATNTFS
実用的な最大ボリューム2GB前後(互換性重視)数十GB〜TB級(一般用途)大容量メディア向けに最適化非常に大容量・システム向け
実用的な最大ファイルサイズおおむね2GB前後約4GB弱事実上非常に大きい事実上非常に大きい
機能単純・軽量比較的単純大容量・高速化・タイムスタンプ強化ジャーナリング・権限・圧縮等
互換性古い機器で高い広く一般的近年のOS・機器で広いWindows本流、他OSも対応有
用途レガシー機器/組込み汎用フラッシュ、古〜現行大容量SD/USB/外付けシステム・内蔵ドライブ

メディアを“どこで使うか”を最優先に。古い機器が相手ならFAT16、汎用ならFAT32、4GB超のファイルが前提ならexFAT/NTFS…という選び方が実務的です。

よくある落とし穴と対処

Q. 4GBのUSBメモリをFAT16でフォーマットしたい
A. 一部のツールでは可能な場合もありますが、互換性に問題が出やすいため推奨されません。古い機器向けは2GB以下のメディアを使い、確実な認識を優先しましょう。

Q. ルート直下にファイルが置けなくなった
A. ルートディレクトリのエントリ上限に達している可能性があります。サブフォルダを作る、LFNを使いすぎない、といった運用で回避します。

Q. LFNで長いファイル名が機器で文字化けする
A. 機器側がLFN非対応(8.3のみ)か、文字コード解釈に差異があります。8.3形式の短い名前にそろえると改善することがあります。

Q. フォーマットしても機器が認識しない
A. 機器が要求するのはFAT16+MBR+特定のクラスタサイズ…と細かい条件があることも。2GB以下のメディアを使い、32KBクラスタを選ぶ、MBRパーティションにする、など仕様に寄せて再フォーマットしてみてください。

パーティション種類(MBR)の豆知識

MBR方式のパーティションIDは、FATの種類やLBA対応を示す目的でいくつかの値が使われます。代表例(一般的な目安):

パーティションID意味(代表例)
0x01FAT12
0x04FAT16(小容量)
0x06FAT16(大容量)
0x0EFAT16(LBA)
0x0B / 0x0CFAT32(CHS / LBA)

厳密な割り当ては環境やツールにより異なることがありますが、古い機器で“どのIDで作るか”が効く場合もあるため、覚えておくと役立ちます。

実務レシピ:古い機器に確実に読ませたい時のコツ

  1. メディア選び:まずは2GB以下のSD/USBを用意。
  2. パーティション方式MBRを選択(GPTは古い機器で読めないことが多い)。
  3. ファイルシステム:**FAT(FAT16)**を選ぶ。
  4. クラスタサイズ32KBを第一候補(1〜2GB帯での互換度が高い)。
  5. フォルダ構成:ルート直下に大量に置かない。サブフォルダに整理。
  6. ファイル名8.3形式を意識(特に極端に古い機器)。
  7. 取り外し:必ず安全な取り出し。電源断に弱いことを忘れない。

この7点を押さえるだけで、認識失敗の確率はぐっと下がります。

トラブルシューティング簡易チェックリスト

  • メディア容量は2GB以下か?
  • MBR+1つのプライマリパーティションか?
  • フォーマットは**FAT(FAT16)**か?
  • 32KBクラスタで作成したか?
  • ルート直下のファイル数・エントリ数が多すぎないか?(LFN多用で枯渇しがち)
  • 安全な取り外しを守っているか?(突然抜去は厳禁)
  • 機器のファームウェア更新や“対応メディア一覧”の確認をしたか?

まとめ:FAT16は「古い機器を確実に動かす」ための解

FAT16は、容量・機能の面では時代遅れになりつつありますが、互換性という唯一無二の強みがあります。とくに“古い機器に確実に読ませたい”という実務要件では、2GB以下・MBR・FAT16・32KBクラスタという基本セットがいまも強力な解決策です。用途に合わせてFAT32やexFAT、NTFSと使い分けつつ、FAT16を“最後の互換カード”として手元に残しておくと、現場で困りにくくなります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ブログ運営者。日常の気づきから、言葉の意味、仕組みやトレンドまで「気になったことをわかりやすく」まとめています。調べて納得するのが好き。役立つ情報を、肩の力を抜いて発信中。

コメント

コメントする

目次