Windows mostra "CRITICAL SERVICE FAILED" nella schermata blu all'avvio di una macchina virtuale di Azure

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:

  • "Il computer ha riscontrato un problema e deve essere riavviato. È possibile riavviare. Per ulteriori informazioni su questo problema e sulle possibili soluzioni, visitare https://windows.com/stopcode. Se si chiama un tecnico di supporto, fornire queste informazioni: Codice di arresto: CRITICAL SERVICE FAILED".
  • "Il computer ha riscontrato un problema e deve essere riavviato. Stiamo solo raccogliendo alcune informazioni sugli errori e poi procederemo con il riavvio. Per ulteriori informazioni, è possibile effettuare una ricerca online di questo errore: 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

Consiglio

Se disponi di un backup recente della VM, puoi provare a ripristinare la VM dal backup per risolvere il problema di avvio.

Per risolvere questo problema, contatta l'assistenza e invia un file dump, che ci aiuterà a diagnosticare il problema più rapidamente, oppure prova la seguente soluzione di auto-aiuto.

Collegare il disco del sistema operativo a una macchina virtuale di ripristino

  1. Eseguire un'istantanea del disco del sistema operativo della macchina virtuale interessata come backup. Per ulteriori informazioni, consultare Istantanea del disco.
  2.               Collegare il disco del sistema operativo a una macchina virtuale di ripristino.
  3. Stabilire una connessione desktop remoto alla macchina virtuale di ripristino.

Abilita i log di dump e la console seriale

Il registro dump e la Console seriale ci aiuteranno a risolvere ulteriormente i problemi.

Per abilitare i log di dump e la console seriale, eseguire il seguente script.

  1. Apri una sessione del prompt dei comandi con privilegi elevati (esegui come amministratore).

  2. Eseguire lo script seguente:

    In questo script si presuppone che la lettera di unità assegnata al disco del sistema operativo collegato sia F. Dovresti sostituirla con il valore appropriato per la tua VM.

    reg load HKLM\BROKENSYSTEM F:\windows\system32\config\SYSTEM
    
    REM Enable Serial Console
    bcdedit /store F:\boot\bcd /set {bootmgr} displaybootmenu yes
    bcdedit /store F:\boot\bcd /set {bootmgr} timeout 10
    bcdedit /store F:\boot\bcd /set {bootmgr} bootems yes
    bcdedit /store F:\boot\bcd /ems {<BOOT LOADER IDENTIFIER>} ON
    bcdedit /store F:\boot\bcd /emssettings EMSPORT:1 EMSBAUDRATE:115200
    
    REM Suggested configuration to enable OS Dump
    REG ADD "HKLM\BROKENSYSTEM\ControlSet001\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 2 /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
    
    REG ADD "HKLM\BROKENSYSTEM\ControlSet002\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 2 /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
    
    reg unload HKLM\BROKENSYSTEM
    

Sostituire i driver non firmati

  1. 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
    
  2.               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.

  3. Apri la casella Esegui ed esegui verifier per avviare lo strumento Driver Verifier Manager.

  4. Seleziona Seleziona automaticamente i driver non firmati, quindi fai clic su Avanti.

  5. Otterrai l'elenco dei file del driver non firmati. Ricorda i nomi dei file.

  6. Copia le stesse versioni di questi file da una macchina virtuale funzionante, quindi sostituisci questi file non firmati.

  7. Rimuovi le impostazioni di avvio sicuro:

    bcdedit /store <OS DISK LETTER>:\boot\bcd /deletevalue {default} safeboot
    
  8. 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:

  1. Collegare il disco del sistema operativo a una macchina virtuale di ripristino.

  2. Sul disco del sistema operativo collegato, passare a \windows\system32\config. Copia tutti i file come backup nel caso sia necessario un rollback.

  3. Avvia Editor del Registro di sistema (regedit.exe).

  4. Selezionare la chiave HKEY_LOCAL_MACHINE. Nel menu, seleziona File>Carica Hive.

  5. 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.

  6. Passare a HKEY_LOCAL_MACHINE\BROKENSYSTEM\ControlSet00x\Control\CrashControl e apportare le seguenti modifiche:

    Riavvio automatico = 0

    CrashDumpEnabled = 2

  7. Seleziona BROKENSYSTEM. Dal menu, seleziona File>Scarica hive.

  8. 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
    
  9.               Scollegare il disco del sistema operativo e quindi ricollegarlo alla macchina virtuale interessata.

  10. 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
    
  11. 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.