Windows-stoppfel 0xC0000102 statusfil skadad

Den här artikeln innehåller steg för att lösa problem där Windows-operativsystemet (OS) stöter på stoppfelet 0xC0000102, vilket förhindrar att en virtuell Azure-dator (VM) startar.

Symptom

När du använder startdiagnostik för att visa skärmbilden av den virtuella datorn visar skärmbilden meddelandet om att operativsystemet påträffade felkoden 0xC0000102 under starten.

Skärmbild som visar detaljerad information om fel 0xC0000102.

Fel 0xC0000102 på en CMD-skärm.

Orsak

Fel 0xC0000102 är en STATUS_FILE_CORRUPT_ERROR, vilket innebär att en skadad fil hindrar den virtuella datorn från att starta korrekt. Det finns två möjliga orsaker till den här felkoden:

  • Filen som visas i felmeddelandet är skadad.
  • Diskstrukturen har blivit skadad och oläslig.

Lösning

Tips

Om du har en säkerhetskopia av den virtuella datorn nyligen kan du försöka återställa den virtuella datorn från säkerhetskopian för att åtgärda startproblemet.

Lös problemet genom att följa dessa steg:

  1. Skapa och få åtkomst till en virtuell reparationsdator
  2. Reparera eller ersätta den skadade filen
  3. Aktivera seriekonsol och insamling av minnesdumpar
  4. Återskapa den virtuella datorn

Obs!

Gästoperativsystemet fungerar inte när det här felet uppstår. Du kommer att felsöka i offlineläge för att lösa problemet.

Steg 1: Skapa och komma åt en virtuell reparationsdator

  1. Följ steg 1–3 i översikten över reparationsprocessen för virtuella datorer för att förbereda en virtuell reparationsdator.
  2. Använd Anslutning till fjärrskrivbord för att ansluta till den virtuella reparationsdatorn.

Steg 2: Reparera eller ersätt den skadade filen

  • Reparera den skadade filen

    Öppna en upphöjd CMD-prompt och kör chkdsk på disken:

    chkdsk <<DRIVE LETTER>: /F
    
  • Ersätt den skadade filen

  1. Använd startdiagnostik för att visa skärmbilden av den virtuella datorn. Observera filen som visas i felet.

  2. Utför följande steg för att ersätta den skadade binärfilen:

    1. Bläddra till platsen för binärfilen som visades på skärmbilden.

    2. Anteckna filens version. (Högerklicka på Egenskaper och välj fliken Information .)

      Skärmbild som visar informationen under fliken Information. Filversionen är markerad.

    3. Byt namn på filen till <FILENAME. EXT>. GAMLA. Filen som visas i bilden ovan skulle till exempel byta namn från \windows\system32\drivers\cng.sys till \windows\system32\drivers\cng.sys.old.

  3. Återställ den här filen från den interna lagringsplatsen.

    1. Starta en CMD-session och leta upp volymen som innehåller Din Windows-katalog.

    2. Bläddra till \windows\winsxs och sök efter binärfilen som visas på skärmbilden:

      dir <<binary from the screenshot with extension>> /s
      
    3. Följande kommando visar en lista över alla olika versioner av den angivna filen som den virtuella datorn innehåller och ger dig sökvägshistoriken för komponenten. Du bör välja den senaste av samma version i listan och fortsätta att kopiera filen till mappsökvägen som beskrivs i skärmbilden.

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

Steg 3: Aktivera seriekonsolen och minnesdumpsamlingen

Innan du återskapar den virtuella datorn rekommenderar vi att du aktiverar insamling av minnesdumpar och seriekonsolen. Det gör du genom att köra följande skript:

  1. Öppna en upphöjd kommandotolksession (kör som administratör).

  2. Visa en lista över BCD-lagringsdata och fastställ startinläsningsidentifieraren, som du ska använda i nästa steg.

    1. För en virtuell dator i generation 1 anger du följande kommando och noterar identifieraren i listan:

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

      I kommandot ersätter du <BOOT PARTITON> med bokstaven för partitionen på den anslutna disken som innehåller startmappen.

      Skärmbild som visar utdata för att visa BCD-arkivet på en virtuell dator i generation 1, som visar identifierarnumret under Windows Boot Loader .

    2. För en virtuell dator i generation 2 anger du följande kommando och noterar identifieraren i listan:

      BCDEDIT /store <LETTER OF THE EFI SYSTEM PARTITION>:EFI\Microsoft\boot\bcd /enum 
      
      • I kommandot ersätter du <LETTER OF THE EFI SYSTEM PARTITION> med bokstaven för EFI-systempartitionen.
      • Det kan vara bra att starta diskhanteringskonsolen för att identifiera lämplig systempartition märkt som EFI-systempartition.
      • Identifieraren kan vara ett unikt GUID eller så kan det vara standard bootmgr.
  3. Kör följande kommandon för att aktivera seriekonsolen:

    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 
    
    • I kommandot ersätter du <VOLUME LETTER WHERE THE BCD FOLDER IS> med bokstaven i BCD-mappen.
    • I kommandot ersätter <BOOT LOADER IDENTIFIER> du med den identifierare som du hittade i föregående steg.
  4. Kontrollera att det lediga utrymmet på OS-disken är större än minnesstorleken (RAM) på den virtuella datorn.

    1. Om det inte finns tillräckligt med utrymme på OS-disken bör du ändra platsen där minnesdumpfilen skapas. I stället för att skapa filen på OS-disken kan du referera till alla andra datadiskar som är anslutna till den virtuella datorn som har tillräckligt med ledigt utrymme. Om du vill ändra platsen ersätter du %SystemRoot% med enhetsbeteckningen (till exempel F:) för datadisken i kommandona nedan.
    2. Ange kommandona nedan (föreslagen dumpkonfiguration):

    Läs in registreringsdatafil från den brutna OS-disken:

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

    Aktivera på 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 
    

    Aktivera på 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 
    

    Ta bort bruten OS-disk:

    REG UNLOAD HKLM\BROKENSYSTEM
    

Steg 4: Återskapa den virtuella datorn

Använd steg 5 i reparationskommandona för virtuella datorer för att återskapa den virtuella datorn.

Kontakta oss för att få hjälp

Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Support för Azure-communityn.