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

16

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-------------|

( bootund homesind 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), sfcund 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 diskpartalle Laufwerke korrekt angezeigt werden und der Laufwerksbuchstabe für die betreffende Windows-Partition Danstelle von C(angezeigt wird, da ich auf Laufwerk 1 eine NTFS-Datenpartition habe ).

Ich würde bemerken, dass bootrec /fixmbrder 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-installden GRUB2-MBR zurücksetzen. Wenn ich dann die Windows-Option in GRUB2 wähle, wird wieder 0xc0000225 angezeigt.

David Z
quelle
Das Klonen von Windows erfordert häufig Partitionsmanipulationen, die den Startvorgang von Windows unterbrechen. Windows wird nicht gestartet, wenn sich die Partition an einer anderen Position auf der Festplatte befindet als während der Installation. Wäre nett, Ihre Erkenntnisse zu nutzen :)
Basilevs
@ Ali786 Nun, ich würde lieber Windows neu installieren, als 20 US-Dollar für ein Tool auszugeben, um das Problem zu beheben. Aber sonst wäre das eine Option. (Ich habe mir diese Website bereits angesehen, als ich diese Frage vorbereitet habe.)
David Z
Wie wäre es, wenn Sie Ihre Installationsdiskette verwenden und auf Jetzt aktualisieren klicken, anstatt eine Neuinstallation durchzuführen? Es ist eine Art Neuinstallation, aber Sie behalten Ihre Dateien.
Rsya Studios
1
@ RsyaStudios Das grafische Installationsprogramm erkennt meine vorhandene Windows-Installation nicht, daher glaube ich nicht, dass ich das kann.
David Z

Antworten:

11

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

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

Der Bootsektor : Mit dem Bootsekt- Tool 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 die BCD und erstellen Sie sie wie folgt neu:

bcdedit /export C:\boot\bcd.backup
ren C:\boot\bcd C:\boot\bcd.old
bootrec /rebuildbcd
Tamara Wijsman
quelle
Dies stellte sich als das richtige Problem (und die richtige Lösung) heraus, aber Ihr Tipp zum Festlegen der Partition activewar der eigentliche Schlüssel. Ich musste die Partition aktivieren, bootrecdamit ich wusste, wo ich die neu erstellte BCD schreiben sollte. Vielleicht könnten Sie das zur Antwort hinzufügen? (Ich musste nicht verwenden bootsect, wie sich herausstellte.)
David Z
Die Antwort wurde aktualisiert, indem mein Kommentar eingebettet wurde. Ja, die Details der Trennwand waren das fehlende Teil hier.
Tamara Wijsman
"ren C: \ boot \ bcd C: \ boot \ bcd.old" hat mir einen Fehler gemeldet. Sollte "ren C: \ boot \ bcd bcd.old" sein
user4035
3

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äger-Manager verwenden, um die Größe der Partitionen zu ändern, da die Festplatte dadurch 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 Repair Install ausführen, 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 .

Harrymc
quelle
Ah, das war beabsichtigt. Nachdem ich den Papierkorb geleert und die Partition defragmentiert hatte (ich habe allerdings vergessen, bestimmte Dateien zu deaktivieren), habe ich versucht, die Partitionsgröße mithilfe von Windows zu ändern. Ich werde die Reparaturinstallation versuchen und sehen, ob es funktioniert. Wenn nicht, kann ich die Windows-Partition von Linux aus mounten und nützliche Dateien auf eine andere Partition kopieren, sodass ich nicht auf die Datenwiederherstellung zurückgreifen muss.
David Z
Wenn ich es mir jetzt ansehe, sehe ich, dass eine Reparaturinstallation nur unter Windows durchgeführt werden kann. Das hilft mir also nicht weiter.
David Z
Sie können dies mit einer Windows 7 SP1 DVD / USB tun. Details im obigen Artikel.
Harrymc
1
Nein, ich kann nicht. In dem Artikel wird (mehrmals) ausdrücklich darauf hingewiesen, dass Sie bereits Windows ausführen müssen, um eine Reparaturinstallation durchzuführen. Außerdem habe ich es versucht, und ich kann die Upgrade-Option beim Booten von einer DVD nicht verwenden.
David Z
Gelingt es Linux, die Festplatte zu mounten, und können Sie das Dateisystem und insbesondere den Windows-Ordner durchsuchen und sogar Dateien daraus kopieren? Können Sie die Windows-DVD in DOS booten und die Diskette sehen? Versuchen Sie auch, ein mögliches Gerät vom Computer zu trennen.
Harrymc
1

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 2 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 umgestiegen 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 ^^

Ziiik
quelle
-1

Fügen Sie hier eine Antwort hinzu, da dies die Seite ist, die für mich angezeigt wurde, und die Antwort, die ich brauchte:

0xc0000225 kann auch durch Deaktivieren der ACPI APIC-Unterstützung im BIOS (wie in diesem BIOS angegeben) verursacht werden. Ich habe es deaktiviert, während Suspend-Probleme in Ubuntu behoben wurden, aber Windows erfordert in diesem Fall, dass es aktiviert ist.

Dies führte auch dazu, dass die Wiederherstellung von Setup-CD / USB mit demselben Fehler fehlschlug, sodass mit Windows nichts getan werden konnte, bis es aktiviert wurde.

0xc0000225 ist während des Windows 10 Creators-Updates aufgetreten, wurde jedoch erst nach dem Deaktivieren der BIOS-Einstellungen wieder in Windows gestartet. Es sah also so aus, als ob es durch das Update verursacht wurde, war es aber nicht! Tricky!

CmosBattery
quelle