it-swarm.com.de

Kann ich den Fehler 0xc0000225 beheben, ohne Windows neu zu installieren?

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 starten. Eine kürzliche Änderung der Hardware oder Software könnte die Ursache sein. So beheben Sie das Problem: 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 dies nicht haben Wenden Sie sich an Ihren Systemadministrator oder Computerhersteller, um Unterstützung zu erhalten. 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 trotzdem auf "Weiter" klicken und dann "Startup Repair" verwenden, wodurch das Problem nicht behoben werden kann, oder Befehlszeilentools ausprobieren, nämlich bootrec (vorgeschlagen von mehreren Websites), sfc und chkdsk. Keiner von ihnen machte einen Unterschied; Ich erhalte immer noch die gleiche Fehlermeldung. (Detaillierte Ausgabe siehe unten.)

Wie in ähnlichen Fragen vorgeschlagen, habe ich auch versucht, die "Rebuild BS" -Funktion (Rebuild Boot Sektor) in TestDisk zu verwenden, die unter Linux auf der Windows-Partition ausgeführt wird. Das hat auch nichts an dem Fehler geändert, den ich bekomme.

Ich habe keine Anzeichen von Datenbeschädigung auf einer der Partitionen gesehen und die Laufwerke haben keine physischen Schäden erlitten. Daher scheint es ziemlich sicher zu sein, 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 von a zu beheben paar Bytes in einer Datei irgendwo. 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 Sitzungen zur Eingabeaufforderung, während ich mit der Windows 7-Installations-DVD in die Reparaturumgebung gebootet habe. Ich habe einige Leerzeilen 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 dieselben Befehle mit allen angeschlossenen Laufwerken ausführe, ist die Ausgabe dieselbe, außer dass diskpart alle Laufwerke korrekt anzeigt und der Laufwerksbuchstabe für die betreffende Windows-Partition D anstelle von C lautet (da ich eine NTFS-Datenpartition aktiviert habe) Laufwerk 1).

Ich würde bemerken, dass bootrec /fixmbr den MBR von Laufwerk 2 überschreibt und den von GRUB2 dort abgelegten 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 verwenden, um den GRUB2-MBR zurückzusetzen. Wenn ich dann die Windows-Option in GRUB2 auswähle, wird wieder 0xc0000225 angezeigt.

15
David Z

Abhängig von der verwendeten Methode können sich bestimmte Dinge im Verlauf ändern:

Die Partitionsdetails : Verwenden Sie active in diskpart , um die Partition erneut zu aktivieren.

Der Bootsektor : Mit dem Tool bootsect kann der Bootsektor wiederhergestellt werden. (zB bootsect /nt60 C:)

Die Partitions-UUID : Durch Ändern der Partitionsposition und/oder -größe wird die UUID geändert. Daher stimmt die in der BCD gespeicherte nicht zugreifbare UUID nicht mit der UUID Ihrer Partition überein. Um dies zu beheben, entfernen Sie und erstellen Sie die BCD wie folgt neu:

bcdedit /export C:\boot\bcd.backup
ren C:\boot\bcd C:\boot\bcd.old
bootrec /rebuildbcd
11
Tamara Wijsman

Möglicherweise haben Sie das Problem verursacht, indem Sie die Windows-Partition zu stark verkleinert haben.

Windows verfügt über einige nicht verschiebbare Dateien, die ein Drittanbieterprodukt möglicherweise verschieben möchte. Sie sollten in Zukunft den Windows-Datenträgermanager verwenden, um die Größe der Partitionen zu ändern, da dadurch die Festplatte nicht beschädigt wird. Es ist auch eine gute Idee, zuerst den Papierkorb zu deaktivieren und zu leeren, die Auslagerungsdatei sowie den Ruhezustand zu deaktivieren, um die Anzahl der speziellen Windows-Dateien zu minimieren, und auch einen Defragmentierer auszuführen, der alle Dateien am Anfang der Datei komprimiert Platte.

Das heißt, Sie können die Installation reparieren , um Windows 7 zu reparieren . Diese milde Form der Installation behebt Ihr derzeit installiertes Windows 7 und bewahrt Ihre Benutzerkonten, Daten, Programme und Systemtreiber. Der verlinkte Artikel beschreibt den Vorgang detailliert mit Screenshots. Möglicherweise müssen Sie sich später mit einer gewissen Zerstörung des GRUB2-Bootsektors befassen.

Wenn die Reparaturinstallation nicht funktioniert, hat Gparted Ihre Windows-Partition zerstört. Ich hoffe, Sie haben in diesem Fall ein Backup, da Sie andernfalls möglicherweise auf Data Recovery Utilities zurückgreifen müssen.

3
harrymc

Ich hatte ein ähnliches Problem (derselbe Fehlercode 0xc0000225) auf meinem Computer, als ich versuchte, ein Upgrade auf Windows 10 durchzuführen

Das Problem ist auf eine leere EFI-Partition zurückzuführen, die noch auf einem meiner Laufwerke vorhanden ist. Beim Booten findet der Computer zwei EFI-Partitionen: eine von meinem Hauptbetriebssystem und eine andere, die einem alten Betriebssystem entspricht, das ich vor Monaten deinstalliert habe (ich bin von meiner ersten Festplatte auf SSD umgezogen und habe alles formatiert).

Vielleicht ist es auch dein Problem. Ich habe 2 Lösungen für Sie, hoffe es funktioniert:

  • Verwalten Sie auf Ihrem Bedienfeld Ihren Computer, suchen Sie die unbrauchbare EFI-Partition und löschen Sie sie
  • Führen Sie Ihren Computer mit der Windows-Installationsunterstützung aus (Sie können eine davon erstellen, indem Sie den Assistenten auf der Microsoft-Website herunterladen), führen Sie das Installationsprogramm und die erweiterten Einstellungen aus. Wenn alle Volumes angezeigt werden, suchen Sie die EFI-Partition und löschen Sie sie

Ich habe auch Windows neu installiert, aber wenn Sie die fehlerhafte EFI-Partition löschen, wird es ausreichen

Seitdem kein Problem mehr beim Booten, mein Computer konnte W10 usw. installieren.

Tut mir leid, wenn ich Ihnen nicht die genauen Namen der Dinge gebe, auf die Sie klicken müssen, ist mein Betriebssystem auf Französisch ^^

1
Ziiik