FAT16ファイルシステムのFATテーブル

FATテーブルの位置

FAT16のファイルシステムの内容から、
FATテーブルの先頭位置は 8セクタ FAT16のファイルシステム情報
FATテーブルの個数は 2個 FAT16のファイルシステム情報
FATテーブルのセクタ数は 248セクタ FAT16のファイルシステム情報
からFAT16のFATテーブルは、セクタ 8 と セクタ 256 に同じものがあります

FATテーブルの内容

FATテーブルの内容は 8 セクタと 256セクタに同じものがありますが先頭部分の
      000 F8 FF FF FF, 03 00 FF FF , FF FF 06 00, FF FF 00 00
      010 00 00 00 00, 00 00 00 00 , 00 00 00 00, 00 00 00 00 
について説明します

FAT16の場合には 実際のFATテーブルの値は
      000 F8 FF FF FF, 03 00 FF FF , FF FF 06 00, FF FF 00 00 
ですから
      0x0 0xfff8
      0x1 0xffff
      0x2 0x0003
      0x3 0xffff
      0x4 0xffff
      0x5 0x0006
      0x6 0xffff
      0x7 0x0000 
となります。

FATテーブルの値

FATテーブルの先頭部分の 0 (0xfff8) と 1 (0xffff) は初期化時にセットされ、変化しません

FATテーブルの値が
      0x0000 の場合は未使用領域
      0xfff8 以上の場合はデータ領域の終了
      0xfff7 の場合は異常領域
      0x0002 以上で 0xfff6 以下の場合は次に続くデータ領域のクラスタ番号を示します

ルートディレクトリの格納場所(セクタ)

ルートディレクトリの位置は 504セクタですが、
この位置は、FAT16のファイルシステムの内容から、

1セクタのバイト数 (512バイト) FAT16のファイルシステム情報
FATテーブルの先頭位置は 8セクタ FAT16のファイルシステム情報
FATテーブルの個数は 2個 FAT16のファイルシステム情報
FATテーブルのセクタ数は 248セクタ FAT16のファイルシステム情報
ルートディレクトリに記載出来る最大数(512個) FAT16のファイルシステム情報
から
   格納される位置は 8 + (248 * 2) = 504 セクタとなります

   また ルートディレクトリとして使用する領域は、512個ですから
   1個当たり 32バイト使用しますので
	 512 * 32 = 16384 バイト必要となります、
   1セクタのバイト数は 512 バイトですから
	 16384 / 512 = 32 セクタ使用します
32 セクタ使用しますので、ルートディレクトリの領域は 504 セクタ から 535 セクタになります

FATテーブルが示すデータの格納場所のセクタ

ルートディレクトリの次の位置は 536セクタですから、このセクタが

クラスタ 番号 2の場所になります。
クラスタ 番号 3以上については、1クラスタのセクタ数が加算されます

1クラスタのセクタ数は 1セクタ FAT16のファイルシステム情報
の内容からから 1セクタずつ加算されます

このページはリンクフリーですが、リンクの際には連絡を頂けると有難いです
リンクの際の連絡はここからお願いします(fatlink@pjc.co.jp)

Mail: freeinfo@pjc.co.jp