デュアルブートインストールがあります。最初に、セカンダリドライブを取り外した状態でWindows 7を専用のディスク(C :)にインストールしました。これを行ったのは、Windowsが他のドライブを台無しにする傾向があることを知っているからです。次に、セカンダリドライブを接続してデータパーティション(D :)を作成し、3番目のパーティションにLinuxをインストールしました。
総括する:
Linuxがそれ自体をインストールすると、2番目のディスク(UEFIではなくBIOS)にもGRUB)がインストールされたため、WindowsブートローダーC:はインストールされませんでした。それでも、緊急時に2番目のディスクを切断したり、失敗したりした場合でも、Windows7ブートローダーは機能していました。
これは何年もの間うまく機能しています。
今月のWindowsUpdateの一環として、サポートの終了メッセージとWindows 10へのアップグレードの可能性を指摘する更新に関連していると思いますWindows 7は独自のブートローダーをCから移動しました:セカンダリディスクのデータパーティションに(D:)。 D:にはbootmgr.exe
フォルダーとBoot
フォルダーがあり、C:にはありません。
GRUB経由のデュアルブートは引き続き正常に機能しますが、Windows独自のブートローダーをC:に保持したいのですが、bootmngr.exeとブートフォルダーをコピーして戻すだけで十分ですか? C:、またはWindowsインストールDVDを使用してWindowsインストールを「修復」する必要がありますか?そのディスクだけを修正した場合、セカンダリディスクのGRUBは引き続き機能しますか?
更新:(2019年12月)それは再び起こった!セキュリティ累積パッケージをインストールしましたが、Windowsは、インストールされているSSDが適切でないと判断し、他のハードドライブに移動したようです。
[〜#〜] update [〜#〜] 2番目のディスクを切断して再起動すると、Windowsが通常ではなく修復モードで起動しました。 「スタートアップ修理」を選びましたが、うまくいきませんでした。 Windowsは自動的に修復できないとのことです。表示されたエラーの詳細は「NoOsLoader」のようなものでした。オリジナルのWindowsインストールDVDを挿入し、PCを再起動しました。 BIOSでは「DVDから起動するには任意のキーを押してください」と表示されていたので、それを実行してDVDから起動しました。タイムゾーンとキーボードを選択し、[スタートアップ修復]を再度選択すると、完全な再インストールを実行しなくても、不足しているブートローダーが修正されました。これでWindowsが再起動し、今回はC:から正常に起動できます。この間、Windows修復ユーティリティが代わりにこのディスクを台無しにすることにした場合に備えて、セカンダリHDD(電源ケーブルとデータケーブルの両方)が切断されました。修復が成功したことが確認された後、他のHDDに再度接続し、Linuxを起動しました。 D:パーティションを調べたところ、以前は存在せず、最近Windowsによって作成されたファイルがいくつか見つかりました。
/boot
bootmgr.exe
それが間違いなく問題の原因でした。 Windowsは、独自のBOOTOADERを自分の選択したパーティションに移動しました。
それらのファイルは、それらが属するC:にすでに再インストールされているため、削除しました。
これが再び発生するのを防ぐために、2つの選択肢があります。
これは私が約1年前に経験した問題であり、古いHDDから新しいSSDへのデータの移行を容易にするために2番目のドライブにWindowsをインストールしようとしていました。インストール中に、バグであろうと設計によるものであろうと、Windowsは他のディスク上のブートローダーを検出し、そこに自身をインストールします。ブートローダーを正しいディスクに配置することはできませんでした。修復しようとすると、ブルースクリーンまたは「OSが見つかりません」というきちんとしたメッセージが表示されました。
最善の策は、Linuxディスクを取り外した状態でインストールディスク/ USBを使用してWindowsを修復することです。ファイルを移動することはおそらく可能ですが、Microsoftはあなたの人生を悲惨にする可能性のある関連付けを作成することを好むため、お勧めしません。
Windows 7の起動プロセスは非常に壊れやすいため、問題は微妙です。
理論的には、ブートフォルダを含むシステム予約済みパーティションをDからCにコピーすることは可能ですが、いくつかの落とし穴があります。
Windows 7パーティションは、正確なセクターアドレスにとどまる必要があります。そうしないと、ブートプロセスが機能しません。ディスク容量を解放するために移動すると、起動できなくなる場合があります。
システム予約済みパーティションをDからCにコピーした後、BCDを設定するコマンドは次のとおりです。
bcdboot c:\windows /s c:
また、Windows内から発行する必要があるため、grubから起動する必要があり、どのBCDストアが更新されるかは不明です。 Dのものである場合は、Windows 7をUSBからコマンドプロンプトで起動し、正しいボリューム文字を使用してLinuxディスクを切断した状態でこのコマンドを発行する必要がある場合があります。
始める前に、いくつかの予防策を講じることをお勧めします。
Cのシステムイメージを含むバックアップを取ります。 AOMEI Backupper Freeware などのサードパーティ製品を使用し、その ブートメディア を作成してテストします。これにより、ディスクを動作状態に復元する手段が提供されます。
インストールと同じサービスパックレベルのWindows7ブートメディアを準備します。これは、 スタートアップ修復 を実行する必要がある場合があるためです。それが機能しない場合は、 修復インストールを実行して修正する) Windows 7 。
あなたは上記の予防策のいくつかを短絡させることができるかもしれません、しかしあなたはあなたの側でいくらかの運を持っている必要があるでしょう。