パソコンが起動しない、見てほしいと頼まれて、確認してみました。すると次のような表示が出ていました。
そのパソコンはWindows7だったのだけれど、起動時に読み込まれるブートマネージャが見つからないようです。Windows7のDVDを使ってパソコンを起動してみたところ、下のような画面でWindowsが見つからない状態になっていました。
原因は色々考えられるけれど、パーティションのアクティブ情報等が書き換わって起動出来なくなっている事もあります。このような時は、いくつかのコマンドを実行することで解決する事があります。
アクティブパーティションの修正
今回のケースでは、下の画面ような2パーティション構成のパソコンでした(実際には容量とかは違うけれど)。先頭にシステム領域があり、2つ目のパーティションにWindows7がインストールされている形です。この場合、正常なら、下の画面のように一番先頭がアクティブパーティションになります。ちなみに、システム予約領域がない場合は、正常ならWindows7がインストールされているパーティションがアクティブになります。
これを修正するために、Windows7のDVDから起動して、コマンドプロンプトを開いたら、次のような形で入力していきます。
それぞれを簡単に解説すると、
diskpart ディスク管理モードに入る
list disk ディスク一覧を表示
select disk 0 対象のディスクを選択。この例ではディスク0
list partition パーティション一覧を表示
select partition 1 今回の例では1番目のパーティションをアクティブにするため、1番目のパーティションを選択する
detail partition 念の為、選択したパーティションの情報を確認。アクティブになっていない事が確認出来る
activ 現在選択しているパーティションをアクティブにする
exit ディスク管理モードを終了
今回は、これで解決できましたが、その他にも、MBRの修復やブートセクタの修復で解決する事もよくあるので、ついでに紹介しておきます。
MBRやブートセクタの修復
ディスクの一番先頭にあるMBRがおかしくなっている事もあります。
MBRを修復するには、
bootrec /fixmbr
と入力。アクティブパーティションのブートセクタを修復するには、
bootrec /fixboot
と入力。ブート情報を修復するには
bootrec /rebuildbcd
と入力。するとパーティション内をスキャンしてWindowsを探します。成功した場合は、認識された合計数が1とかになるので、ブートメニューに加えます。もし0の場合でも、一旦終了して再起動すれば起動出来るようになっている事もあります。
どうしても起動出来ない時は、下のようにブート情報をリネームして、新たにスキャンする事で見つかる事もあります。
bcdedit /export c:\bcdbk 念の為bcd情報をバックアップ。c:\といっても予約領域などのアクティブパーティション内に保存される
attrib c:\boot\bcd -h -r -s bcdの権限を変更
ren c:\boot\bcd bcd.old bcdをリネーム
bootrec /rebuildbcd bcdを再構築
チェックディスクで修復する
その他、起動途中でエラーになるケースもあります。このような場合は、チェックディスクで修復しましょう。
dir c:やdir d:などで対象パーティションを確認
chkdsk d: /f 対象パーティションのファイルシステムを修復。ハードディスクが壊れかけている可能性がある場合は、より時間がかかるがchkdsk d: /rを実行
コメント
この記事のおかげで、Windows10でのMBRトラブルを修復できました。ありがとうございました。
ただ一つ誤字がありましたので、いつか訂正されてはと思います。
説明本文の、
「ブート情報を修復するには
bootrec /rebuilbcd
と入力。」
の部分です。
「rebuildbcd 」で [d] が欠落しています。
なお、私は本文の説明通りに実行して失敗し、やり直して修復成功しました。
本当に助かりました。大変感謝しています。
ああっ、ミスしていました。ご指摘ありがとうございます!修正しておきました。
解決して良かったです!
とてもわかり易い記事をありがとうございます。
システム予約領域があるのに間違えてWindowsがインストールされているパーティションを「アクティブ」に指定してしまい、途方にくれていたところ、こちらの記事を発見し、書いていただいていた通りに打ち込んだら治すことができました。
アクティブ関連の設定で起動出来なくなるケースは意外と発生しますし、いざ発生すると焦ってしまいますよね。解決して良かったです。
パーティションの変更で0xc0000225のエラーで起動出来なくなり、
私の環境ではシステムの予約済みがなく
やっとこちらにて起動に至りました。
ありがとうございました。