Windows-Stopp-Fehler 0xC0000102 Statusdatei beschädigt

Dieser Artikel enthält Schritte zum Beheben von Problemen, bei denen das Betriebssystem Windows auf den Stoppfehler 0xC0000102 stößt, wodurch verhindert wird, dass ein virtueller Computer (VM) von Azure gestartet wird.

Problembeschreibung

Wenn Sie die Startdiagnose zum Anzeigen des Screenshots des virtuellen Computers verwenden, zeigt der Screenshot die Meldung an, dass der Fehlercode 0xC0000102 beim Starten des Betriebssystems aufgetreten ist.

Fehler 0xC0000102.

Fehler 0xC0000102 auf einem CMD-Bildschirm.

Ursache

Fehler 0xC0000102 ist STATUS_FILE_CORRUPT_ERROR, was bedeutet, dass eine beschädigte Datei verhindert, dass Ihr virtueller Computer ordnungsgemäß gestartet wird. Es gibt zwei mögliche Ursachen für diesen Fehlercode:

  • Die in der Fehlermeldung angezeigte Datei ist beschädigt.
  • Die Datenträgerstruktur ist beschädigt und unlesbar geworden.

Lösung

Tipp

Wenn Sie eine aktuelle Sicherung des virtuellen Computers haben, versuchen Sie möglicherweise, den virtuellen Computer aus der Sicherung wiederherzustellen, um das Startproblem zu beheben.

Führen Sie die folgenden Schritte aus, um dieses Problem zu beheben:

  1. Erstellen und Zugreifen auf eine Reparatur-VM
  2. Reparieren oder Ersetzen der beschädigten Datei
  3. Aktivieren der seriellen Konsole und Speicherabbildsammlung
  4. Neuerstellen des virtuellen Computers

Hinweis

Wenn dieser Fehler auftritt, ist das Gastbetriebssystem nicht funktionsfähig. Sie werden die Problembehandlung im Offlinemodus durchführen, um dieses Problem zu beheben.

Schritt 1: Erstellen und Zugreifen auf einen virtuellen Computer für die Reparatur

  1. Befolgen Sie die Schritte 1 bis 3 der Übersicht über den VM-Reparaturprozess, um einen virtuellen Computer für die Reparatur vorzubereiten.
  2. Verwenden Sie eine Verbindung mit der Remotedesktopverbindung mit dem virtuellen Computer für die Reparatur.

Schritt 2: Reparieren oder Ersetzen der beschädigten Datei

  • Reparieren der beschädigten Datei

    Öffnen Sie eine Eingabeaufforderung mit erhöhten Rechten, und führen Sie "chkdsk" auf dem Datenträger aus:

    chkdsk <<DRIVE LETTER>: /F
    
  • Ersetzen der beschädigten Datei

    1. Verwenden Sie die Startdiagnose, um den Screenshot des virtuellen Computers zu sehen. Notieren Sie sich die Datei, die im Fehler angezeigt wird.

    2. Gehen Sie wie folgt vor, um die beschädigte Binärdatei zu ersetzen:

      1. Navigieren Sie zum Speicherort der Binärdatei, die im Screenshot angezeigt wurde.

      2. Notieren Sie sich die Version der Datei. (Klicken Sie mit der rechten Maustaste auf "Eigenschaften", und wählen Sie die Registerkarte "Details" aus.)

        Klicken Sie mit der rechten Maustaste auf &quot;Eigenschaften&quot; und dann auf die Registerkarte &quot;Details&quot;.

      3. Benennen Sie die Datei in . ALT. Beispielsweise würde die in der obigen Abbildung gezeigte Datei von \windows\system32\drivers\cng.sys _ in __ \windows\system32\drivers\cng.sys.old_*_ umbenannt.

    3. Stellen Sie diese Datei aus dem internen Repository wieder zur Verfügung.

      1. Starten Sie eine CMD-Sitzung, und suchen Sie das Volume mit Ihrem Windows-Verzeichnis.

      2. Navigieren Sie zu _ \windows\winsxs*, und suchen Sie nach der binären Datei, die auf Ihrem Screenshot angezeigt wird:

        dir <<binary from the screenshot with extension>> /s
        

        d. Der folgende Befehl listet alle verschiedenen Versionen der angegebenen Datei auf, die der virtuelle Computer enthält, und gibt Ihnen den Pfadverlauf dieser Komponente. Wählen Sie die neueste Version derselben Version aus der Liste aus, und kopieren Sie die Datei in den ordnerpfad, der im Screenshot beschrieben wird.

        copy
        
        <<drive>>:\Windows\WinSxS\<<directory_where_file_is>>\<<binary_with_extension>> <<drive>>:\Windows\System32\Drivers\ 
        

Schritt 3: Aktivieren der Sammlung der seriellen Konsole und des Speicherabbilds

Vor dem Neuerstellen des virtuellen Computers wird empfohlen, die Speicherabbildsammlung und die Serielle Konsole zu aktivieren. Führen Sie dazu das folgende Skript aus:

  1. Öffnen Sie eine Eingabeaufforderungssitzung mit erhöhten Rechten (als Administrator ausführen).

  2. Auflisten der BCD-Speicherdaten und Ermitteln der Startladelade-ID, die Sie im nächsten Schritt verwenden werden.

    1. Geben Sie für einen virtuellen Computer der Generation 1 den folgenden Befehl ein, und notieren Sie sich den aufgeführten Bezeichner:

      bcdedit /store <BOOT PARTITON>:\boot\bcd /enum
      

      Ersetzen Sie im Befehl den Buchstaben der Partition auf dem angefügten Datenträger, <BOOT PARTITON> der den Startordner enthält.

      Der Screenshot zeigt die Ausgabe des Auflistens des BCD-Speichers in einem virtuellen Computer der Generation 1, der unter dem Windows-Startladevorgang die Idnummer auflistet.

    2. Geben Sie für einen virtuellen Computer der Generation 2 den folgenden Befehl ein, und notieren Sie sich den aufgeführten Bezeichner:

      BCDEDIT /store <LETTER OF THE EFI SYSTEM PARTITION>:EFI\Microsoft\boot\bcd /enum 
      
      • Ersetzen Sie im Befehl <LETTER OF THE EFI SYSTEM PARTITION> durch den Buchstaben der EFI-Systempartition.
      • Es kann hilfreich sein, die Datenträgerverwaltungskonsole zu starten, um die entsprechende Systempartition mit der Bezeichnung "EFI-Systempartition" zu identifizieren.
      • Der Bezeichner kann eine eindeutige GUID oder der Standardstartmgr sein.
  3. Führen Sie die folgenden Befehle aus, um die Serielle Konsole zu aktivieren:

    BCDEDIT /store <VOLUME LETTER WHERE THE BCD FOLDER IS>:\boot\bcd /ems {<BOOT LOADER IDENTIFIER>} ON  
    BCDEDIT /store <VOLUME LETTER WHERE THE BCD FOLDER IS>:\boot\bcd /emssettings EMSPORT:1 EMSBAUDRATE:115200 
    
    
    • Ersetzen Sie im Befehl <VOLUME LETTER WHERE THE BCD FOLDER IS> durch den Buchstaben des BCD-Ordners.
    • Ersetzen Sie im Befehl <BOOT LOADER IDENTIFIER> durch den Bezeichner, den Sie im vorherigen Schritt gefunden haben.
  4. Stellen Sie sicher, dass der freie Speicherplatz auf dem Betriebssystemdatenträger größer als die Arbeitsspeichergröße (RAM) auf dem virtuellen Computer ist.

    1. Wenn nicht genügend Speicherplatz auf dem Betriebssystemdatenträger vorhanden ist, sollten Sie den Speicherort ändern, an dem die Speicherabbilddatei erstellt wird. Anstatt die Datei auf dem Betriebssystemdatenträger zu erstellen, können Sie sie auf einen beliebigen anderen an den virtuellen Computer angeschlossenen Datenträger verweisen, der über genügend freien Speicherplatz verfügt. Um den Speicherort zu ändern, ersetzen Sie "%SystemRoot%" durch den Laufwerkbuchstaben (z. B. F:) des Datenträgers in den unten aufgeführten Befehlen.
    2. Geben Sie die folgenden Befehle ein (vorgeschlagene Speicherabbildkonfiguration):

    Laden der Registrierungsstruktur vom beschädigten Betriebssystemdatenträger:

    REG LOAD HKLM\BROKENSYSTEM <VOLUME LETTER OF BROKEN OS DISK>:\windows\system32\config\SYSTEM
    

    Aktivieren auf ControlSet001:

    REG ADD "HKLM\BROKENSYSTEM\ControlSet001\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f 
    REG ADD "HKLM\BROKENSYSTEM\ControlSet001\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f 
    REG ADD "HKLM\BROKENSYSTEM\ControlSet001\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f 
    

    Aktivieren auf ControlSet002:

    REG ADD "HKLM\BROKENSYSTEM\ControlSet002\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f 
    REG ADD "HKLM\BROKENSYSTEM\ControlSet002\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f 
    REG ADD "HKLM\BROKENSYSTEM\ControlSet002\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f 
    

    Entladen des beschädigten Betriebssystemdatenträgers:

    REG UNLOAD HKLM\BROKENSYSTEM
    

Schritt 4: Neuerstellen des virtuellen Computers

Verwenden Sie Schritt 5 der VM-Reparaturbefehle, um den virtuellen Computer neu zu erstellen.