PBR(パーティションブートレコード)とは
スポンサーリンクPBR(パーティションブートレコード【Partition Boot Record】の略)とはHDDやSSDを制御するデータが格納された領域。
各パーティションの一番最初の1セクタに記録された情報です。
PBRにはパラメータブロックと呼ばれるディスク管理データと、ブートストラップローダと呼ばれるOSを実行するプログラムが入っています。
ちなみに、OSを実行するときは、MBRによってブートパーティションが検索され、そのパーティション内のPBR(ブートストラップローダ)によってOSがロード・実行する仕組みになっています。
【関連情報】
PBRの役割
PBRの役割について簡単に説明します。
PBRにはMBRと同じようにディスク管理に関する基本的なデータと小さなプログラムが格納されています。
大きく分けて次の2つの役割があります。
- ディスクの管理
- OSの呼び出し・実行
ディスク管理
”ボリュームラベル”や”1クラスタあたりのセクタ数”と言った、ディスク管理に必要なデータがパラメータブロックに納らてています。
これは、パーティションとして認識し、アクセスするために必要なファイルシステムに関する情報です。
当然、このファイルがないとファイルやデータを認識することが出来ません。
OSの呼び出し・実行
もう一つ、OSを実行する”ブートストラップローダ”と呼ばれるプログラムが収められています。
具体的には、MBRによって起動フラグのあるパーティションが呼び出され、そのパーティションに入っているPBRのブートストラップローダによってOSがロード・実行される仕組みになっています。
ここが少しややこしいのですが、一言で言うと「MBRによって呼び出されたPBRがOSのを実行している」ということです。
PBRのデータ構造
PBRはMBRと同様に1セクタ(512byte)に収められたデータです。
実はOSに依存しないMBRと違い、PBRの構成はOSのに依存しています。
OSによっては内部データが若干異なりますが、大きく分けて5つのブロックから成り立っています。
特に重要なのがパラメータブロックとブートストラップローダです。
- ジャンプ命令
- OEM name
- パラメータブロック
- ブートストラップローダ
- ブートシグニチャ
ジャンプ命令
ブートストラップローダを呼び出すための命令コードと実行アドレスが書かれています。
OEM name
OSのOEM nameが入ります。
パラメータブロック
パーティションやディスクを定義するデータ
パーティション情報が入ります。
ボリュームラベル、セクタ数、クラスタサイズなど、そのパーティション固有の情報です。
ブートストラップローダ
OSを実行するプログラム
OSを読み出し、実行(起動)するプログラムが入っています。
Windowsを始め、ブートストラップローダがないと起動することが出来ません。
ブートシグニチャ
PBRが有効・無効を判断する識別子
PBRの最後の2byteの領域
ここにはマジックナンバーと呼ばれる値が入っていて、この情報が入っていないPBRは無効となります。
つまり、PBRが正常に書き込まれているか判断する署名のような役割です。