解決!BCDの破損とStartupRepairOfflineでWindows7がで起動できない
目次
Windows7のPC起動できない状況になりましたが、無事解決したのでメモ。Windows7に限らず、Windows 10/8.1/8でも使える方法です。
症状
電源ボタンを押してOSの起動を待っていると以下のエラー画面が出て何度再起動してもこの画面が必ず出ます。どうもブートに必要な設定ファイルが見当たらないか壊れているっぽい。
File: \Boot\BCD
Status: 0x000000f
Info: An error occurred while attempting to read the boot configuration data
スタートアップ修復の画面も出ず、F8を押してセーフモード起動しようとしてもこの画面が出るだけでした。
スタートアップ修復でも回復できず
上記の画面に英語で書いてあるように、Windows7のインストールディスクからパソコンを起動し、以下のようにコンピューターの修復を試してみました。
- [使用する言語は日本語です]をクリック
- そのまま次へ
- [コンピューターを修復する(R)]をクリック
- システム回復オプションが表示されたので[修復して再起動]を押してみた
- 再起動したら「Windowsエラー回復処理」という画面が出てきたので[スタートアップ修復の起動(推奨)]を選択すると
- スタートアップ修復が始まりました
- 復元しますか?と出ましたが、今回は復元したくなかったので[キャンセル]
- スタートアップ修復が始まったので終わるのを待ちます
- 修復できないということで[問題の詳細の表示]を開いてみました
- 問題のイベント名がStartipRepairOfflineとなっていました
スタートアップ修復では直りませんでした。しかし過去にも同じStartipRepairOfflineの問題を解決したことがあったので、きっとそのときと同じ手順で直るはず!ということで次の作業に移りました。
原因はパーテーションがアクティブになっていなかった
原因はOSの入ったパーテーションがActiveになっていないが原因でした。
再度、Windows7のインストールディスクからコマンドプロンプトを起動し、DISKPARTコマンドでパーテーションの詳細を確認したところ、予想通りActive: Noとなっていました。それを確認する方法とActive: Yesにするため以下を行いました。
OSの入ったパーテーションをアクティブにする方法
- またWindows7のインストールディスクからコンピューターを起動し[コンピューターを修復する(R)]をクリック します
- Windowsが入っているかシステムの検索が始まります
- Windows 7 Professionalを選択して[次へ]
- コマンドプロンプトをクリック
- diskpartと打ってEnterを押す
- list diskEnterでディスクの番号を確認(ここでは容量のサイズからDisk 0がOSの入ったドライブとわかります)
- select disk 0Enterで操作するディスクを指定します
- list partitionEnterでパーテーション番号を確認(サイズからしてPartition 2がOSの入ったパーテーションということがわかります)
※通常はアクティブなパーテーションの左側には * が表示されているはずなのですが、どのパーテーションにも表示されていないので、やはりActive: Noの可能性が高いです。 - select partition 2Enterで操作するパーテーションを指定します
- detail partitionEnterでActiveの欄を確認(やはりActive: Noとなっている)
- activeEnterでアクティブにする
- 再度、detail partitionEnterでActiveの欄を確認(Active: Yesになっている)
- exitEnterでDISKPARTを終了させる
これでパーテーションのアクティブにできましたが、まだ作業がありますので、コマンドプロンプトは閉じずにそのままにしておきます。間違って閉じた場合は再度メニューからコマンドプロンプトを起動してください。
MBRの修復
DISKPARTでパーテーションをアクティブにしたら、続けてコマンドプロンプトでMBRの修復を行います。MBRの修復は以下のコマンドを実行ます。
bootrec /fixmbr bootrec /fixboot bootrec /rebuildbc
最後の質問は y か a を押します。これでコマンドプロンプトでの作業は終わりです。
スタートアップ修復の実行
MBRの修復が終わったら、コマンドプロンプトを閉じてメニューからスタートアップ修復を行います。
スタートアップ修復の画面の指示に従い[次へ]に進みます。スタートアップの修復が成功すると以下の画面になるので完了ボタン押します。押すと再起動が始まります。
Windows7が起動した!
無事、起動するようになりました。
まとめ
何が原因でOSの入ったパーテーションが急にアクティブじゃなくなるのかは結局わかりませんが、直せることがわかったので次に同じ症状が出ても安心です。
これ以外の方法もGoogleで「BCD破損」と検索したらいろいろ参考になるページがありました。もっとシンプルな方法で直せるかもしれません。