2015年
09月21日

UEFIで構築したWindows7をバックアップから書き戻したらMBRになっていろいろ困ってたけどなんとかなった日記

このエントリーをはてなブックマークに追加

事の発端はSSDが逝った(あとで記事書きます)ことですが、

UEFIで構築していたWindows7のディスクフルバックアップ(AOMEI Backupper使用)を書き戻す

再起動後、WindowsBootManagerがうまく動かなくなりWindowsが起動しなくなる

Windows7インストールメディアからスタートアップ修復をしたところWindows7が起動

EFIじゃなくなってる(!?)

ディスクがMBR形式になってる(!?)

なので、ディスクをMBRからGPTに変換したところ、またWindowsが起動しなくなりました。

たぶん悪いのはGPT形式で書き戻してくれなかったAOMEI Disk Backupperなんだと思います……

今度はインストールメディアからのコンピュータの修復も「Windows のバージョンがスタートアップ修復のバージョンと一致しません。」と出て不可能に。

ここを参考にEFIパーティションを削除してS:として作り直して
bcdboot C:\windows /l ja-jp /s S:
しても起動せず。

bcdeditしても「ブート構成のデータストアを開けませんでした。要求されたシステムデバイスが見つかりません。」と出る始末・


ここで本格的に詰んだかと思ったのですが、なんとか起動したので方法書いておきます。(問題のある方法かもしれませんが)

ここを参考にしました→ http://plaza.rakuten.co.jp/coolverse/diary/201406170000/

私の場合はすでにGPT形式に変換済みでEFIパーティションもあるので、「システムパーティションへ移動します >i:」のところからやりました。
このシステムパーティションがEFIパーティションのことを言っていると信じて行っています(違うかも)
インストールメディアのコマンドプロンプトから……

(diskpartでEFIパーティションにassign letter sを行っておいてください)

S:
と入力しSドライブとなっているEFIパーティションへ移動

cd EFI\Microsoft\Boot
と入力しBootフォルダへ移動、ない場合は作成したらいいと思います。

bcdedit /createstore BCD
と入力し新規ストアを作成。私の場合はここで既存のストアが存在し新規作成できなかったので、
rename BCD BCDOLD
と入力し既存のストアをぽいぽいしてからやりました(よくない方法かもしれません)

bcdedit /store BCD /create {bootmgr} /d “Windows Boot Manager”
と入力し新規ストアへエントリを作成。

bcdedit /store BCD /create /d “Windows 7” /application osloader
と入力しシステムブートエントリを作成。
※エントリ “xxxxx” は正常に作成されましたの xxxx をコピーしておく

>bcdedit /store BCD /set {bootmgr} default <guid>
※<guid>は先程のxxxxを以下のようにセットします。
例:{40fe5c41-285e-412b-b4cd-0ce498e470a2}なら
>bcdedit /store BCD /set {bootmgr} default {40fe5c41-285e-412b-b4cd-0ce498e470a2}

>bcdedit /store BCD /set {bootmgr} path \EFI\Microsoft\Boot\bootmgfw.efi
>bcdedit /store BCD /set {bootmgr} locale ja-jp
※日本語はja-jpです
>bcdedit /store BCD /set {bootmgr} displayorder {default}
>bcdedit /store BCD /set {bootmgr} timeout 10
>bcdedit /store BCD /set {default} device partition=c:
>bcdedit /store BCD /set {default} osdevice partition=c:
>bcdedit /store BCD /set {default} path \windows\system32\winload.efi
>bcdedit /store BCD /set {default} systemroot \windows

まるまる引用させてもらいました、すいません・・・

タイムアウト秒はお好みでいいかも。

この方法でなんとかWindowsが起動してくれました。

以下発生した問題……
・ブートオプションが空っぽになりました。


・bcdeditをすると「ブート構成のデータストアを開けませんでした。ファイルを格納しているボリュームが外部的に変更されたため、開かれているファイルが無効になりました。」と出るようになってしまった

現在はbcdeditできちんとエントリが表示されるようにならないか模索中です……

 
2015-11-04追記:
Windows10 Insider Previewを試したくて、パーティション切ってそこに新規インストールしたらbcdeditもブートオプションも再構築?修正?されました。

WindowsをデュアルブートインストールするときにWindows Boot Managerの情報に変更が加わるのが功を奏した感じですかね~

ねこ丸 より:

良くはわからんですが、
easyUFEI というのがあって、UEFI-boot 関連を書き直せるらしい。
他には マクリウムーレフレクト これで作った winPE(10-64bitと32bit)
これを使うと、 boot-トリガ を探しだして 再構成してくれます。
その上で easyBCD を使い 該当 パーテからの 起動を再作成できます。
ではでは

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です