レガシーBIOS/MBR形式でインストールしたWindowsが起動しなくなった場合のうち、「ブート領域(BCD領域)に問題が発生しているケース」の復旧方法を紹介したページです。
Windows 10、8.1、7、いずれも以下の手順で復旧できます。
※はじめに
このページはMBR Windows専用です。
UEFIでインストールしている場合は以下ページの手順で復旧します。
UEFI/GPTインストールしたWindowsの「ブート領域」の復旧方法
※ブート領域が完全に破壊されていた場合の復旧は、GPT形式よりもMBR形式の方がはるかに面倒です。
注意事項
- Windowsのインストールメディア(DVDまたはUSB)またはシステム修復ディスクやUSB回復ドライブが必要です。
※以下、便宜上これを「インストールDVD」と表記しています。 - 復旧メディアはレガシーブートさせる必要があります。(UEFIでブートしない)
- Windows 10/8.1の場合、インストールDVDを利用する事をお勧めします。
※システム修復ディスクやUSB回復ドライブでは、MBR形式でブートできない場合があります。 - 紹介している手順は、マルチブート構成のPCを想定していません。
- 難しい手順なので自己責任で。
注意事項ここまで。以下、実際の手順です。
簡単な方法から順に並んでいます。
まずは「スタートアップ修復」や「自動修復」に任せる。
上手く修復できていない、Windowsが起動しない場合は、まずは スタートアップ修復を2~3回ほど繰り返してみる
→ 重要:Windowsが起動しなくなった時の「スタートアップ修復」は2~3回行う
復旧しない場合は以下のような本格的な復旧作業を行う必要があります。
復旧前の準備段階 (ドライブのチェック)
ドライブレターやパーティションナンバーのチェックを行う
インストールDVDのコマンドプロンプトから以下を入力する。
diskpart
list volume
list disk
select disk X
list partition
select partition X
active
※全部終わったら「exit」
Windowsがインストールされたドライブ(通常Cドライブ)に割り当てられたドライブレター、ボリューム、パーティション番号を覚えておく。MBRの場合、アクティブ化を忘れずに。
※参考リンク: ASCII.jp:Windowsを起動したままでOK! HDDからSSDに換装して爆速化 (2/2)|何倍も速度アップ! 最新周辺機器換装特集
チェックポイント
- 上図の場合、WindowsをインストールしたボリュームはDドライブに割り当てられている。
- 「select disk X」はWindowsがインストールされたディスクを選択する。この場合、「select disk 0」
- 「select partition X」もWindowsもインストールされたパーティションを選択する。この場合、「select partition 2」
- ※復旧に必要なボリュームにドライブレターが割り当てられていなかった場合
- 「select disk X」
「assign letter=b:」
といった感じで入力し、ドライブレターを割り振る。
- 「select disk X」
上記は準備段階。終わったら以下に進む。
余談:自分用メモ
- 読み飛ばしてOK
- MBRはシステムがアクティブになっていないと起動できないので、「active」は念のため実行している。はじめは Windowsがどのドライブに割り当てられているかのチェックだけでも良いかも?
- 昔 (XPの頃?)は、アクティブなパーティションには*印が付いていたように記憶しているが、今回は*印が見当たらない。最近のDISKPARTではアクティブなドライブの確認はできないのかな?
- と思ったら、active後もう一度「list partition」したら*印が出てきた。
▲クリックで拡大 - という事は、最初はどのパーティションもアクティブ化されていなかった、という事かな?最近のMBR Windows はシステムをアクティブ化していなくても起動するのかな?
と思ったら、PC再起動したらアクティブマークは消えた。 - どうやら平常時は気にしないでOKらしい?
復旧前の準備段階 (ドライブのチェック) ここまで。
ここから下が実際の復旧手順です。
実際の復旧手順
bootrecコマンドで復旧する
前項DISKPARTでのチェックから引き続き、インストールDVDのコマンドプロンプトで以下を入力する。
bootrec /fixmbr
bootrec /fixboot
bootrec /Rebuildbcd
上から順に試す。
すべて「操作は正常に終了しました」系のメッセージが出ていれば大丈夫。
補足: 実行時のスクリーンショットその1
▲クリックで拡大
「Windows の インストールとして認識された合計数: 1」となればOK。
※補足
Windows 10 バージョン1703 (Creators Update)の場合、「0」になっても無視してOKかも。なぜか「Windows の インストールとして認識された合計数: 0」でも普通に起動できる?
補足: 実行時のスクリーンショットその2
▲クリックで拡大
Windowsのパーティションをアクティブ化したら bootrec /Rebuildbcd コマンドでOSを認識できるようになった。
「Windows の インストールとして認識された合計数: 1」
「インストールをブート一覧に追加しますか?」
と表示されたら、「Y」または「A」を入力する。
大抵は、ここまでの手順でWindowsは起動するようになる。
起動できたらこのページ内の最後の項目を実行する。
まだ起動しない場合は以下。
「bootrec」コマンドが正常に終了した、でもWindowsが起動しない場合
インストールDVDのコマンドプロンプトから以下を入力する
bcdboot X:\Windows /l ja-JP /s X: /f ALL
※赤文字「X:」の部分はWindowsがインストールされたドライブを入力する。
※回復パーティションが英語で起動してしまう場合もこの手順が有効。
Windowsが起動できたらこのページ内の最後の項目を実行する。
ブート領域の破損が軽微な場合はここまでの手順でWindowsは起動できるようになるはず。
まだ起動しない場合は以下。