Windows hat den Bootloader auf ein anderes Laufwerk verschoben

Windows hat den Bootloader auf ein anderes Laufwerk verschoben

Ich habe eine Dual-Boot-Installation. Ich habe Windows 7 zunächst auf einer eigenen Festplatte (C:) installiert und das sekundäre Laufwerk getrennt. Ich habe das gemacht, weil ich weiß, dass Windows dazu neigt, andere Laufwerke zu stören. Dann habe ich ein sekundäres Laufwerk angeschlossen, eine Datenpartition (D:) erstellt und Linux auf einer dritten Partition installiert.

Um zusammenzufassen:

  • Datenträger 1: Windows-Partition (C:)
  • Datenträger 2: Daten (D:), Linux (aufgrund des Dateisystems für Windows unsichtbar), Swap.

Bei der Installation von Linux wurde GRUB auch auf der zweiten Festplatte installiert (BIOS, nicht UEFI). Der Windows-Bootloader,welches in C: installiert wurde, wurde nicht verwendet. Wenn ich im Notfall die zweite Festplatte abtrennte oder sie ausfiel, funktionierte der Windows 7-Bootloader trotzdem.

Das funktioniert seit Jahren gut.

Jetzt als Teil eines Windows-Updates in diesem Monat, und ich nehme an, es hängt mit diesem Update zusammen, das Sie mit der Meldung zum Ende des Supports und einem möglichen Upgrade auf Windows 10 nervt,Windows 7 hat seinen eigenen Bootloader von C: in die Datenpartition auf der sekundären Festplatte (D:) verschoben.. Es gibt jetzt einen bootmgr.exeund einen BootOrdner in D: und keinen in C:.

Der Dual-Boot über GRUB funktioniert zwar immer noch einwandfrei, aber ich möchte, dass der Windows-Bootloader in C: bleibt, wo er hingehört. Reicht es aus, bootmngr.exe und den Boot-Ordner zurück nach C: zu kopieren, oder sollte ich die Windows-Installations-DVD verwenden, um die Windows-Installation zu „reparieren“? Und wenn ich diese Festplatte alleine repariere, würde der GRUB auf der sekundären Festplatte dann immer noch funktionieren?

UPDATE: (Dezember 2019) Es ist schon wieder passiert! Ich habe ein kumulatives Sicherheitspaket installiert und anscheinend hat Windows entschieden, dass die SSD, auf der es installiert war, nicht gut ist und hat sich selbst auf die andere Festplatte verschoben.

Antwort1

AKTUALISIEREN Ich habe die zweite Festplatte abgeklemmt, neu gestartet und Windows wurde im Reparaturmodus statt im normalen Modus gebootet. Ich habe „Startup-Reparatur“ gewählt, aber es hat nicht funktioniert. Es hieß, Windows könne nicht automatisch reparieren. Die angezeigten Fehlerdetails waren so etwas wie „NoOsLoader“. Ich habe die originale Windows-Installations-DVD eingelegt und den PC neu gestartet. Im BIOS stand „Drücken Sie eine beliebige Taste, um von der DVD zu booten“, also habe ich das getan und von der DVD gebootet. Ich habe Zeitzone und Tastatur ausgewählt, dann wieder „Startup-Reparatur“ gewählt und es hat den fehlenden Bootloader repariert, ohne eine vollständige Neuinstallation durchführen zu müssen. Jetzt wurde Windows erneut neu gestartet und dieses Mal konnte es normal von C: booten. Während dieser ganzen Zeit war die sekundäre Festplatte abgeklemmt (sowohl Strom- als auch Datenkabel), für den Fall, dass das Windows-Reparaturprogramm stattdessen diese Festplatte manipulieren würde. Nachdem die Reparatur als erfolgreich bestätigt wurde, habe ich die andere Festplatte wieder angeschlossen und Linux gebootet. Ich habe die Partition D: überprüft und einige Dateien gefunden, die vorher nicht da waren und erst kürzlich von Windows erstellt wurden:

/boot
bootmgr.exe

Das war also definitiv die Ursache des Problems. Windows hatte seinen eigenen Bootloader auf eine Partition seiner Wahl verschoben.

Ich habe diese Dateien gelöscht, da sie bereits in C: neu installiert wurden, wo sie hingehören.

Um zu verhindern, dass dies erneut passiert, habe ich zwei Möglichkeiten:

  1. Installieren Sie nie wieder „Sicherheits“-Updates, da diese eindeutig den Bootloader durcheinanderbringen.
  2. Deaktivieren Sie die Partition D: in Windows.

Antwort2

Dieses Problem hatte ich vor etwa einem Jahr, als ich versuchte, Windows auf einem zweiten Laufwerk zu installieren, um die Datenmigration von einer alten Festplatte auf eine neue SSD zu erleichtern. Während der Installation erkennt Windows Bootloader auf anderen Festplatten und installiert sich dort, egal ob es sich um einen Fehler oder um ein Design handelt. Ich konnte den Bootloader auf keine Weise auf die richtige Festplatte bringen und alle Versuche, das Problem zu beheben, endeten mit Bluescreens oder der einfachen Meldung „Kein Betriebssystem gefunden“.

Am besten versuchen Sie, Windows mit einer Installationsdiskette/einem USB-Stick zu reparieren, während Ihre Linux-Diskette nicht angeschlossen ist. Obwohl es wahrscheinlich möglich ist, die Datei(en) zu verschieben, empfehle ich dies nicht, da Microsoft gerne Verknüpfungen erstellt, die Ihnen das Leben schwer machen können.

Antwort3

Das Problem ist heikel, da der Startvorgang von Windows 7 recht fragil ist.

Theoretisch ist es möglich, die systemreservierte Partition, die den Boot-Ordner enthält, von D nach C zu kopieren, es gibt jedoch einige Fallstricke:

  • Die Windows 7-Partition muss ihre genaue Sektoradresse beibehalten, sonst funktioniert der Startvorgang nicht. Wenn Sie sie verschieben, um Speicherplatz freizugeben, kann sie möglicherweise nicht mehr gestartet werden.

  • Nach dem Kopieren der System Reserved-Partition von D nach C lautet der Befehl zum Festlegen des BCD:

    bcdboot c:\windows /s c:
    

    und es muss innerhalb von Windows ausgeführt werden, Sie müssen also von Grub booten, und es ist unklar, welcher BCD-Store aktualisiert wird. Wenn es der auf D ist, müssen Sie möglicherweise Windows 7 von USB in die Eingabeaufforderung booten und diesen Befehl mit dem richtigen Datenträgerbuchstaben und bei getrennter Linux-Festplatte ausführen.

Bevor Sie beginnen, schlage ich vor, einige Vorsichtsmaßnahmen zu treffen:

Möglicherweise können Sie einige der oben genannten Vorsichtsmaßnahmen umgehen, aber dazu brauchen Sie etwas Glück.

verwandte Informationen