2017/10/17 2017/10/18

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
  • パラメータブロック
  • ブートストラップローダ
  • ブートシグニチャ

PBRのデータ構造

ジャンプ命令

ブートストラップローダを呼び出すための命令コードと実行アドレスが書かれています。

OEM name

OSのOEM nameが入ります。

パラメータブロック

パーティションやディスクを定義するデータ
パーティション情報が入ります。
ボリュームラベル、セクタ数、クラスタサイズなど、そのパーティション固有の情報です。

ブートストラップローダ

OSを実行するプログラム
OSを読み出し、実行(起動)するプログラムが入っています。
Windowsを始め、ブートストラップローダがないと起動することが出来ません。

ブートシグニチャ

PBRが有効・無効を判断する識別子
PBRの最後の2byteの領域
ここにはマジックナンバーと呼ばれる値が入っていて、この情報が入っていないPBRは無効となります。
つまり、PBRが正常に書き込まれているか判断する署名のような役割です。

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

Twitterで自作工房をフォローしよう!

関連記事


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です