本文へ移動

マスターブートレコード(MBR)

マスターブートレコードは、パーティション分割された記憶装置の先頭セクターで、ブートストラップコード、パーティションテーブル、署名を含む。定義上の制限があり、現代のシステムではGPT/UEFIが後継となっている。

マスターブートレコード(MBR)は、ハードディスクやリムーバブルドライブなど、パーティション分割された大容量記憶装置の先頭に置かれる、小さいながらも重要なデータ構造である。装置の最初の512バイトを占め、非常に小さなブートローダー(ブートストラップコード)、プライマリパーティションを記述するパーティションテーブル、2バイトのブート署名という3つの主要要素を含む。MBRにより、従来のBIOSファームウェアはブートストラップコードを読み込んで実行し、オペレーティングシステムを起動できる。

画像ギャラリー

2 画像

構造と特性

一般的なMBRのレイアウトでは、512バイトは、より複雑な第2段階ローダーを起動できるブートコード領域(通常446バイト)、プライマリパーティションを記述する16バイトのエントリー4個から成るパーティションテーブル、および有効なブートセクターを示す2バイトのブート署名(0x55AA)に分けられる。パーティションエントリーでは、歴史的にはCHSアドレッシングが使用され、後にセクターオフセットにはLBAが用いられた。パーティションテーブルはプライマリエントリー4個に制限され、MBRではセクター数に32ビットのフィールドを使用するため、MBRのみに依存するシステムでは、パーティション分割と最大ディスク容量に実用上の制限が課される。

ブートプロセスにおける役割

BIOSベースのシステムでは、ファームウェアがMBRをメモリーに読み込み、そのブートコードへ制御を移す。このコードは通常、アクティブなパーティションを見つけ、そのパーティションのボリュームブートレコードを読み込み、インストール済みのオペレーティングシステムローダー(たとえば従来のDOS/WindowsローダーやGRUB)へ制御を渡す。UEFIとGUIDパーティションテーブル(GPT)を使用する現代のプラットフォームでは、古いツールがディスクを誤って解釈することを防ぐため、MBRはしばしば置き換えられるか、保護MBRによって補完される。

歴史、制限および現代的な代替方式

MBRは初期のパーソナルコンピューティング以来、標準的なパーティション分割方式であった。しかし、主に4エントリーのパーティションテーブルと32ビットのセクター値に結び付くアドレッシング上の制約という限界から、GPTが開発され採用されるようになった。GPTははるかに多くのパーティションとより大容量のディスクをサポートし、UEFIファームウェアとともに一般的に使用される。後方互換性のため、ディスクがGPTを使用していることを示す保護MBRが同じ位置に存在する場合がある。

リスク、障害および復旧

システムを起動するにはMBRが正常でなければならないため、偶発的な上書き、ソフトウェアのインストールエラー、悪意あるコードにより、装置が起動不能になることがある。歴史的には、一部のウイルスや破壊的なプログラムがブートレコードを標的にした。著名なブート関連マルウェアの例はセキュリティ文献に記録されており、初期のウイルスの一部はブートセクターを改変または消去した。復旧方法には、バックアップから正常なMBRを復元すること、オペレーティングシステムが提供するブート修復ユーティリティを使用すること、低レベルのディスクツールでパーティションテーブルとブートコードを再構築することなどがある。調査と修復には、各プラットフォームで利用できるディスク管理ツールや復旧プログラムが一般に用いられる。

参考情報とツール

MBRを理解することは、低レベルのディスク管理、フォレンジック分析、ならびに古いハードウェアやレガシーオペレーティングシステムを扱う際に、現在でも有用である。新規インストールおよび大容量ディスクでは、柔軟性と堅牢性が向上していることから、一般にUEFIと組み合わせたGPTが推奨される。

関連項目

著者

AlegsaOnline.com マスターブートレコード(MBR)

URL: https://ja.alegsaonline.com/art/62723

共有