MBR
Master Boot Record (マスターブートレコード)の略
ディスクを複数のパーティションに分けるための情報と各パーティションのPBR( Partition Boot Record, パーティションブートレコード)のIPLを起動するためのIPL(ブートストラップローダ)が含まれる。 「MBR方式」として、ストレージのパーティション管理方式の名称としても使われる。
MBR の構造
table:mbr
位置 サイズ 内容
Hex Dec 大項目 小項目
0x0000 0 446 IPL
0x01BE 446 48 16 パーティションテーブル パーティション1
0x01CE 462 16 パーティション2
0x01DE 478 16 パーティション3
0x01EE 494 16 パーティション4
0x01FE 510 2 1 シグニチャ 0x55
0x01FF 511 1 0xAA
パーティションのブート用のセクタがPBR(Partition Boot Record, パーティションブートレコード)、またはVBR(Volume Boot Record, ボリュームブートレコード)と呼ばれる。
パーティションテーブルのエントリの構造
table:partition_table_entry
オフセット サイズ 内容
Hex Dec
0x00 0 1 ブートフラグ
0x01 1 3 最初のセクタ(CHS方式)
0x04 4 1 パーティション識別子
0x05 5 3 最後のセクタ(CHS方式)
0x08 8 4 最初のセクタ(LBA方式)
0x0C 12 4 全セクタ数(LBA方式)
LBA の値はリトルエンディアンで入っている。
1セクタは512バイト。
LBA方式では 32bit しかないので、4Giセクタ=2TiB しか使えない。これがMBR方式の限界。
2TiB以上のパーティションを使うには、GPT方式にするしかない。 CHS方式のビット構成
table:chs
0x00 7~0 ヘッド
0x01 7~6 シリンダ(9~8bit)
5~0 セクタ
0x02 7~0 シリンダ(7~0bit)
CHS 方式では8GBまでしか使えない。
CHS 方式の問題
ドライブから報告されるシリンダ当たりヘッド数、トラック当たりセクタ数が計算に必要。つまり、CHS に書かれている値だけでは LBA のセクタ番号を求めることができない。
CHS 方式では、シリンダと呼んでいるが、実際にはトラック。(混乱の元)
実際のHDDと1対1対応していない。
昔はしていたが、構造が変わっていったために不一致になった。
1トラック当たりのセクタ数が外周と内周とで異なるようになった。
IDE の仕様による
参考