マスターブートレコード
読み:マスターブートレコード
外語:MBR: Master Boot Record
ディスクドライブ
からの起動時、まず最初に読まれるディスクの領域。略してMBR。
目次
概要
特徴
構造
プログラム領域
パーティションテーブル
ブートシグニチャ
起動時
概要
ブートセクター
とも呼ばれる、ディスクの物理的な先頭セクター(つまり、
シリンダー
0・
ヘッド
0・
セクター
1)にある。
PC/AT互換機
の場合、標準的には1セクターは512バイトであるため、この512バイトに情報は詰め込まれている。
コンピューターの種類や、OS、
ファイルシステム
等により、その構造は異なっている。
特徴
構造
領域は大きく三つに分けられている。
プログラム領域
ブートストラップローダー
BPB
(BIOS Parameter Block)
パーティションテーブル
ブートシグニチャ
プログラム領域
オフセット000〜445まではプログラム領域であり、
オペレーティングシステム
(OS)を読み込み起動させるためのプログラム(
ブートストラップローダー
)などが書き込まれている。
使用するOSによって内容を書き換えられるように、このような仕組みになっている。
但し、
MS-DOS
や
Microsoft Windows
では、プログラムだけでなく、
BPB
(BIOS Parameter Block)と呼ばれるOS管理情報テーブルが格納されている。
同一ディスク内にWindowsと
Linux
等を
インストール
し、Linuxをアンインストールした場合、MBRがそのままだとWindowsが正常に稼働しない。このような場合はMS-DOSか
起動ディスク
で起動し、"FDISK /MBR" というコマンドを実行することで、Windowsの標準のMBRになる。
パーティションテーブル
一つの
ボリューム
は、複数のパーティションに区切って利用することができる。
オフセット446〜509までがパーティションテーブルで、一つのテーブルが16バイトで計4エントリある。
つまり、一台のディスクは(標準的には)最大4
パーティション
に区切ることが可能ということである。
なお、このパーティションテーブルは32ビットであり、大容量ドライブに対応することができない。このため、64ビット化されたOSから順次、
GUIDパーティションテーブル
に移行している。
ブートシグニチャ
末端にあるブートシグニチャはオフセット510〜511で計2バイト。
これはMBRが正当なものであることを示すためのデータが書かれていて、これは常に0xAA55である。
起動時
IBM PC/AT互換機等は、まずBIOSの自己診断機能
POST
を実施し、周辺機器を認識した後に、ディスク(フロッピーディスクまたはハードディスク)のMBRを読み込んでOSの起動処理を開始する。
PC DOS
は、元々メモリー32Kiバイト以上を想定して設計されていた。MBRは、その最上位アドレス0x7fffから1024バイト分を引いた0x7c00からに読み込まれ、実行される。
結果として、0x7c000から0x7dffの512バイトにMBRが置かれ、0x7e00から0x7fffまでの512バイトはブート時に使用されるデータ領域およびスタックに使われた。
再検索