MBR 【Master Boot Record】 マスターブートレコード
概要
MBR(Master Boot Record)とは、ハードディスクなどのストレージ(外部記憶装置)の最も先頭にある、起動に必要なプログラムや情報を記録した小さな領域。コンピュータの起動時に最初に読み込まれる。かつて主流だったBIOS(レガシーBIOS)によって制御する方式のPC/AT互換機(いわゆるWindowsパソコンなど)で用いられる。記録メディア内部を同容量ごとに分割した管理単位(セクタ)のうち最も先頭にある特殊な領域で、いずれのパーティションにも属さない。
サイズは512バイトで、先頭から446バイトはOS読み込み用の小さなプログラム(ブートローダ/ブートストラップローダ)、続く64バイトはメディア内の各パーティションについての情報を記したパーティションテーブル(16バイト×4パーティション分)、末尾の2バイトは「ブートシグネチャ」と呼ばれるMBRの有効性を示す決まった値のデータ(16進数でAA55)が記録される。
MBRに記録されたブートローダは「1次ブートローダ」とも呼ばれ、起動後に最初に実行されるBIOS内のプログラムによってメモリ上に読み込まれて実行される。パーティションテーブルの内容を読み込んで起動すべきOSが記録されたものを選択し、その先頭部分からOSを起動するための「2次ブートローダ」を読み込んで実行する。
パーティションテーブルの内容
パーティションテーブル領域には最大で4つまでのパーティションの情報を記録することができ、テーブルの先頭から順番に16バイトづつの領域が割り当てられている。各パーティションの情報は、ブートフラグ(OSなど起動可能なプログラムが記録されているか否かを表す値)、開始位置(セクタ)、識別子(種類を表す値)、終了位置、先頭位置のLBA方式での値、セクタ数で構成される。
パーティション識別子は内部のファイルシステムなどを表しており、例えば「0」は空、「4」はFAT16、「7」はNTFSやexFAT、「11」(16進数0B)はFAT32、「12」(16進数0C)はLBA対応FAT32、「130」(16進数82)はLinuxのスワップパーティション、「131」(16進数83)はLinux系ファイルシステムなどとなっている。
GPTディスク
BIOSに代えてEFI/UEFIによって制御するコンピュータでは、従来のMBRで管理するストレージに加えて「GPT」(GUIDパーティションテーブル)によるパーティション管理が行えるようになった。と言っても、GPTの先頭512バイトは互換性確保のため従来のMBRと同じ「保護MBR」となっている。
保護MBRの内容は、パーティションテーブルが全体で1パーティション、パーティション識別子がGPT拡張であることを表す「238」(16進数EE)などとなっている。MBRの後続の領域(第2セクタ目以降)にGPTによる本来のパーティション情報が記録されている。