パソコン実習室
FD の構造と FAT12 - 物理構造と論理構造
≪ previous next ≫

U.ブート セクターの構成

 ディスク先頭のセクターはブート セクター (Boot Sector) と呼ばれ、起動時に BIOS から真っ先に参照される。
ブート セクターはディスクの情報と OS 起動に関わる IPL で構成される。

U.1.ブート セクターのレイアウト

 ブート セクターの 512 バイトは次のようにレイアウトされる。
Offsetバイト数内容
0x0000 - 0x00023IPL へ jmp するコード (一般的には EB 3E 90 )
0x0003 - 0x000A8OEM name string (メーカー名)
0x000B - 0x002325BPB ( BIOS Parameter Block )
0x0024 - 0x003D26Extended BPB
0x003E - 0x01FD448IPL ( Initial Program Loader )
0x01FE - 0x01FF2Boot Signature ( Boot Sector が正常であることの署名 : 0x55AA )
※ この他に "EB 3C 90", あるいは "EB 48 90" というコードも見られる。
   2バイト目のコード (3C, 48) がジャンプ先のアドレスを指しているので、IPL のレイアウトもそのアドレスから始まる。


U.2.BPB (BIOS Parameter Block) の詳細

 BPB (BIOS Parameter Block) にはディスクの情報が (フォーマット時に) 記録されている。
これらは BIOS や OS に参照される。
Offsetセクター先頭からの位置バイト数内容
0x00 - 0x010x000B - 0x000C2セクター当たりのバイト数 ( 通常 512 )
0x020x000D1クラスター当たりのセクター数 ( 1.44M-FDの場合、 1 )
0x03 - 0x040x000E - 0x000F2起動プログラムが使用するセクター数 ( 通常 1 )
0x050x00101FAT の数 ( 通常 2 )
0x06 - 0x070x0011 - 0x00122ルート ディレクトリのエントリー数 ( 通常 224 )
0x08 - 0x090x0013 - 0x00142セクター数 ( 通常 2880 )
0x0A0x00151メディア タイプ
F0 : 3.5 inch FD (1.44MB, 2.88MB)、  F8 : Hard Disk
0x0B - 0x0C0x0016 - 0x00172FAT 当たりのセクター数 ( 通常 9 )
0x0D - 0x0E0x0018 - 0x00192トラック当たりのセクター数 ( 通常 18 )
0x0F - 0x100x001A - 0x001B2磁気ヘッド数 ( 通常 2 )
0x11 - 0x140x001C - 0x001F4隠しセクター数
0x15 - 0x180x0020 - 0x00234セクター総数 (サイズの大きいディスク用)


U.3.Extended BPB の詳細

Extended BPB には BPB の拡張情報が記録される。
Offsetセクター先頭からの位置バイト数内容
0x000x00241物理ドライブ番号
0x010x00251予約
0x020x00261Signature ( 0x29 の時、以下 3 つの情報が有効)
0x03 - 0x060x0027 - 0x002A4シリアル番号
生成時刻などからユニークな ID が振られる
0x07 - 0x110x002B - 0x003511ボリューム名
0x12 - 0x190x0036 - 0x003D8FAT タイプ




≪ previous [[ FD の構造と FAT12 ]] next ≫