トップQs
タイムライン
チャット
視点

マスターブートレコード

ウィキペディアから

Remove ads

マスターブートレコード: Master Boot Record、略称MBR)とは、PC/AT互換機において、単数または複数のパーティションに分けられたディスク[注釈 1]のパーティション外に存在する先頭セクタであり、ブートセクタの一種である。コンピュータの起動に必要なプログラムや情報を記録した小さな領域であり、起動時の処理過程(ブートプロセス)で最初に読み込まれる[1]

PC/AT互換機では、BIOSはセクタ長が512バイトで先頭1セクタのみのロードしか保証しないため、MBRのサイズは512バイトである。アドレス0(先頭)- 445(計446バイト)にブートストラップローダ、うちアドレス440 - 444(計4バイト)にディスクMBRシグネチャ (disk MBR signature)、アドレス446 - 509(計64バイト)にパーティションテーブル (partition table)、アドレス510 - 511(計2バイト)にブートシグネチャ (boot signature) がある[2][注釈 2]

さらに見る アドレス, 内容 ...
Remove ads

ブートストラップローダ

ブートストラップローダは、マスターブートローダ、マスターブートコード、イニシャルプログラムローダ (IPL) などとも呼ばれる。この領域には、IBM PCでは、

  1. 自身をメモリ上へコピーし起動したのち、ブート可能フラグが立っているパーティション(これを「アクティブなパーティション」と称する)を探し、
  2. そのパーティションブートセクタに含まれるブートストラップローダをロードし、それへ制御を渡す

という単純な起動プログラムが入っており、このプログラムコードはIBMマイクロソフトによって開発されたものであるが、どのオペレーティングシステム (OS) もデファクトスタンダードとして利用していた。

しかし、この方式では、違うパーティションに切り替えて起動する際には、OSをシャットダウンする前に、かならずそれぞれのOS内でユーティリティプログラムを実行してアクティブなパーティションを再設定しなければならず、不便であった。このため、起動時にメニュー方式で選択できる各種のプログラムがよく使われるようになった。

ブートストラップローダの動作詳細

以下はブートシーケンスのうちブートストラップローダが担う部分である。

  1. パーティションテーブルを4つのテーブルエントリーの先頭から検査し、起動フラグが立っている基本領域(アクティブなパーティション)がないか探す。
  2. 起動フラグが立っている基本領域が見つかったらその領域の先頭位置をパーティションテーブルから取得する。
  3. BIOSにその位置を示してメモリにロードしてもらい、IPLに制御を渡す。
Remove ads

パーティションテーブル

要約
視点

パーティションに関する情報を記録している。4つのエントリがあり1つあたり16バイトである。各エントリにはそのパーティションの位置情報、種類、起動フラグが記録されている。

さらに見る オフセット, 内容 ...

パーティション識別子

さらに見る 格納値(16進値), ファイルシステム名 ...
Remove ads

ブートシグネチャ

ここには0xAA55という値がマジックナンバーとして必ず入っている(リトルエンディアンなのでアドレス順と格納される値に注意)。これはこのMBRが有効であるという署名で、これがない場合はこのMBRは無効として扱われる。

ブートレコードの復元

Windows NTWindows 2000Windows XPの場合
回復コンソールfixmbrを実行すればよい。または、WindowsのCD-ROMで起動しRキーで修復すればよい。
MS-DOSWindows 95Windows 98/98SEWindows Meの場合
FDから起動し、fdisk /mbrを実行すればよい。

脚注

関連項目

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads