MBR(マスターブートレコード)とは
スポンサーリンクMBR(マスターブートレコード【Master Boot Record】の略)とはHDDやSSDのデータ領域の一つ。
パソコンの電源を入れてHDD・SSDにアクセスしたとき、一番最初に読まれる部分です。
MBRにはパーティション情報と、起動パーティションを検索してPBRを呼び出すプログラムが入っています。
ちなみにPBRによってOSが呼び出され、システムが起動する仕組みになっています。
【関連記事】
MBRの役割
MBRの役割について簡単に説明します。
MBRにはHDDの最も基本的な制御データが格納され、一番最初に読み込まれる部分です。
簡単に説明すると、パソコンの電源を入れて最初にHDDにアクセスした時に読み込まれる情報で、どのようにHDDにアクセスしたら良いのかが示された地図のようなものです。
大きく分けて次の2つの役割があります。
- 起動ディスクの検索
- パーティション情報の記録
起動ディスクの検索
MBRには、起動ディスクを特定するプログラムが入っています。
具体的には、パーティション情報に記録されているブートフラグを探すプログラムが入っています。
これにより、HDDを論理的に分割しても、実行ディスクを見つけることができます。
パーティション情報の記録
MBRのもう一つの役割は、パーティション情報の保存です。
パーティションとは1台のHDDをCドライブやDドライブなどに分割した各領域のこと
MBRには各パーティションの、【ブートフラグ】、【フォーマットの種類】、【位置情報】が記録され、この情報を元にHDDのデータにアクセスする仕組みになっています。
つまり、パーティション情報がないHDDは無秩序な”0”と”1”の羅列にすぎず、データを取り出すことができません。
語句の簡単な説明
- 【ブートフラグ】
起動ディスクの検索プログラムで読まれる情報 - 【フォーマットの種類】
FAT32やNTFSといった、ドライブをフォーマットするときに選択するファイルシステム - 【パーティションの位置情報】
例えばHDDをCドライブとDドライブに分割した時、どこからどこまでがCドライブなのかという情報
MBRのデータ構造
MBRのデータ構造を具体的に説明します。
MBRには大きく分けて3種類のデータから構成され、これらの情報がドライブの最初の1セクタ(512byte)※に全て収められています。
(※セクタとはディスクドライブにおけるデータの最小ブロック。HDDの場合、基本的に1セクタ=512byte)
- ブートストラップローダ
- パーティションテーブル(合計4つ)
- ブートシグニチャ
ブートストラップローダ とは?
起動パーティションを探すプログラム
MBRの先頭から446byteの領域にあります。
セクタの先頭・つまり、MBRの中でも最も最初に呼び出される部分です。
このブートストラップローダが実行されると、パーティションテーブルからブートフラグのある”起動パーティション”を探しします。
次に起動パーティションのPBRを呼び出してOS(Windowsなど)を実行します。
パーティションテーブル とは?
パーティション情報を記録する領域
パーティションテーブルは合計64byteの領域があります。パーティション一つにつき16byteの容量があるので、合計4つのパーティション情報が格納されています。
(MBRでプライマリパーティションが4つしか作成できないのは こうしたことが理由になっているわけですね。)
パーティションテーブルには、それぞれ下記の6つのデータが入っています。
- ブートフラグ
起動パーティションの場合は”0x80h”が書き込まれる - パーティションの開始位置
パーティションの開始セクタのアドレス(CHS方式) - パーティションタイプ
NTFSやFAT32などのフォーマット形式の識別子 - パーティションの終了位置
パーティションの終了セクタのアドレス(CHS方式) - パーティションの開始位置
パーティションの開始セクタのアドレス(LBA方式) - パーティションの総セクター数
[ 4byte ]
ブートシグニチャ とは?
MBRが有効・無効を判断する識別子
MBRの最後の2byteの領域
ここにはマジックナンバーと呼ばれる(0xAA55)という値が入っていて、この情報が入っていないMBRは無効となります。
つまり、MBRが正常に書き込まれているか判断する署名のような役割です。