Partager via


Erreur d’arrêt Windows 0xC0000102 Fichier d’état endommagé

S’applique à : ✔️ Machine virtuelles Windows

Cet article fournit des étapes pour résoudre les problèmes où le système d’exploitation Windows rencontre l’erreur d’arrêt 0xC0000102, ce qui empêche le démarrage d’une machine virtuelle Azure.

Symptômes

Lorsque vous utilisez des diagnostics de démarrage pour afficher la capture d’écran de la machine virtuelle, la capture d’écran affiche le message indiquant que le code d’erreur du système d’exploitation a rencontré 0xC0000102 au démarrage.

Capture d’écran montrant les informations détaillées sur l'0xC0000102 d’erreur.

Erreur 0xC0000102 sur un écran CMD.

Cause

L’erreur 0xC0000102 est une STATUS_FILE_CORRUPT_ERROR, ce qui signifie qu’un fichier endommagé empêche votre machine virtuelle de démarrer correctement. Il existe deux causes possibles pour ce code d’erreur :

  • Le fichier affiché dans le message d’erreur est endommagé.
  • La structure de disque est devenue endommagée et illisible.

Solution

Restaurer la machine virtuelle à partir d’une sauvegarde

Si vous avez une sauvegarde récente de la machine virtuelle, vous pouvez essayer de restaurer la machine virtuelle à partir de la sauvegarde pour résoudre le problème de démarrage. Si la restauration de la machine virtuelle à partir de la sauvegarde n’est pas possible, procédez comme suit :

  1. Créer et accéder à une VM de réparation
  2. Réparer ou remplacer le fichier endommagé
  3. Activer la console série et la collecte de vidage mémoire
  4. Reconstruire la VM

Note

Lorsque vous rencontrez cette erreur, le système d’exploitation invité n’est pas opérationnel. Vous effectuerez un dépannage en mode hors connexion pour résoudre ce problème.

Étape 1 : créer et accéder à une machine virtuelle de réparation

  1. Suivez les étapes 1 à 3 de l’exemple de processus de réparation de machine virtuelle pour préparer une machine virtuelle de réparation.
  2. Utilisez la connexion Bureau à distance pour vous connecter à la machine virtuelle de réparation.

Étape 2 : Réparer ou remplacer le fichier endommagé

Réparez ou remplacez le fichier binaire endommagé (.sys) en procédant comme suit :

Réparer le fichier binaire endommagé

Ouvrez une invite CMD avec élévation de privilèges et exécutez chkdsk sur le disque :

chkdsk <drive-letter>: /F

Remplacer le fichier binaire endommagé

  1. Sur le disque attaché, accédez à l’emplacement du fichier binaire affiché dans le message d’erreur.

  2. Renommez le fichier du nom binaire.sys en <nom> binaire.sys.old.><

  3. Sur le disque attaché, accédez au dossier \Windows\WinSxS . Ensuite, recherchez le fichier binaire affiché dans le message d’erreur. Pour ce faire, exécutez la commande suivante dans une invite de commandes :

    dir <binary-name> /s
    

    La commande répertorie toutes les différentes versions du fichier binaire avec la date de création. Copiez la dernière version du fichier binaire dans le dossier \Windows\System32\Drivers en exécutant la commande suivante :

    copy <drive>:\Windows\WinSxS\<directory-where-file-is>\<binary-name>.sys <drive>:\Windows\System32\Drivers\
    

    Par exemple, consultez la sortie de la console suivante :

    E:\Windows\WinSxS>dir ACPI.sys /s 
     Volume in drive E has no label. 
     Volume Serial Number is A0B1-C2D3 
    
     Directory of E:\Windows\WinSxS\amd64_acpi.inf_0123456789abcdef_6.3.9600.16384_none_cdef0123456789ab 
    
    11/21/2014  07:48 PM            94,989 acpi.sys 
                   1 File(s)         94,989 bytes 
    
     Directory of E:\Windows\WinSxS\amd64_acpi.inf_0123456789abcdef_6.3.9600.16384_none_89abcdef01234567 
    
    11/21/2014  07:48 PM           119,547 acpi.sys 
                   1 File(s)        119,547 bytes 
    
     Directory of E:\Windows\WinSxS\amd64_acpi.inf_0123456789abcdef_6.3.9600.16384_none_456789abcdef0123 
    
    11/21/2014  04:06 PM           533,824 acpi.sys 
                   1 File(s)        533,824 bytes 
    
         Total Files Listed: 
                   3 File(s)        748,360 bytes 
                   0 Dir(s)  123,967,512,576 bytes free 
    
    E:\Windows\WinSxS>copy E:\Windows\WinSxS\amd64_acpi.inf_0123456789abcdef_6.3.9600.16384_none_cdef0123456789ab\acpi.sys E:\Windows\System32\Drivers\ 
            1 file(s) copied. 
    
    E:\Windows\WinSxS> 
    

    Note

    • Si le fichier binaire système ne peut pas être renommé, prenez possession du fichier. Cette action vous donne un accès complet à ce fichier.

    • L’exemple de sortie de la console montre le volume E comme exemple. La lettre réelle doit refléter le lecteur défectueux (le disque du système d’exploitation attaché en tant que disque de données sur la machine virtuelle de dépannage).

    • Si le dernier fichier binaire ne fonctionne pas, vous pouvez essayer la version précédente du fichier pour obtenir un niveau de mise à jour système antérieur sur ce composant.

    • Si le seul fichier binaire retourné dans cette étape correspond au fichier que vous essayez de remplacer sur la machine virtuelle affectée, et si les deux fichiers ont la même taille et le même horodatage, vous pouvez remplacer le fichier endommagé en le copiant à partir d’une autre machine virtuelle qui a le même système d’exploitation et, si possible, le même niveau de mise à jour système.

  4. Détachez le disque réparé de la machine virtuelle de dépannage. Ensuite, créez une machine virtuelle à partir du disque du système d’exploitation.

Étape 3 : Activer la console série et la collecte de vidage de mémoire

Avant de reconstruire la machine virtuelle, il est recommandé d’activer la collecte de vidage mémoire et la console série. Pour ce faire, procédez comme suit :

  1. Ouvrez une invite de commandes avec élévation de privilèges exécutée avec les privilèges Administrateur.

  2. Exécutez les commandes BCDEdit suivantes à l’aide des options /ems et /emssettings :

    Activez la console série :

    bcdedit /store <volume-letter-containing-the-bcd-folder>:\boot\bcd /ems {<boot-loader-identifier>} ON
    bcdedit /store <volume-letter-containing-the-bcd-folder>:\boot\bcd /emssettings EMSPORT:1 EMSBAUDRATE:115200
    
  3. Vérifiez que l’espace libre sur le disque du système d’exploitation est supérieur à la taille de la mémoire (RAM) sur la machine virtuelle.

    Si l’espace sur le disque de système d’exploitation est insuffisant, modifiez l’emplacement où le fichier de vidage de la mémoire sera créé et assignez cet emplacement à tout disque de données connecté à la machine virtuelle qui dispose de suffisamment d’espace libre. Pour modifier l’emplacement, remplacez %SystemRoot% par la lettre de lecteur du disque de données, telle que F:, dans les commandes suivantes.

    Pour activer le fichier de vidage du système d’exploitation, exécutez les commandes charger, ajouter et décharger suivantes pour implémenter la configuration suggérée à l’aide de l’outil reg :

    Chargez la ruche du Registre à partir du disque de système d’exploitation endommagé :

    reg load HKLM\<broken-system> <volume-letter-of-broken-os-disk>:\windows\system32\config\SYSTEM
    

    Activer sur ControlSet001 :

    reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f
    reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f
    reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f
    

    Activer sur ControlSet002 :

    reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f
    reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f
    reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f
    

    Décharger le disque du système d’exploitation endommagé :

    reg unload HKLM\<broken-system>
    

Étape 4 : reconstruire la machine virtuelle

Utilisez l’étape 5 des commandes de réparation de VM pour reconstruire la VM.

Contactez-nous pour obtenir de l’aide

Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.