さて、時間があったので、ここにちゃんとしたアウトラインをまとめてみました。長いですが、かなり完成されていて、何が起こっているのかを見るのに役立つはずです。BIOSの設定が消えてしまう
2. 問題ありません、すべてのものはEFIパーティションに保存されています。
3. …SATA IDE対AHCIの設定を除いて、明らかな理由があります。SATA-AHCIを使っていましたか?SATA-AHCIを使っていましたか? 今はSATA-IDEを使っているはずです。
5.それがわかる前に起動してみましたか? Windowsに修正を試みさせましたか? 7.そうすると、BLAMはBoot Configuration Databaseを破壊してしまいます。前回使用していたSATAの設定が正しいことを確認してください。これらのいずれかが一致しない場合は、これが実際にあなたの問題であるかどうかを慎重に評価し、アイデアのためにこれを読んで、しかし、最初に考えずにそれに従うことはありません。マスターブートレコード(MBR)、パーティションテーブル、パーティションフラグ、EFIブートシナリオには適用されない他のゴミを修正することについてのたわごとは、幸いにも無視しています。AT ALL_. せいぜい、新しい _無関係な _EFI 以外のブートソリューションを完全に再構築することができるでしょう。しかし、それは些細なことではないかもしれません:
2. あなたは、Windows がブート設定データベースを持っていないことを理解していますが、残念ながら、それは完全に無知か、それがどこに行くかについて非常に確かです - あなたはどちらを完全に伝えることができません。ブートストアは通常 (somewhere)\Boot\BCD
であり、ファイルは HIDDEN であることを認識しています。dir /a:hs
に少し慣れてきて、BCDedit.exe
を使ってステージングファイルのブート設定データベースを「モックアップ」できること、/CreateStore
オプションを使ってステージングファイルを明示的に使用できること、/Store
を使って Windows ブートマネージャのメニューエントリを追加できること、そして /Create {bootmgr}
を使ってインポートできるはずであることを理解しました…
5. あなたは/Import
オプションを調べてみましたが、それは正しいように聞こえますが、それが「曖昧」なので、他のストアを使用するようにはできません。6. EFIパーティションをマウントするために/SysStore
を使用しようとしましたが、リストにも表示されず、できません。WindowsはあなたがEFIのためにセットアップされていることを伝えることができます(あなたはUEFIブートを介してDVDを起動している、あなたはEFIパーティションを持っているなど)。それは、したがって、BCDファイルを探す場所を知っています - しかし、それは何らかの形で場所が間違っているか(この問題ではありませんが、似たようなもの)、またはBCDが削除されました。どうやら、あるべき場所を知っているので、これは MountVol
を壊しているようです – 実際には、これが正しい動作なのかもしれません。私の知る限りでは、/SysStore
は意図的に EFI パーティションを隠しています (あるいは、それに気づくことができません)。これはファイルシステムをマウントすることを妨げ、正しいサブディレクトリを見つけることを妨げ、データベースが存在することを検証することを妨げています。良いニュースは、それがおそらくあなたが今では期待しているよりもはるかに単純であるということです。実際には EFI パーティションをマウントしなければなりません。
実は、厳密には正しくない予感がします。データベースは見ていませんが、どこに行くべきかは知っています。しかし、持っていないものはドライブレターです。それで…どうすればいいの?
そうですね…あなたのDOSのルーツはどこまで遡りますか? 007のコマンドを覚えていますか?何だと思う?MountVol
を起動してください。もし、BCDedit
に馴染みがないのであれば、基本的にはセットの階層構造になっています。そのため、Assign
、そしてDiskPart
、ここではDiskPart
があなたにとって適切なものであれば何でもよいのですが、
4. List Disk
と Select Disk n
(複数ではないことに注意) を使って、EFI パーティションを確認してください。ディスクは GPT パーティションテーブルを使用しているはずなので、かなりの数のパーティションが表示されていることを覚えておいてください。これらのうちのいくつかは緊急リカバリー用です。まあいいや。
EFIパーティションと他のいくつかのパーティションにはドライブレターがありません。その気になれば、GPT パーティションの属性も見ることができます。(必要であれば、代わりにボリュームを選択しても良いと思います。)
6. n
. 以上です。ドライブレターを指定しないで、List Partition
だけにしてください。これで EFI パーティションに割り当てられたドライブレターが表示されるはずです。おそらく S: (List Volume
で取得したもの) に直接移動して、Boot パーティションがあることに気づく。"AHA! と言うでしょう。"ここには System
ファイルがない! まず…そのファイルは隠されていることを覚えておいてください。第二に…もう少し調べてみると、Select Partition n
と Assign
がありますが、問題がないかどうか、これらの両方をチェックする必要があります。これは、マザーボードがWindowsを使用するかどうかわからないので、この名前が付いています。検査する Assign
。Windows 7 Professional, 64-bit の場合、以下のように表示されるはずです: List Volume
EFI シェルをインストールしている場合(常に良いアイデアです)、追加で Exit
が表示されるかもしれません。
注意: Assign
を使用しているデュアルブート Linux ユーザーは、ここに追加のエントリは表示されません。Windows 7 Professional, 64ビットの場合、言語テンプレートの束(BCD
など)と以下のファイルが表示されるはずです:
bootmgr.efi
bootmgfw.efi
memtest.efi
BCD
BCD.Backup.001
BCD.Backup.002
…ただし、おそらくS:\EFI\Boot
は表示されないでしょう? しかし、これらのバックアップファイルは魅力的に見えます。11. 使用するバックアップファイルを決定します。最近の変更点はシステムを起動する能力と同じくらい重要ではありませんので、最も無傷なものを選びましょう。おそらく、大きなものとかなり小さなものがあるでしょう。小さい方はすでに壊れていて、修復に失敗した時の成果物です。両方とも大きい場合は、古い方を使ってください。どのような場合でも、どこか他の場所に追加のバックアップコピーを作成してください。使用することに決めたバックアップをS:\EFI\Microsoft\Boot
にコピーします。シェルを終了し、きれいにシャットダウンして再起動します。WindowsにNORMALLYを起動するように指示します。この時点で、起動するはずです。
Q: バックアップBCDを持っていない場合はどうすればいいですか? それはおそらくあなたが間違ったディレクトリにあることを意味し、EFIをサポートしていますが、実際にはそれを使用していなかったか、または何らかの形で必要なWindows材料(Windowsの複数のバージョンを使用している場合は特に、可能)のすべてなしで全体のEFIパーティションを再構築しました。その場合、DVDからEFI材料をコピーして、S:\EFI\Boot
を使ってブート構成データベースを修正するか、再構築する必要があります。
Q: EFIシステム上でS:\EFI\Boot
を使って何かをすることができるシナリオの例を教えてください。
A: 今のところ、ありません。最後に非常に重要なことですが、上記のbootx64.efi
: shellx64.efi
のテクニックを使って、普通にWindowsでEFIパーティションをマウントして検査することができることに注意してください。このようなトラブルに遭遇する前に、EFI パーティションの完全なバックアップを取るために、少なくとも一度はこれを行う必要があります。バックアップは chainloader+1
ドライブのサブディレクトリと USB フラッシュドライブに取ることをお勧めします。しかし、多くの人がイライラしているので、私の経験をできるだけ完全かつ迅速に文書化する必要があると感じました。