PBRは、パーティションの先頭セクタで、
PBRに問題があると、そのパーティション全体に対してアクセスできなくなってしまいます。
結果として、Windowsが起動できなくなることもあります。

PBRという言葉を初めて耳にする人でも、フォーマットという単語なら知っていると思います。
PBRは、パーティションの論理フォーマットと直接関係しています

パーティションをフォーマットすると、データが完全に消えてしまうと誤解されることもありますが、
論理フォーマットの前後において、パーティション内のほとんどの領域はデータの書き換えがありません。
論理フォーマットで上書きされているのは、PBRやファイルシステムのインデックスです。

つまり、PBRはパーティションのフォーマットを規定するものでもあるため、
PBRが破損していれば、そのパーティションはフォーマットされていないとみなされてしまいます。
アクセスできなくなるのも当たり前です。

PBRとは何か

パーティションブートレコード
MBRと同じ、ブートセクタの一種です。

各パーティションの最初の1セクタが、PBRです。
PBRには、PBRが属するパーティションに必要な情報が収められています。
パーティションがパーティションとしてふるまうために、必要不可欠なものです。

PBRが正常でないと、そのパーティション全体に対してアクセスできなくなります。
Windowsは「フォーマットしますか?」とか聞いてきます。

ディスクはフォーマットされていません

ちなみに、「フォーマットしますか?」と聞いてくるのは、
フォーマット完了時にPBRが作られるからです。
論理フォーマットは、新たにPBRを作る作業でもあります。
PBRが正常でないため、PBRを新たに作り直そう、ということです。

新しくパーティションを利用するのであれば、それでまったく問題ありません。
もちろん、過去に保存されていたファイルは使えなくなりますが。

PBR内のデータ

MBRと同じく、PBRも1セクタ分のデータしかありません
PBR内に書かれている情報も、MBRと似た部分があり、大きく以下の2つに分けられます。

ディスクパラメータ そのパーティションに固有の情報
セクタサイズ、クラスタサイズ、総セクタ数、
MFT(マスターファイルテーブル)の位置等が書かれています。
ブートストラップローダ プログラム部分
「Windows NT」系のOSだと、
ブートローダ本体である「NTLDR」や「BOOTMGR」を読みに行き、
Windowsを起動していく引き金となるものです。

ディスクパラメータには、
そのPBRが属するパーティションのファイルシステムに関するルールが書かれているので、
これを読み込まないことには、後に続くパーティション内のファイルを認識することができません。
また、ブートストラップローダは、OSの起動に必要なものです。
アクティブパーティションのブートストラップローダが正しくないと、それより先の起動処理が行われません。

以下、PBRの修復について、

と、対象を分けて説明していきます。

ディスクパラメータの修復

ディスクパラメータの修復は、一般に困難な作業になることが多いです。
ただ、パーティションのフォーマット完了時に、PBRのバックアップが同時に作られているので、
これを利用して復旧を試みることができます。※参考: Microsoftサポート

とはいえ、そのためにはセクタエディタを使う必要があり、操作が簡単ではありません。
そこで、「TestDisk」というツールを使うと、PBRを半自動的に復旧することができます。

「TestDisk」によるPBRの修復

半自動とはいえ、ユーザーによる判断が多く求められる部分でもあります。
実際にデータを書き込む前に、現状を正しく把握することが何より重要です。

ブートストラップローダの修復

ブートセクタに関して、「TestDisk」で唯一修正できないのが、PBRのブートストラップローダです。
ブートストラップローダはOSのブートローダと対になって意味を成すもの、つまりOSの一部でもあるため、
OSによって書き込まれるべきものです。※もちろん、一番大きいのはライセンスの問題だと思います。

最初に断りを入れておきますが、
ブートストラップローダは、すべてのパーティションに必要なものではありません
パーティションを認識する、しないという問題とは無関係です。
前述のとおり、ブートストラップローダはOSの起動に必要なプログラムなので、
OSがインストールされているディスクの、さらにアクティブパーティションのPBRにのみ必要です。

たとえば、データ保存用として使われることがほとんどのSDカード等では、
PBRにブートストラップローダがない場合があります。
それでも正常動作しますし、データ保存用であれば何の問題もありません。

「Windows XP」時代には、
回復コンソールから「fixboot」コマンドを使うことで、ブートストラップローダを修復することができました。
※参考: Microsoftサポート
ただ、これには「Windows XP」のインストール用ディスクが必要で、
誰でも「fixboot」を使える環境にはなかったのが実情です。

「Windows 7」が普及するにつれ、ユーザーにもいろんな選択肢が与えられるようになりました。
特に、「Windows PE」と「システム修復ディスク」の存在は大きいです。「Windows XP」でも「Windows PE」を作成できます。
これらを使えば、
Windowsのインストール用ディスクがなくても、PBRのブートストラップローダを修復することは可能です。

bootsect /nt60 sys

具体的に、PBRのブートストラップローダを修復するには、
Windows PE」上コマンドプロンプト(「システム修復ディスク」上コマンドプロンプトでも一緒)にて、

bootsect /nt60 sys

と入力します。

「bootsect」というのは、ブートセクタを修復するためのコマンドです。※参考: Microsoft TechNet
以下、オプションについて補足します。

/nt60 PBRに「BOOTMGR」用のブートストラップローダを書き込む
つまり、Vista以降の起動パーティション用。
/nt52 PBRに「NTLDR」用のブートストラップローダを書き込む
つまり、XP以前の起動パーティション用。
sys PBRに関して、アクティブパーティションを対象とする。
その他のパーティションのPBRには変更を加えない。

「sys」というのは、ドライブレターの代わりです。
ドライブレターを直接指定してもいいんですが、
ブートストラップローダが影響するのはアクティブパーティションのみなので
「sys」としておけばいいと思います。
しかも、「Windows PE」から起動すると、ドライブレターが普段とは変わることがありますので。

「Windows PE」は、基本的にVista以降のWindowsを対象としていますが、
「bootsect」コマンドではXP以前に対応したブートストラップローダを書き込むこともできるので、重宝します。
たとえば、

bootsect /nt52 sys

とか入力すればいいわけです。

どーでもいーはなし

「bootsect」に似たコマンドで、「bootrec」というものがあります。
「/fixboot」オプションを指定することで、PBRにブートストラップローダを書き込むことができます。

ただし、「bootrec」コマンドはVista以降のWindowsを対象としているため、
「/fixboot」オプションで書き込まれるブートストラップローダも、「BOOTMGR」用のものに限定されます

さらに、「bootrec」コマンドは「Windows RE」でしか使えません。
つまり、「システム修復ディスク」では使えても、「Windows PE」では使えないのです。

以上の理由から、ここでは「bootsect」コマンドを中心に説明しています。