Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.
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 :
- Créer et accéder à une VM de réparation
- Réparer ou remplacer le fichier endommagé
- Activer la console série et la collecte de vidage mémoire
- 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
- 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.
- 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é
Sur le disque attaché, accédez à l’emplacement du fichier binaire affiché dans le message d’erreur.
Renommez le fichier du nom binaire.sys en <nom> binaire.sys.old.><
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.
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 :
Ouvrez une invite de commandes avec élévation de privilèges exécutée avec les privilèges Administrateur.
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
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 queF:
, 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.