Risoluzione dei problemi relativi alle VM Windows


Questo documento descrive i metodi e gli strumenti disponibili per risolvere i seguenti problemi di avvio delle istanze di macchine virtuali (VM) Windows Compute Engine:

  • Non riesci a connetterti alla VM utilizzando RDP e la risoluzione dei problemi non riesce a risolvere il problema di connessione.

  • La schermata di accesso non è stata visualizzata in uno screenshot della VM e la VM non sembra fare progressi o eseguire un aggiornamento.

  • Hai riscontrato un errore di schermata blu, una VM bloccata o con comportamento irregolare in condizioni di normale funzionamento.

Se hai problemi a connetterti alle VM Windows, consulta la sezione Risoluzione dei problemi RDP.

Per i problemi relativi alla migrazione a una VM di terza generazione, consulta la sezione Problemi noti di Windows.

Prima di iniziare

  • Consulta la Risoluzione dei problemi avanzata di Microsoft per i problemi di avvio di Windows per informazioni sulla risoluzione dei problemi relativi alla procedura di avvio di Windows.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.

Utilizzare il menu Opzioni di avvio avanzate

Se Windows non si avvia correttamente, utilizza il menu Opzioni di avvio avanzate per accedere alla modalità provvisoria o completare una riparazione online del sistema operativo. Per ulteriori informazioni, consulta Opzioni di avvio avanzate.

Per accedere al menu Opzioni di avvio avanzate nella VM Windows, completa la seguente procedura:

  1. Se non l'hai ancora fatto, attiva un dispositivo di visualizzazione per la VM.
  2. Connettiti alla console seriale interattiva della VM.

  3. Riavvia la VM utilizzando uno dei seguenti metodi:

    Console

    1. Nella console Google Cloud, vai alla pagina Istanze VM.

      Vai a Istanze VM

    2. Fai clic sul nome della VM che vuoi riavviare. Si apre la pagina dei dettagli dell'istanza VM.

    3. Fai clic sul pulsante Reimposta per riavviare la VM.

    gcloud

    Utilizza il gcloud compute instances reset comando per reimpostare la VM:

    gcloud compute instances reset VM_NAME --zone=ZONE --project=PROJECT_ID
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto che contiene la VM
    • ZONE: il nome della zona in cui si trova la VM
    • VM_NAME: il nome della VM

    Prompt dei comandi

    Mentre sei connesso alla console seriale interattiva, apri una sessione del prompt dei comandi ed esegui il seguente comando. Per ulteriori informazioni su come aprire una sessione del prompt dei comandi, consulta Aprire il prompt dei comandi in Windows System Agent Center.

    shutdown /r /t 0
    

    Si apre il menu di Boot Manager di Windows:

    Menu di Boot Manager di Windows

  4. Prima della scadenza del conto alla rovescia, completa i seguenti passaggi:

    1. Assicurati che la console seriale interattiva sia la finestra attiva.

    2. Premi il tasto Esc sulla tastiera.

    3. Premi il tasto numerico 8 sulla tastiera.

    Si apre il menu Opzioni di avvio avanzate:

    Menu Opzioni di avvio avanzate

  5. Utilizza i tasti freccia sulla tastiera per selezionare un'opzione, quindi aprila premendo il tasto Invio.

Attivazione del menu di Boot Manager di Windows

Puoi configurare il menu di avvio di Windows in modo che venga visualizzato durante il riavvio di un'istanza VM Windows. Per attivare il menu del gestore dell'avvio di Windows:

Connettiti alla VM e apri un prompt dei comandi con accesso amministrativo. Se non riesci a connetterti alla VM, aggiungi i passaggi successivi come valori a uno script di avvio windows-startup-script-cmd o windows-startup-script-ps1 anziché eseguirli direttamente.

Prompt dei comandi

  1. Per attivare il menu di Boot Manager di Windows all'avvio e aggiungere un timeout di 15 secondi, esegui i seguenti comandi:

    bcdedit /set {bootmgr} displaybootmenu yes
    
    bcdedit /set {bootmgr} timeout 15
    
  2. Per riavviare la VM e visualizzare il menu del gestore dell'avvio di Windows nella console seriale, utilizza il seguente comando:

    shutdown -r -t 0
    

PowerShell

  1. Per attivare il menu di Boot Manager di Windows all'avvio e aggiungere un timeout di 15 secondi, esegui i seguenti comandi:

    bcdedit /set '{bootmgr}' displaybootmenu yes
    
    
    bcdedit /set '{bootmgr}' timeout 15
    
  2. Per riavviare la VM e visualizzare il menu del gestore dell'avvio di Windows nella console seriale, utilizza il seguente comando:

    shutdown -r -t 0
    

Completare una riparazione offline

Se la VM non si avvia correttamente e l'utilizzo del menu di avvio avanzato non è riuscito a risolvere il problema, prova a eseguire una riparazione offline utilizzando un'istanza VM Windows funzionante per il recupero con uno snapshot del disco di avvio della VM in difficoltà. L'utilizzo di uno snapshot ti offre una copia di backup che può essere modificata senza cambiare lo stato della VM originale.

  1. Crea uno snapshot del disco di avvio della VM problematica.

  2. Crea un disco utilizzando lo snapshot.

  3. Crea una VM con un disco aggiuntivo non di avvio utilizzando il disco appena creato. La VM di ripristino deve soddisfare i seguenti criteri:

    • La VM di ripristino deve trovarsi nella stessa zona del disco creato.
    • La VM di recupero deve anche utilizzare un'immagine di Windows Server.
    • L'immagine di origine del disco di avvio della VM di recupero deve essere diversa dall'immagine di origine del disco di avvio della VM con problemi.
  4. Ora puoi utilizzare gli strumenti e le utilità di Windows per tentare una riparazione offline sul disco aggiuntivo collegato. Per dettagli su come completare una riparazione offline della VM, consulta la seguente documentazione:

  5. Se la riparazione offline è stata completata correttamente, aggiorna il disco di avvio della VM in difficoltà in modo che corrisponda al disco di avvio appena riparato.

  6. (Facoltativo) Elimina le risorse aggiuntive quando non ti servono più:

Risolvere i problemi relativi agli errori con schermata blu

Il sistema operativo Windows potrebbe presentare un codice di arresto o un errore di schermata blu, conosciuto anche come schermata blu della morte. Se una VM presenta un errore di schermata blu, la VM smette di funzionare e deve essere riavviata prima di riprendere le normali operazioni.

Se ritieni che si possa essere verificato un errore con schermata blu, confermalo identificando la presenza di errori utilizzando uno o più dei seguenti metodi:

Porta seriale 1

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Fai clic sul nome della VM per cui vuoi visualizzare i log. Viene visualizzata la pagina dei dettagli dell'istanza VM.

  3. In Log, fai clic su Porta seriale 1.

  4. Un dump analisi dello stack simile al seguente conferma un errore della schermata blu:

    ntoskrnl.exe [0xFFFFF802C9606000, 0xFFFFF802C9E23000]
    netbios.sys [0xFFFFF80E98430000, 0xFFFFF80E98442000]
    volmgr.sys [0xFFFFF80E97E40000, 0xFFFFF80E97E58000]
    NTFS.sys [0xFFFFF80E98060000, 0xFFFFF80E98293000]
    crashdmp.sys [0xFFFFF80E986C0000, 0xFFFFF80E986D9000]
    pvpanic.sys [0xFFFFF80E99030000, 0xFFFFF80E9903C000]
    myfault.sys [0xFFFFF80E9A570000, 0xFFFFF80E9A578000]
    Dumping stack trace:
    0xFFFFF80E990317C7 (pvpanic.sys+0x17C7)
    0xFFFFF80E990316D3 (pvpanic.sys+0x16D3)
    0xFFFFF802C97D9681 (ntoskrnl.exe+0x1D3681)
    0xFFFFF802C97D8A1F (ntoskrnl.exe+0x1D2A1F)
    0xFFFFF802C97633F4 (ntoskrnl.exe+0x15D3F4)
    0xFFFFF802C9773329 (ntoskrnl.exe+0x16D329)
    0xFFFFF802C976F152 (ntoskrnl.exe+0x169152)
    0xFFFFF80E9A572794 (myfault.sys+0x2794)
    Current Process: notmyfault64.e
    

Porta seriale 2

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Fai clic sul nome della VM per cui vuoi visualizzare i log. Viene visualizzata la pagina dei dettagli dell'istanza VM.

  3. In Log, espandi Altro e poi fai clic su Porta seriale 2 (console).

  4. Esamina la porta seriale dell'istanza e cerca un output simile al seguente:

    !SAC>
    Your PC ran into a problem and needs to restart.
    If you call a support person, give them this info:
    UNEXPECTED_KERNEL_MODE_TRAP
    
    myfault.sys
    
    0x0000000000000008
    0xFFFFC6812AB94F70
    0xFFFFC6812E38EFF0
    0xFFFFF80E9A572794
    
    We're just collecting some error info, and then we'll restart for you.
    100% complete
    

Prompt dei comandi

  1. Connettiti all'istanza e apri un prompt dei comandi con accesso amministrativo.

  2. Per visualizzare l'evento della schermata blu più recente, esegui il seguente comando:

    wevtutil qe System "/q:*[System [(EventID=1001)]]" /rd:True /c:1 /f:Text
    
  3. Esamina l'output, che è simile al seguente:

    Event[0]:
      Log Name: System
      Source: Microsoft-Windows-WER-SystemErrorReporting
      Date: 2021-04-14T08:53:52.933
      Event ID: 1001
      Task: N/A
      Level: Error
      Opcode: N/A
      Keyword: Classic
      User: N/A
      User Name: N/A
      Computer: WINDOWS
      Description:
    The computer has rebooted from a bugcheck.  The bugcheck was: 0x1000007f (0x
    0000000000000008, 0xffffc6812ab94f70, 0xffffc6812e38eff0, 0xfffff80e9a572794
    ). A dump was saved in: C:\Windows\Minidump\041421-12656-01.dmp. Report Id:
    a5710c98-a577-4b3e-a3c9-2fc0aa4e5d83.
    

Per informazioni sulla personalizzazione delle query wetutil, consulta wevtutil.

Snapshot del disco

Se la VM non è più operativa o se gli altri metodi non hanno avuto esito positivo. Puoi ispezionare il disco di avvio della VM con schermata blu sospetta con una VM secondaria. L'utilizzo di uno snapshot ti offre una copia di backup che può essere modificata senza modificare lo stato della VM originale.

  1. Crea uno snapshot del disco di avvio della VM con schermata blu sospetta.

  2. Crea un disco utilizzando lo snapshot.

  3. Crea una VM con un disco aggiuntivo non di avvio utilizzando il disco appena creato della VM sospetta. La VM di ripristino deve soddisfare i seguenti criteri:

    • La VM di ripristino deve trovarsi nella stessa zona del disco creato.
    • La VM di recupero deve anche utilizzare un'immagine di Windows Server.
    • L'immagine di origine del disco di avvio della VM di recupero deve essere diversa dall'immagine di origine del disco di avvio della VM con problemi.
  4. Sfoglia il disco aggiuntivo e individua i seguenti file:

    %SystemRoot%\Memory.dmp
    %SystemRoot%\Minidump\DATE-TIME-NUM.dmp
    

    La data e l'ora del file possono aiutarti a stabilire se l'istanza sospetta ha riscontrato un errore della schermata blu. Questi file possono essere utilizzati anche per analisi e diagnostica.

  5. (Facoltativo) Elimina le risorse aggiuntive quando non ti servono più:

Dopo aver ottenuto le informazioni sull'errore della schermata blu e, facoltativamente, aver ottenuto accesso al file dump della memoria, segui i passaggi di diagnostica e i consigli forniti da Microsoft:

Problemi relativi alle licenze

I sistemi operativi Windows rinnovano le licenze ogni sette giorni connettendosi al server Key Management Service (KMS). Se ricevi messaggi relativi alla scadenza delle licenze o ad altri problemi relativi alle licenze sulle VM Windows, svolgi i seguenti passaggi:

  1. Verifica che la rete VPC della VM Windows sia configurata per consentire la comunicazione con KMS.

  2. Verifica che Windows Firewall consenta le connessioni in uscita al server KMS:

    • Indirizzo IP: 35.190.247.13
    • Porta: 1688
    • Protocollo: TCP

    Per ulteriori informazioni sulla configurazione delle regole del firewall avanzato di Windows, consulta Creare una regola per le porte in uscita.

  3. Verifica che la connessione al server KMS sia riuscita eseguendo il seguente comando:

    powershell.exe Test-NetConnection 35.190.247.13 -Port 1688
    
  4. Esegui i seguenti comandi per confermare lo stato attuale della licenza, impostare l'indirizzo IP del server del KMS e forzare un'attivazione:

    cscript \windows\system32\slmgr.vbs /dlv
    
    cscript \windows\system32\slmgr.vbs /skms 35.190.247.13:1688
    
    cscript \windows\system32\slmgr.vbs /ato
    

Risoluzione dei problemi relativi alla console seriale interattiva

  1. Assicurati di soddisfare i prerequisiti per accedere alla console seriale.

  2. Attiva Servizi di gestione delle emergenze. Se l'EMS è disattivato, la console seriale non accetta input da tastiera, ma mostra solo una schermata vuota con un cursore lampeggiante.

    Prompt dei comandi

    1. Connettiti alla VM tramite RDP e apri Command Prompt come amministratore. Se non puoi utilizzare RDP, aggiungi i passaggi successivi come valori alla chiave di avvio windows-startup-script-cmd.

    2. Imposta le impostazioni di reindirizzamento EMS globali in modo da utilizzare COM2, una velocità in baud di 115200 e attiva EMS.

      bcdedit /emssettings EMSPORT:2 EMSBAUDRATE:115200
      bcdedit /ems on
      
    3. Riavvia la VM per applicare la configurazione aggiornata. Se utilizzi uno script di metadati, non aggiungere il comando di arresto.

      shutdown -r -t 0
      

    PowerShell

    1. Connettiti tramite RDP e apri Powershell come amministratore. Se non puoi utilizzare RDP, aggiungi i passaggi successivi come valori alla chiave di avvio windows-startup-script-ps1.

    2. Imposta le impostazioni di reindirizzamento EMS globali in modo da utilizzare COM2, una velocità in baud di 115200 e attiva EMS.

      bcdedit /emssettings EMSPORT:2 EMSBAUDRATE:115200
      bcdedit /ems on
      
    3. Riavvia la VM per applicare la configurazione aggiornata. Se utilizzi uno script di metadati, non aggiungere il comando di arresto.

      shutdown -r -t 0
      

Passaggi successivi