Windowsのブートチェーンはどう壊れるか
BIOS/MBRマシンでは、ブートはマスターブートレコード、ブートセクター、そしてBCDストア(Windowsインストールとその起動パラメータの一覧データベース)を読むBOOTMGRというファイルを経由します。はるかに普及しているUEFI/GPTマシンではチェーンが短く、ファームウェアが約100 MBのEFIシステムパーティションからbootmgfw.efiを読み込み、そのファイルが同じBCDを読みます。失敗した更新、起動中の電源断、ESPを欠いたディスクのクローン、Windows横へのLinux導入 — どれもこのチェーンのどこかの輪を切る定番の原因です。
症状は曖昧さを残しません: BOOTMGR is missing、0xc0000eの「required device is inaccessible」画面、空のブートメニュー、あるいはINACCESSIBLE_BOOT_DEVICE。どのコマンドが必要かはファームウェアの種類次第で、そもそも何かを実行するためにWinREへ入るのがゼロ番目のステップです。
- bootrec /fixmbr — MBRを書き直す(BIOS/MBRシステムのみ。UEFI/GPTでは無意味)
- bootrec /fixboot — システムパーティションに新しいブートセクターを書き込む
- bootrec /scanos — BCDに載っていないWindowsインストールを全ディスクから探す
- bootrec /rebuildbcd — BCDストアを再構築し、見つけたインストールの追加を提案する
- bcdboot C:\Windows /s S: /f UEFI — UEFIシステムでの本命の修復: EFIパーティションへ新しいブートファイル
WinREに入ってbootrecの梯子を上がる
Windowsが起動しないときは、起動を3回連続で中断する — スピナーが出た瞬間に電源を切る — と、Windows 11が自力で回復環境を開きます。「回復オプションの詳細」 → 「トラブルシューティング」 → 「詳細オプション」 → 「コマンドプロンプト」の順に選びます。インストールメディアからなら、USBから起動し、言語ページで「次へ」を押し、「コンピューターを修復する」 → 「トラブルシューティング」 → 「詳細オプション」 → 「コマンドプロンプト」です。このプロンプトからBIOS/MBRマシンに対する古典的な梯子は、bootrec /fixmbr、bootrec /fixboot、bootrec /scanos、そしてbootrec /rebuildbcd。見つけたインストールの追加を提案されたらYと答えます。
Enterを押す前に2つの注意。第一に、/fixmbrはMBRを所有するブートローダーが何であれ上書きします — GRUBとのデュアルブート機では、Linuxが独自メディアからGRUBを復元するまで起動しなくなることを意味します。第二に、/rebuildbcdが「Total identified Windows installations: 0」と答えたら、UEFI機でBCDファイルの削除を始めてはいけません。BIOSではドキュメント化された手順は attrib -h -r -s C:\boot\bcd、その後ファイルを削除して/rebuildbcdを再実行ですが、UEFIでは正しい手は次節のbcdbootルートです。
UEFIルート: EFIパーティションへのbcdboot
UEFI機の修復は、EFIシステムパーティション上のブートファイルの書き直しに他なりません。WinREのコマンドプロンプトでdiskpartを実行し、list disk、select disk 0、list partition、そして小さな100〜260 MBのFAT32パーティション(ESP)を選んで assign letter=S、exit と進みます。ここで bcdboot C:\Windows /s S: /f UEFI が新しいブートファイル一式をコピーしてBCDを再構築します。WindowsがWinREで別のドライブレターにあるならC:を調整してください — 何かを実行する前に、diskpartか dir C: でWindowsフォルダのあるドライブレターを確認します。
おできとして知られる問題: 一部のビルドではbootrec /fixbootがWinREからでも「Access denied」と答えます。受け入れられている回避策はこれを飛ばしてbcdbootを使うことで、同じファイルを別経路から書き、失敗するコードパスを迂回します。どちらのルートが効いたにせよ、WinREを出てUSBを抜き、通常どおり起動します。Windowsが立ち上がったら sfc /scannow と chkdsk を実行し、失敗したブートが残したものを掃除しましょう。
よくある質問
bootrec /fixbootがAccess deniedと言う — どうすれば?
いくつかのWindowsビルドでWinREからでも出る既知のバグです。/fixbootを飛ばして bcdboot C:\Windows /s S: /f UEFI を実行してください。同じファイルを別経路で書き直します。
UEFIコンピューターにbootrecは必要?
まれにしか。UEFI/GPT機はEFIシステムパーティションから起動するため/fixmbrは無関係で、本物の修復はESPに新しいファイルを書くbcdbootです。bootrec /rebuildbcdはBCDストア破損時に今なお有用です。
ブートローダーの修復でファイルは消えますか?
消えません。bootrecもbcdbootも触れるのはブートレコードとブートファイルだけです。手順全体で唯一破壊的なのはdiskpartの不注意な使用 — 文字を割り当てるだけで、フォーマットしないことです。
購入前にライセンスの内容をご確認ください。
一度限りの 30 分試用では基本ツールを利用できます。PRO 機能は有料ライセンスを有効にするまでロックされています。
次に読む記事
お問い合わせ: [email protected]