Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: ✔️ macchine virtuali di Windows
Questo articolo descrive l'errore "CRITICAL SERVICE FAILED" che potrebbe verificarsi quando si avvia una macchina virtuale Windows (VM) in Microsoft Azure. Fornisce procedure di risoluzione dei problemi per aiutare a risolvere i problemi.
Sintomo
Una macchina virtuale Windows non si avvia. Quando controlli gli screenshot di avvio in Diagnostica di avvio, viene visualizzato uno dei seguenti messaggi di errore su una schermata blu:
- "Si è verificato un problema ed è necessario riavviare il PC. È possibile riavviare. Per altre informazioni su questo problema e sulle possibili correzioni, visitare https://windows.com/stopcode. Se si chiama un addetto del supporto tecnico, fornire queste informazioni: Codice di arresto: CRITICAL SERVICE FAILED"
- "Si è verificato un problema ed è necessario riavviare il PC. Stiamo solo raccogliendo alcune informazioni sugli errori e poi procederemo con il riavvio. Per saperne di più, è possibile cercare online informazioni questo errore in un secondo momento: CRITICAL_SERVICE_FAILED"
Causa
Esistono varie cause per gli errori di arresto. Le cause più comuni sono:
- Problema con un driver
- File di sistema o memoria danneggiati
- L'applicazione accede a un settore proibito della memoria
Soluzione
Suggerimento
Se hai un backup recente della VM, puoi provare a ripristinare la VM dal backup per risolvere il problema di avvio.
Per risolvere questo problema, raccogliere il file di dump della memoria e contattare il supporto tecnico con il file. Per raccogliere il file dump, attenersi alla seguente procedura:
Passaggio 1: individuare il file di dump e inviare un ticket di supporto
Parte 1: collegare il disco del sistema operativo a una macchina virtuale di ripristino
Eseguire uno snapshot del disco del sistema operativo della macchina virtuale interessata per creare un backup. Per altre informazioni, vedere Creare uno snapshot di un disco rigido virtuale.
Collegare il disco del sistema operativo a una macchina virtuale di ripristino.
Utilizzare Remote Desktop Protocol (RDP) per connettersi da remoto alla macchina virtuale di ripristino.
Se il disco del sistema operativo della macchina virtuale interessata è crittografato, disattivare la crittografia prima di andare al passaggio successivo. Per ulteriori informazioni, vedere Descrittografare il disco del sistema operativo crittografato.
Parte 2: individuare il file di dump e inviare un ticket di supporto
Nella macchina virtuale di ripristino, accedere alla cartella Windows sul disco del sistema operativo collegato. Ad esempio, se la lettera di unità assegnata al disco del sistema operativo collegato è F, passare a F:\Windows.
Individuare il file Memory.dmp, quindi inviare un ticket di supporto e allegare il file di dump.
Se non si riesce a trovare il file di dump, passare ai passaggi successivi per abilitare il registro dump e la console seriale, quindi riprodurre il problema.
Passaggio 2: attivare il registro dump e la console seriale
Importante
In questa sezione, metodo o attività viene illustrata la procedura per modificare il Registro di sistema. Se, tuttavia, si modifica il Registro di sistema in modo errato, possono verificarsi gravi problemi. Pertanto, assicurarsi di osservare attentamente la procedura seguente. Al fine di protezione, eseguire il backup del registro di sistema prima di modificarlo, in modo da poterlo ripristinare in caso di problemi. Per ulteriori informazioni su come eseguire il backup e il ripristino del Registro di sistema, vedi Come eseguire il backup e il ripristino del Registro di sistema in Windows.
Per attivare un registro dump e la console seriale, seguire questa procedura:
Aprire una sessione del prompt dei comandi con privilegi elevati come amministratore.
Eseguire i seguenti comandi BCDEdit utilizzando le opzioni /ems e /emssettings:
Attivare la console seriale:
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
Verificare che lo spazio libero sul disco del sistema operativo sia maggiore della dimensione della memoria (RAM) sulla macchina virtuale.
Se lo spazio sul disco del sistema operativo non è sufficiente, è necessario modificare la posizione in cui viene creato il file di dump della memoria e fare riferimento a qualsiasi disco dati collegato alla macchina virtuale che disponga di spazio libero sufficiente. Per modificare la posizione, sostituisci
%SystemRoot%
con la lettera dell'unità del disco dati, ad esempioF:
, nei seguenti comandi.Per abilitare il file di dump del sistema operativo, eseguire i seguenti comandi load, add e unload per implementare la configurazione suggerita utilizzando lo strumento reg:
Caricare l'hive del Registro di sistema dal disco del sistema operativo danneggiato:
reg load HKLM\<broken-system> <volume-letter-of-broken-os-disk>:\windows\system32\config\SYSTEM
Abilitare su 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
Abilitare su 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
Scaricare il disco del sistema operativo danneggiato:
reg unload HKLM\<broken-system>
Sostituire i driver non firmati
Nella macchina virtuale di ripristino eseguire il comando seguente da un prompt dei comandi con privilegi elevati. Questo comando imposta il disco del sistema operativo interessato per l'avvio in modalità provvisoria al successivo avvio:
bcdedit /store <OS DISK you attached>:\boot\bcd /set {default} safeboot minimal
Ad esempio, se il disco del sistema operativo collegato è l'unità F, eseguire il comando seguente:
bcdedit /store F: boot\bcd /set {default} safeboot minimal
Scollegare il disco del sistema operativo e quindi ricollegarlo alla macchina virtuale interessata. La VM si avvierà in modalità provvisoria. Se riscontri ancora l'errore, vai al passaggio facoltativo.
Apri la casella Esegui ed esegui verifier per avviare lo strumento Driver Verifier Manager.
Seleziona Seleziona automaticamente i driver non firmati, quindi fai clic su Avanti.
Otterrai l'elenco dei file del driver non firmati. Ricorda i nomi dei file.
Copia le stesse versioni di questi file da una macchina virtuale funzionante, quindi sostituisci questi file non firmati.
Rimuovi le impostazioni di avvio sicuro:
bcdedit /store <OS DISK LETTER>:\boot\bcd /deletevalue {default} safeboot
Riavviare la macchina virtuale.
Facoltativo: analizzare i log di dump in modalità Dump Crash
Per analizzare autonomamente i log di dump, attenersi alla seguente procedura:
Collegare il disco del sistema operativo a una macchina virtuale di ripristino.
Sul disco del sistema operativo collegato, passare a \windows\system32\config. Copia tutti i file come backup nel caso sia necessario un rollback.
Avvia Editor del Registro di sistema (regedit.exe).
Seleziona la chiave HKEY_LOCAL_MACHINE. Nel menu, seleziona File>Carica Hive.
Passare alla cartella \windows\system32\config\SYSTEM sul disco del sistema operativo collegato. Per il nome dell'hive, inserisci BROKENSYSTEM. Il nuovo hive del registro viene visualizzato sotto la chiave HKEY_LOCAL_MACHINE.
Passare a HKEY_LOCAL_MACHINE\BROKENSYSTEM\ControlSet00x\Control\CrashControl e apportare le seguenti modifiche:
Riavvio automatico = 0
CrashDumpEnabled = 2
Seleziona BROKENSYSTEM. Dal menu, seleziona File>Scarica hive.
Modificare l'impostazione BCD per l'avvio in modalità debug. Eseguire i seguenti comandi da un prompt dei comandi con privilegi elevati:
REM Setup some debugging flags on the boot manager bcdedit /store <OS DISK LETTER>:\boot\bcd /set {bootmgr} default {<IDENTIFIER OF THE WINDOWS BOOT LOADER>} bcdedit /store <OS DISK LETTER>:\boot\bcd /set {bootmgr} nointegritychecks on bcdedit /store <OS DISK LETTER>:\boot\bcd /set {bootmgr} integrityservices disable REM Setup some debugging flags on the boot loader bcdedit /store <OS DISK LETTER>:\boot\bcd /set {default} bootlog yes bcdedit /store <OS DISK LETTER>:\boot\bcd /set {default} bootstatuspolicy displayallfailures bcdedit /store <OS DISK LETTER>:\boot\bcd /set {default} nointegritychecks on bcdedit /store <OS DISK LETTER>:\boot\bcd /set {default} testsigning off bcdedit /store <OS DISK LETTER>:\boot\bcd /set {default} recoveryenabled no bcdedit /store <OS DISK LETTER>:\boot\bcd /set {default} integrityservices disable
Scollegare il disco del sistema operativo e quindi ricollegarlo alla macchina virtuale interessata.
Avvia la VM per vedere se mostra l'analisi del dump. Trova il file che non riesce a caricare. È necessario sostituire questo file con un file della VM funzionante.
Di seguito è riportato un esempio di analisi del dump. Puoi vedere che FAILURE è su filecrypt.sys: "FAILURE_BUCKET_ID: 0x5A_c0000428_IMAGE_filecrypt.sys".
kd> !analyze -v ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* CRITICAL_SERVICE_FAILED (5a) Arguments: Arg1: 0000000000000001 Arg2: ffffd80f4bfe7070 Arg3: ffffb00b0513d320 Arg4: ffffffffc0000428 Debugging Details: ------------------ DUMP_CLASS: 1 DUMP_QUALIFIER: 401 BUILD_VERSION_STRING: 10.0.14393.1770 (rs1_release.170917-1700) DUMP_TYPE: 1 BUGCHECK_P1: 1 BUGCHECK_P2: ffffd80f4bfe7070 BUGCHECK_P3: ffffb00b0513d320 BUGCHECK_P4: ffffffffc0000428 BUGCHECK_STR: 0x5A_c0000428 CPU_COUNT: 1 CPU_MHZ: a22 CPU_VENDOR: GenuineIntel CPU_FAMILY: 6 CPU_MODEL: 3d CPU_STEPPING: 4 DEFAULT_BUCKET_ID: WIN8_DRIVER_FAULT PROCESS_NAME: System CURRENT_IRQL: 0 ANALYSIS_SESSION_HOST: MININT-6RMM091 ANALYSIS_SESSION_TIME: 11-15-2017 19:32:42.0841 ANALYSIS_VERSION: 10.0.16361.1001 amd64fre STACK_TEXT: ffffc701`1dc74948 fffff803`b2ff4b4a : 00000000`0000005a 00000000`00000001 ffffd80f`4bfe7070 ffffb00b`0513d320 : nt!KeBugCheckEx [d:\rs1\minkernel\ntos\ke\amd64\procstat.asm @ 127] ffffc701`1dc74950 fffff803`b3205df3 : ffffd80f`4bba9f58 ffffd80f`4bba9f58 ffffc701`1dc74b80 ffffd80f`00000006 : nt!IopLoadDriver+0x19f8e6 [d:\rs1\minkernel\ntos\ke\amd64\threadbg.asm @ 81] RETRACER_ANALYSIS_TAG_STATUS: DEBUG_FLR_FAULTING_IP is not found THREAD_SHA1_HASH_MOD_FUNC: eb79608c07faa1af62c0e61f25ff6bc1d6dfdb25 THREAD_SHA1_HASH_MOD_FUNC_OFFSET: 96a3a314834bb4e8443a8b7201525fc5dfc1878b THREAD_SHA1_HASH_MOD: 30a3e915496deaace47137d5b90c3ecc03746bf6 FOLLOWUP_NAME: wintriag MODULE_NAME: filecrypt IMAGE_NAME: filecrypt.sys DEBUG_FLR_IMAGE_TIMESTAMP: 0 IMAGE_VERSION: STACK_COMMAND: .thread ; .cxr ; kb FAILURE_BUCKET_ID: 0x5A_c0000428_IMAGE_filecrypt.sys BUCKET_ID: 0x5A_c0000428_IMAGE_filecrypt.sys PRIMARY_PROBLEM_CLASS: 0x5A_c0000428_IMAGE_filecrypt.sys TARGET_TIME: 2017-11-13T20:51:04.000Z OSBUILD: 14393 OSSERVICEPACK: 1770 SERVICEPACK_NUMBER: 0 OS_REVISION: 0 SUITE_MASK: 144 PRODUCT_TYPE: 3 OSPLATFORM_TYPE: x64 OSNAME: Windows 10 OSEDITION: Windows 10 Server TerminalServer DataCenter OS_LOCALE: USER_LCID: 0 OSBUILD_TIMESTAMP: 2017-09-17 19:16:08 BUILDDATESTAMP_STR: 170917-1700 BUILDLAB_STR: rs1_release BUILDOSVER_STR: 10.0.14393.1770 ANALYSIS_SESSION_ELAPSED_TIME: bfc ANALYSIS_SOURCE: KM FAILURE_ID_HASH_STRING: km:0x5a_c0000428_image_filecrypt.sys FAILURE_ID_HASH: {35f25777-b01e-70a1-c502-f690dab6cb3a} FAILURE_ID_REPORT_LINK: https://go.microsoft.com/fwlink/?LinkID=397724&FailureHash=35f25777-b01e-70a1-c502-f690dab6cb3a
Una volta che la VM funziona e si avvia normalmente, rimuovi le impostazioni di Dump Crash:
REM Restore the boot manager to default values bcdedit /store <OS DISK LETTER>:\boot\bcd /deletevalue {bootmgr} nointegritychecks bcdedit /store <OS DISK LETTER>:\boot\bcd /set {bootmgr} integrityservices enable REM Restore the boot loader to default values for an azure VM bcdedit /store <OS DISK LETTER>:\boot\bcd /deletevalue {default} bootlog bcdedit /store <OS DISK LETTER>:\boot\bcd /set {default} bootstatuspolicy ignoreallfailures bcdedit /store <OS DISK LETTER>:\boot\bcd /deletevalue {default} nointegritychecks bcdedit /store <OS DISK LETTER>:\boot\bcd /deletevalue {default} testsigning bcddit /store <OS DISK LETTER>:\boot\bcd /set {default} recoveryenabled no bcdedit /store <OS DISK LETTER>:\boot\bcd /set {default} integrityservicesenable
Contattaci per ricevere assistenza
In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.