BPB
読み:ビーピービー
外語:BPB: BIOS Parameter Block

 ブートセクターのうち、ブートストラップローダー領域に置かれているOSの管理情報テーブルのこと。
 MS-DOSMicrosoft WindowsFATファイルシステムNTFSではブートセクター(マスターブートレコード)の先頭にあるコードは3バイトのNEARジャンプ命令であり、これに8バイトのOEMラベル名(ディスクをフォーマットしたOSやバージョン等)が続き、これ以降、ジャンプ命令のジャンプ先のプログラムまでがBPBとなる。
目次

構造
 数値はx86形式のリトルエンディアンであり、以下にその詳細を示す。

共通部分
 最初の部分は、FAT12からNTFSまで、一通りで共通である。但しFATに依存した構造のため、NTFS等では無意味な情報も多く、それらはNTFSでは0が書かれている。
オフセットFAT12FAT16FAT32NTFS
0Bh論理セクターサイズ (1セクターあたりのバイト数。通常は0200h(512バイト/セクター))
0Ch1クラスター(アロケーションユニット)あたりのセクター数。2^nの範囲
0Dh 
0Eh予約セクター数 (セクター0からFAT1領域の直前までのセクター数)0
0Fh
10hFATの数(通常は2個)0
11hルートディレクトリエントリの最大数0
12h
13h全セクター数(Small Sector)0
14h
15hメディアディスクリプター0
16hFATのセクター数0
17h
18hトラックあたりのセクター数
19h
1Ahドライブのヘッド数
1Bh
1Ch不可視セクター数 (論理ドライブ先頭セクターまでのセクター数)
1Dh
1Eh
1Fh
20h全セクター数(Large Sector)0
21h
22h
23h
 オフセット13hと20hの使い分けは、互換性の確保にある。オフセット13hが元々の全セクター数だが、16ビットに納まる場合にのみ有効。さもなくば0が入り、実際の全セクターはオフセット20hに格納される。

メディアディスクリプター
 これは媒体の種類を表わすコードであるが、今となっては殆ど意味がない。
 固定ディスクはF8h、あとはフロッピーディスクの種類(容量・3.5インチか5.25インチか、片面両面、セクター数)が大まかに分かるが、現在ではもはや参照すらされない。
容量媒体の種類
F0h2.88Miバイト3.5インチ両面36セクター/トラック
F0h1.44Miバイト3.5インチ両面18セクター/トラック
F9h720Kiバイト3.5インチ両面9セクター/トラック
F9h1.2Miバイト5.25インチ両面15セクター/トラック
FDh360Kiバイト5.25インチ両面9セクター/トラック
FFh320Kiバイト5.25インチ両面8セクター/トラック
FCh180Kiバイト5.25インチ片面9セクター/トラック
FEh160Kiバイト5.25インチ片面8セクター/トラック
F8hハードディスク

FAT
 これ以降、FAT12/FAT16と、FAT32と、NTFSでそれぞれフォーマットが異なる。
 FAT32では途中にデータが挿入されており、その後にFAT12/FAT16の時と同じデータが置かれている。
オフセットFAT12FAT16FAT32
FAT12/16FAT32
 24h  各FATあたりのセクター数
25h
26h
27h
28h  メディアディスクリプションフラグ
29h
2Ah  ファイルシステムバージョン (0)
2Bh
2Ch  ルートディレクトリの開始クラスター (通常はFAT直後=2)
2Dh
2Eh
2Fh
30h  ファイルシステム情報(FSINFO)のセクター番号
31h
32h  ブートセクターのコピーのセクター番号
33h
34h  予約領域
35h
36h
37h
38h
39h
3Ah
3Bh
3Ch
3Dh
3Eh
3Fh
24h40h物理ドライブ番号 (ハードディスクの場合は80h)
25h41h予約領域
26h42hブートシグネチャ (29hなら、続く4バイトはボリューム シリアル番号)
27h43hボリューム シリアル番号
28h44h
29h45h
2Ah46h
2Bh47hボリューム ラベル
2Ch48h
2Dh49h
2Eh4Ah
2Fh4Bh
30h4Ch
31h4Dh
32h4Eh
33h4Fh
34h50h
35h51h
36h52hファイルシステムタイプ(FAT12、FAT16、FAT32のいずれか。末尾は空白(0x20)文字)
37h53h
38h54h
39h55h
3Ah56h
3Bh57h
3Ch58h
3Dh59h
 オフセット28hのメディアディスクリプションフラグは、ミラーリングの際に使われる。ビット7=1の時にbit3-0が有効となり、アクティブFAT番号が入る。

NTFS
 NTFSでは次の通り。
オフセット機能
24h常に0x80
25h常に0x00
26h常に0x80
27h常に0x00
28h総セクター数
29h
2Ah
2Bh
2Ch
2Dh
2Eh
2Fh
30hMFT開始クラスター番号
31h
32h
33h
34h
35h
36h
37h
38hMFTミラー開始クラスター番号
39h
3Ah
3Bh
3Ch
3Dh
3Eh
3Fh
40hレコードセグメントあたりのクラスター数
41h
42h
43h
44hインデックスバッファーのサイズ
45h
46h
47h
48hボリューム シリアル番号
49h
4Ah
4Bh
4Ch
4Dh
4Eh
4Fh
50hチェックサム(NTFSでは常に0)
51h
52h
53h
 オフセット48hは、フォーマット時に日付日時からランダムで番号を作る。
 オフセット50hはチェックサム。NTFSでは常に0。

再検索