【Windows】bootrecコマンドでブート構成データを再構築する手順 | BCD破損の修復

【Windows】bootrecコマンドでブート構成データを再構築する手順 | BCD破損の修復
🛡️ 超解決

Windowsが起動せず、エラーメッセージが表示されて業務が滞ることはありませんか。

これはブート構成データ BCD の破損が主な原因です。

この記事では、bootrecコマンドを使用して、Windows 11の起動問題を解決する具体的な手順を解説します。

【要点】bootrecコマンドでWindowsの起動問題を解決

  • bootrec /FixMbr: マスターブートレコードの破損を修復し、システムの起動経路を確立します。
  • bootrec /FixBoot: 新しいブートセクターをシステムパーティションに書き込み、起動プロセスを正常化します。
  • bootrec /RebuildBcd: 既存のWindowsインストールをスキャンし、ブート構成データを再構築して起動メニューを修正します。
  • diskpartコマンド: EFIシステムパーティションにドライブ文字を割り当て、アクセス拒否エラーを回避します。

ADVERTISEMENT

Windowsが起動しない? BCD破損の根本的な原因

Windowsが正常に起動しない場合、多くの場合ブート構成データ BCD の破損が原因です。

BCDは、Windowsの起動に必要な情報が格納されたデータベースです。

どのオペレーティングシステムがインストールされているか、どこから起動するか、といった情報を含みます。

このBCDが損傷すると、Windowsは起動パスを見つけられなくなり、エラーが発生します。

BCDが破損する主な理由

BCDが破損する原因はいくつか考えられます。

不適切なシャットダウン、システムファイルの破損、ディスクのエラーセクターの発生が挙げられます。

また、Windows Updateの失敗や、マルウェア感染によってBCDファイルが改変されることもあります。

デュアルブート環境での誤った操作も破損の原因となる場合があります。

これらの問題が発生すると、通常「回復」や「スタートアップ修復」のエラー画面が表示され、Windowsが起動できません。

bootrecコマンドでブート構成データを再構築する手順

Windowsが起動しない状態からbootrecコマンドを実行するには、Windows回復環境に入り、コマンドプロンプトを利用します。

この手順はWindows 11を基準に解説しますが、Windows 10でも同様に操作できます。

ステップ1: Windows回復環境へアクセスする

  1. インストールメディアからの起動
    起動可能なUSBメモリやDVDなどのWindowsインストールメディアをPCに挿入します。
    PCの電源を入れ、メーカーロゴが表示されたら特定のキー F2やDel、F10、F12などを繰り返し押してBIOS/UEFI設定に入ります。
    起動順序を変更し、インストールメディアから起動するように設定を保存して再起動します。
    Windowsセットアップ画面が表示されたら、「次へ」をクリックします。
    「コンピューターを修復する」をクリックし、回復環境へ進みます。
  2. Windowsが起動できない場合の自動アクセス
    Windowsが3回以上起動に失敗すると、自動的に回復環境が起動します。
    「オプションの選択」画面が表示されたら、「トラブルシューティング」をクリックします。
    「詳細オプション」をクリックして次に進みます。

ステップ2: コマンドプロンプトを起動する

  1. コマンドプロンプトの選択
    回復環境の「詳細オプション」画面で、「コマンドプロンプト」を選択します。
    ユーザーアカウントのパスワード入力が求められる場合は、入力して続行します。

ステップ3: bootrecコマンドを実行する

コマンドプロンプトが開いたら、以下のコマンドを順番に入力し、Enterキーを押して実行します。

  1. マスターブートレコードの修復
    bootrec /FixMbr
    このコマンドは、マスターブートレコード MBR の破損を修復します。
    システム起動の最初の段階で重要な役割を果たす部分です。
  2. ブートセクターの書き込み
    bootrec /FixBoot
    このコマンドは、システムパーティションに新しいブートセクターを書き込みます。
    Windows 11/10では、UEFIシステムでEFIシステムパーティションに新しいブートコードを書き込みます。
    「アクセスが拒否されました」と表示される場合は、後述の対処法を参照してください。
  3. ブート構成データの再構築
    bootrec /RebuildBcd
    このコマンドは、インストールされているWindowsをスキャンし、ブート構成データ BCD を再構築します。
    「インストールをブートリストに追加しますか?」と表示されたら、「Y」と入力してEnterキーを押します。
  4. システムの再起動
    すべてのコマンドを実行したら、exitと入力してEnterキーを押し、コマンドプロンプトを閉じます。
    PCを再起動し、Windowsが正常に起動するか確認します。

bootrecコマンド実行時の注意点と発生しがちな問題

bootrecコマンドは強力なツールですが、実行中に特定のトラブルに遭遇する場合があります。

ここでは、よくある問題とその対処法を解説します。

bootrec /FixBootで「アクセスが拒否されました」と表示される場合

このエラーは、EFIシステムパーティションが正しく設定されていない場合に発生します。

通常、EFIシステムパーティションにドライブ文字が割り当てられていないことが原因です。

以下の手順でEFIパーティションを準備し、再度bootrecコマンドを実行します。

  1. diskpartの起動
    コマンドプロンプトでdiskpartと入力し、Enterキーを押します。
  2. ディスクの表示
    list diskと入力し、Enterキーを押します。
    システムがインストールされているディスクの番号を確認します。
  3. ディスクの選択
    select disk Nと入力します。「N」は確認したディスク番号です。
    例: select disk 0
  4. パーティションの表示
    list partitionと入力し、Enterキーを押します。
    「システム」または「EFI」と表示されているパーティションを確認します。
    通常、サイズが100MBから500MB程度のFAT32形式のパーティションです。
  5. EFIパーティションの選択
    select partition Nと入力します。「N」はEFIパーティションの番号です。
    例: select partition 1
  6. ドライブ文字の割り当て
    assign letter=Z:と入力し、Enterキーを押します。
    「Z」は他のドライブと重複しない任意の文字です。
  7. パーティションのフォーマット
    format quick fs=fat32と入力し、Enterキーを押します。
    これによりEFIパーティションがFAT32形式でクイックフォーマットされます。
  8. diskpartの終了
    exitと入力し、Enterキーを押してdiskpartを終了します。
  9. BCDの再作成
    bcdboot C:\Windows /s Z: /f UEFIと入力し、Enterキーを押します。
    「C」はWindowsがインストールされているドライブ文字、「Z」は先ほど割り当てたEFIパーティションのドライブ文字です。
    このコマンドは、WindowsブートファイルをEFIパーティションにコピーし、BCDを再作成します。
  10. bootrecの再実行
    bootrec /FixBootを再度実行します。
    その後、bootrec /RebuildBcdを実行し、PCを再起動します。

インストールされているOSが見つからない場合

bootrec /RebuildBcdを実行しても「インストールされているWindowsが見つかりません」と表示されることがあります。

これはBCDが完全に破損しているか、Windowsのインストールパスが不明な場合に発生します。

この場合、bcdbootコマンドを使用してBCDをゼロから再作成します。

  1. Windowsドライブの確認
    コマンドプロンプトでdir c:dir d:などを入力し、Windowsフォルダが存在するドライブ文字を確認します。
    ここではWindowsが「C:」ドライブにインストールされていると仮定します。
  2. BCDの再作成
    bcdboot C:\Windowsと入力し、Enterキーを押します。
    UEFIシステムの場合は、bcdboot C:\Windows /s Z: /f UEFIと入力します。
    「Z」はEFIパーティションのドライブ文字です。
    これにより、指定したWindowsインストールから新しいBCDが作成されます。
  3. 再起動
    exitと入力し、PCを再起動します。

複数のOSがある場合に特定のOSが起動できない場合

デュアルブート環境でbootrec /RebuildBcdを実行すると、一部のOSがブートメニューに登録されないことがあります。

この場合、bcdbootコマンドで各OSのエントリを手動で追加する必要があります。

  1. 各OSのドライブ文字確認
    コマンドプロンプトでdirコマンドを使い、各OSがインストールされているドライブ文字を確認します。
  2. 各OSのBCDエントリ追加
    例えば、一つ目のWindowsがC:、二つ目のWindowsがD:にある場合、以下のように実行します。
    bcdboot C:\Windows
    bcdboot D:\Windows
    UEFIシステムの場合は、EFIパーティションのドライブ文字 Z: を指定します。
    bcdboot C:\Windows /s Z: /f UEFI
    bcdboot D:\Windows /s Z: /f UEFI
  3. 再起動
    exitと入力し、PCを再起動します。
    起動メニューにすべてのOSが表示されるか確認します。

ADVERTISEMENT

bootrecコマンドの各オプションの比較

bootrecコマンドには複数のオプションがあり、それぞれ異なる目的で利用されます。

以下の表で、主要なオプションとその機能を比較します。

オプション 機能 主な使用目的
bootrec /FixMbr マスターブートレコード MBR を修復する MBRの破損や、MBRをターゲットとするマルウェア感染からの復旧
bootrec /FixBoot システムパーティションに新しいブートセクターを書き込む ブートセクターの破損、またはWindowsブートマネージャーが起動しない問題の解決
bootrec /RebuildBcd インストールされているWindowsをスキャンし、ブート構成データ BCD を再構築する BCDの破損、または起動メニューにOSが表示されない問題の解決
bootrec /ScanOs インストールされているWindowsをスキャンし、ブート構成データに登録されていないOSを表示する BCDにOSが登録されているか確認、または手動でBCDを編集する前の情報収集

これらのオプションを適切に組み合わせることで、さまざまな起動問題を解決できます。

まとめ

この記事では、Windowsが起動しない主な原因であるBCD破損に対して、bootrecコマンドを使った具体的な修復手順を解説しました。

回復環境へのアクセスからbootrec /FixMbr、/FixBoot、/RebuildBcdの実行、さらにはdiskpartやbcdbootコマンドを使った応用的な対処法までを理解できたはずです。

これらの手順を活用することで、起動不能なPCを復旧させ、業務を再開できるでしょう。

今後Windowsの起動問題に直面した際は、今回学んだbootrecコマンドとbcdbootコマンドをぜひ試してみてください。

ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。