Ich habe ein System, das Gentoo Linux und Windows 7 mit GRUB2 dual bootet. Der Computer verfügt über vier Laufwerke, und Windows ist auf der dritten (letzten) Partition von Laufwerk 2 installiert. Das Laufwerkslayout sieht folgendermaßen aus:
|boot|-----------------home-----------------|-------------windows-------------|
( boot
und home
sind Linux-Partitionen) Es ist ein seltsames Setup, aber es hat immer funktioniert, bis ich mich entschied, die Windows-Partition mit Gparted zu verkleinern. Das neue Layout ist:
|boot|-----------------------home-----------------------|-------windows-------|
Nachdem ich diese Partitionsänderungen vorgenommen habe, erhalte ich die folgende Fehlermeldung, wenn ich die Windows-Option in GRUB2 auswähle und die Steuerung an den Windows-Bootloader übergibt:
Windows Boot Manager
Windows konnte nicht gestartet werden. Eine kürzliche Änderung der Hardware oder Software könnte die Ursache sein. Um das Problem zu lösen: 1. Legen Sie die Windows-Installations-CD ein und starten Sie den Computer neu. 2. Wählen Sie Ihre Spracheinstellungen und klicken Sie dann auf "Weiter". 3. Klicken Sie auf "Computer reparieren". Wenn Sie diese CD nicht haben, wenden Sie sich an Ihren Systemadministrator oder Computer Hersteller zur Unterstützung. Status: 0xc0000225 Info: Die Startauswahl ist fehlgeschlagen, da auf ein erforderliches Gerät nicht zugegriffen werden kann.
Ich bin nicht besonders überrascht, dass dies passiert, aber ich frage mich, ob ich das Problem beheben kann, ohne Windows neu zu installieren.
Ich habe versucht, den Computer mit der Windows-Installations-DVD (speziell einer Windows 7-Upgrade-DVD) zu starten. Nachdem ich die Sprache und die Tastatur ausgewählt und auf "Diesen Computer reparieren" geklickt habe, erkennt der Bildschirm "Systemwiederherstellungsoptionen" meine Windows-Partition nicht . Ich kann auf „Weiter“ klicken und dann sowieso Startup Repair verwenden, das das Problem zu beheben fehlschlägt , oder Kommandozeilen - Tools versuchen, nämlich bootrec
(von mehreren Websites vorgeschlagen), sfc
und chkdsk
. Keiner von ihnen machte einen Unterschied; Ich erhalte immer noch die gleiche Fehlermeldung. (Ausführliche Informationen zur Ausgabe finden Sie weiter unten.)
Wie in ähnlichen Fragen vorgeschlagen, habe ich versucht, die Funktion "Rebuild BS" (Neustart des Bootsektors) in TestDisk zu verwenden , die unter Linux ausgeführt wird und auf der Windows-Partition ausgeführt wird. Das hat auch nichts an dem Fehler geändert, den ich bekomme.
Ich habe auf beiden Partitionen keine Anzeichen von Datenbeschädigung festgestellt und die Laufwerke haben keine physischen Schäden erlitten. Es ist also ziemlich sicher, dass die Änderung des Partitionslayouts die Ursache für diesen Fehler ist. Ich nehme an, Windows muss den Startsektor und / oder die Partitionsgröße irgendwo in seinem Dateisystem (der Registrierung?) Gespeichert haben, was darauf hindeutet, dass es im Prinzip möglich sein sollte, dies durch Drehen einiger Bytes in einer Datei irgendwo zu beheben. Aber welche Datei? Oder ist da etwas komplizierter?
Wenn es hilft, ist hier der GRUB2-Konfigurationsabschnitt, der Windows entspricht:
menuentry 'Windows 7 (loader) (on /dev/sdb3)' --class windows --class os $menuentry_id_option 'osprober-chain-1F9948EB30A986A0' {
insmod part_msdos
insmod ntfs
set root='hd1,msdos3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos3 --hint-efi=hd1,msdos3 --hint-baremetal=ahci1,msdos3 1F9948EB30A986A0
else
search --no-floppy --fs-uuid --set=root 1F9948EB30A986A0
fi
chainloader +1
}
Wiederum suche ich nach einer Möglichkeit, dies zu beheben, ohne Windows neu zu installieren. Wenn das nicht möglich ist, ist eine Neuinstallation ein akzeptabler Plan B, aber ich kann das selbst erledigen.
Hier ist eine Abschrift meiner Eingabeaufforderungssitzungen, während ich mit der Windows 7-Installations-DVD in die Reparaturumgebung gebootet habe. Ich habe einige leere Zeilen zur besseren Lesbarkeit entfernt. Folgendes ist bei allen anderen Laufwerken nicht verbunden :
>bootrec /fixmbr
The operation completed successfully,
>bootrec /fixboot
The volume does not contain a recognized file system.
Please make sure that all required file system drivers are loaded and that the volume is not corrupted.
>bootrec /scanos
Scanning all disks for Windows installations.
Please wait, since this may take a while...
Successfully scanned Windows installations.
Total identified Windows installations: 1
[1] C:\Windows
The operation completed successfully.
>bootrec /rebuildbcd
Scanning all disks for Windows installations.
Please wait, since this may take a while...
Successfully scanned Windows installations.
Total identified Windows installations: 1
[1] C:\Windows
Add installation to boot list? Yes(Y)/No(N)/All(A):y
The volume does not contain a recognized file system.
Please make sure that all required file system drivers are loaded and that the volume is not corrupted.
>sfc /verifyonly /offwindir=C:\Windows /offbootdir=C:\
Beginning system scan. This process will take some time.
Windows Resource Protection did not find any integrity violations.
>chkdsk C: /F
The type of the file system is NTFS.
Volume label is windows.
CHKDSK is verifying files (stage 1 of 3)...
313344 file records processed.
File verification completed.
1684 large file records processed.
0 bad file records processed.
2 EA records processed.
158 reparse records processed.
CHKDSK is verifying indexes (stage 2 of 3)...
416370 index entries processed.
Index verification completed.
0 unindexed files scanned.
0 unindexed files recovered.
CHKDSK is verifying security descriptors (stage 3 of 3)...
313344 file SDs/SIDs processed.
Security descriptor verification completed.
51514 data files processed.
CHKDSK is verifying Usn journal...
35406088 USN bytes processed.
Usn Journal verification completed.
Windows has checked the file system and found no problems.
207510871 KB total disk space.
104134880 KB in 251224 files.
137304 KB in 51514 indexes.
0 KB in bad sectors.
423075 KB in use by the system.
65536 KB occupied by the log file.
102815612 KB available on disk.
4096 bytes in each allocation unit.
51877717 total allocation units on disk.
25703903 allocation units available on disk.
Failed to transfer logged messages to the event log with status 50.
>diskpart
Microsoft DiskPart version 6.1.7600
Copyright (C) 1999-2008 Microsoft Corporation.
On computer: MININT-P92LVUL
DISKPART>list disk
Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
Disk 0 Online 596 GB 0 B
DISKPART>select disk 0
Disk 0 is now the selected disk.
DISKPART>list part
Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 Primary 62 MB 31 KB
Partition 2 Primary 398 GB 62 MB
Partition 3 Primary 197 GB 398 GB
Wenn ich die gleichen Befehle mit allen angeschlossenen Laufwerken ausführe, ist die Ausgabe dieselbe, mit der Ausnahme, dass diskpart
alle Laufwerke korrekt angezeigt werden und der Laufwerksbuchstabe für die betreffende Windows-Partition D
anstelle von C
(angezeigt wird, da ich auf Laufwerk 1 eine NTFS-Datenpartition habe ).
Ich würde bemerken, dass bootrec /fixmbr
der MBR von Laufwerk # 2 überschreibt und den dort von GRUB2 gestellten MBR ersetzt. Wenn ich dann versuche, von dieser Festplatte zu booten, erhalte ich einfach die Meldung "Fehlendes Betriebssystem" anstelle des Fehlers 0xc0000225. Ich kann dann in Linux booten und grub-install
den GRUB2-MBR zurücksetzen. Wenn ich dann die Windows-Option in GRUB2 wähle, wird wieder 0xc0000225 angezeigt.