Solução de problemas de VMs do Windows


Este documento descreve os métodos e ferramentas disponíveis para resolver os seguintes problemas de inicialização de instância de máquina virtual (VM) do Windows do Compute Engine:

  • Não é possível conectar-se à VM usando RDP e a solução de problemas não consegue resolver sua conexão.

  • A tela de login não apareceu em uma captura de tela da VM e a VM não parece estar progredindo ou realizando uma atualização.

  • Você encontrou um erro de tela azul, VM congelada ou com comportamento irregular sob operação normal.

Se você estiver tendo problemas para se conectar a VMs do Windows, consulte Solução de problemas de RDP .

Para problemas relacionados à migração para uma VM de terceira geração, consulte Problemas conhecidos do Windows.

Antes de começar

  • Revise a solução de problemas avançados da Microsoft para problemas de inicialização do Windows para obter informações sobre como solucionar problemas no processo de inicialização do Windows.
  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:

    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. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.

Usando o menu Opções avançadas de inicialização

Se o Windows não iniciar corretamente, use o menu Opções avançadas de inicialização para acessar o modo de segurança ou concluir um reparo online do sistema operacional. Para obter mais informações, consulte Opções avançadas de inicialização .

Para entrar no menu Opções avançadas de inicialização em sua VM do Windows, conclua o seguinte procedimento:

  1. Habilite um dispositivo de exibição para a VM, caso ainda não o tenha feito.
  2. Conecte-se ao console serial interativo da VM .

  3. Reinicie a VM usando um dos seguintes métodos:

    Console

    1. No console do Google Cloud, acesse a página de instâncias de VM .

      Acesse as instâncias de VM

    2. Clique no nome da VM que você deseja reiniciar. A página de detalhes da instância de VM é aberta.

    3. Clique no botão Redefinir para reinicializar a VM.

    gcloud

    Use o comando gcloud compute instances reset para redefinir a VM:

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

    Substitua o seguinte:

    • PROJECT_ID : o ID do projeto que contém a VM
    • ZONE : o nome da zona em que a VM está localizada
    • VM_NAME : o nome da VM

    Prompt de comando

    Enquanto estiver conectado ao console serial interativo, abra uma sessão do prompt de comando e execute o comando a seguir. Para obter mais informações sobre como abrir uma sessão de prompt de comando, consulte Abrindo o prompt de comando no Windows SAC .

    shutdown /r /t 0
    

    O menu do Gerenciador de inicialização do Windows é aberto:

    Menu do Gerenciador de inicialização do Windows

  4. Antes que a contagem regressiva expire, conclua estas etapas:

    1. Certifique-se de que o console serial interativo seja sua janela ativa.

    2. Pressione a tecla Esc no teclado.

    3. Pressione a tecla número 8 no teclado.

    O menu Opções avançadas de inicialização é aberto:

    Opções avançadas de inicialização menu

  5. Use as teclas de seta do teclado para selecionar uma opção e abra-a pressionando a tecla Enter .

Habilitando o menu do Gerenciador de inicialização do Windows

Você pode configurar o menu do Gerenciador de inicialização do Windows para ser exibido quando uma instância de VM do Windows estiver sendo reinicializada. Para ativar o menu do gerenciador de inicialização do Windows, faça o seguinte:

Conecte-se à VM e abra um prompt de comando com acesso administrativo . Se você não conseguir se conectar à VM, adicione as etapas subsequentes como valores a um script windows-startup-script-cmd ou windows-startup-script-ps1 em vez de executá-las diretamente

Prompt de comando

  1. Para ativar o menu do Gerenciador de inicialização do Windows na inicialização e adicionar um tempo limite de 15 segundos, execute os seguintes comandos:

    bcdedit /set {bootmgr} displaybootmenu yes
    
    bcdedit /set {bootmgr} timeout 15
    
  2. Para reinicializar a VM e exibir o menu do gerenciador de inicialização do Windows no console serial usando o seguinte comando:

    shutdown -r -t 0
    

PowerShell

  1. Para ativar o menu do Gerenciador de inicialização do Windows na inicialização e adicionar um tempo limite de 15 segundos, execute os seguintes comandos:

    bcdedit /set '{bootmgr}' displaybootmenu yes
    
    
    bcdedit /set '{bootmgr}' timeout 15
    
  2. Para reinicializar a VM e exibir o menu do gerenciador de inicialização do Windows no console serial usando o seguinte comando:

    shutdown -r -t 0
    

Concluindo um reparo offline

Se sua VM não iniciar corretamente e o uso do menu de inicialização avançado não resolver o problema, tente realizar um reparo offline usando uma instância funcional de VM do Windows para recuperação com um instantâneo do disco de inicialização da VM com problema. O uso de um instantâneo fornece uma cópia de backup que pode ser modificada sem alterar o estado da VM original.

  1. Crie um instantâneo do disco de inicialização da VM com problemas.

  2. Crie um disco usando esse instantâneo.

  3. Crie uma VM com um disco adicional que não seja de inicialização , usando o disco recém-criado. Sua VM de recuperação deve atender a estes critérios:

    • A VM de recuperação deve estar na mesma zona do disco que foi criado.
    • A VM de recuperação também deve usar uma imagem do Windows Server .
    • A imagem de origem do disco de inicialização da VM de recuperação deve ser diferente da imagem de origem do disco de inicialização da VM com problemas.
  4. Agora você pode usar ferramentas e utilitários do Windows para tentar um reparo offline do disco adicional conectado. Consulte a documentação a seguir para obter detalhes sobre como concluir um reparo offline da sua VM:

  5. Se o reparo offline tiver sido concluído com êxito, atualize o disco de inicialização da VM com problema para ser o disco de inicialização recém-reparado.

  6. Opcional: Exclua os recursos adicionais quando não precisar mais deles:

Solução de erros de tela azul

O sistema operacional Windows pode apresentar um código de parada ou erro de tela azul, também conhecido como Tela Azul da Morte. Se uma VM apresentar um erro de tela azul, a VM interromperá a execução e precisará reiniciar antes de retomar as operações normais.

Se você acredita que pode ter ocorrido um erro de tela azul, confirme identificando a presença de erros usando um ou mais dos seguintes métodos:

Porta serial 1

  1. No console do Google Cloud, acesse a página de instâncias de VM .

    Acesse as instâncias de VM

  2. Clique no nome da VM cujos logs você deseja visualizar. A página de detalhes da instância de VM é aberta.

  3. Em Logs , clique em Porta serial 1 .

  4. Um despejo de rastreamento de pilha semelhante ao seguinte confirma um erro de tela azul:

    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 serial 2

  1. No console do Google Cloud, acesse a página de instâncias de VM .

    Acesse as instâncias de VM

  2. Clique no nome da VM cujos logs você deseja visualizar. A página de detalhes da instância de VM é aberta.

  3. Em Logs , expanda Mais e clique em Porta serial 2 (console) .

  4. Revise a porta serial da instância e procure esta saída semelhante a esta:

    !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 de comando

  1. Conecte-se à instância e abra um prompt de comando com acesso administrativo .

  2. Para exibir o evento de tela azul mais recente, execute o seguinte comando:

    wevtutil qe System "/q:*[System [(EventID=1001)]]" /rd:True /c:1 /f:Text
    
  3. Revise a saída, que é semelhante a esta:

    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.
    

Para obter informações sobre como personalizar consultas wetutil , consulte wevtutil .

Instantâneo do disco

Se a VM não estiver mais operacional ou se os outros métodos não tiverem êxito. Você pode inspecionar o disco de inicialização da VM suspeita de tela azul com uma VM secundária. O uso de um instantâneo fornece uma cópia de backup que pode ser modificada sem alterar o estado da VM original.

  1. Crie um instantâneo do disco de inicialização da VM com tela azul suspeita.

  2. Crie um disco usando esse instantâneo.

  3. Crie uma VM com um disco adicional que não seja de inicialização , usando o disco recém-criado da VM suspeita. Sua VM de recuperação deve atender a estes critérios:

    • A VM de recuperação deve estar na mesma zona do disco que foi criado.
    • A VM de recuperação também deve usar uma imagem do Windows Server .
    • A imagem de origem do disco de inicialização da VM de recuperação deve ser diferente da imagem de origem do disco de inicialização da VM com problemas.
  4. Procure o disco adicional e localize os seguintes arquivos:

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

    A data e a hora do arquivo podem ajudá-lo a correlacionar se a instância suspeita apresentar um erro de tela azul. Esses arquivos também podem ser usados ​​para análise e diagnóstico.

  5. Opcional: Exclua os recursos adicionais quando não precisar mais deles:

Depois de obter as informações de erro de tela azul e, opcionalmente, obter acesso ao arquivo de despejo de memória, siga as etapas de diagnóstico e recomendações fornecidas pela Microsoft:

Problemas de licenciamento

Os sistemas operacionais Windows renovam suas licenças a cada sete dias conectando-se ao servidor Key Management Service (KMS) . Se você receber mensagens sobre a expiração da licença ou quaisquer outros problemas relacionados às licenças nas suas VMs do Windows, faça o seguinte:

  1. Confirme se a rede VPC da sua VM do Windows está configurada para permitir a comunicação com o KMS .

  2. Confirme se o Firewall do Windows permite conexões de saída com o servidor KMS:

    • Endereço IP: 35.190.247.13
    • Porto: 1688
    • Protocolo: TCP

    Para obter mais informações sobre como configurar regras do Firewall Avançado do Windows, consulte Criar uma regra de porta de saída .

  3. Teste se a conexão com o servidor KMS foi bem-sucedida executando o seguinte comando:

    powershell.exe Test-NetConnection 35.190.247.13 -Port 1688
    
  4. Execute os seguintes comandos para confirmar o estado atual da sua licença, definir o endereço IP do servidor KMS e forçar uma ativação:

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

Solução de problemas do console serial interativo

  1. Certifique-se de atender aos pré-requisitos para acessar o console serial .

  2. Ative os serviços de gerenciamento de emergência . Se o EMS estiver desligado, o console serial não aceitará nenhuma entrada do teclado, mas apresentará apenas uma tela em branco com um cursor piscando.

    Prompt de comando

    1. Conecte-se à VM usando RDP e abra Command Prompt como administrador. Se você não puder fazer o RDP, adicione as etapas subsequentes como valores à chave de inicialização windows-startup-script-cmd .

    2. Defina as configurações globais de redirecionamento do EMS para usar COM2, uma taxa de transmissão de 115200 e habilite o EMS.

      bcdedit /emssettings EMSPORT:2 EMSBAUDRATE:115200
      bcdedit /ems on
      
    3. Reinicie a VM para aplicar a configuração atualizada. Se você estiver usando um script de metadados, não adicione o comando shutdown.

      shutdown -r -t 0
      

    PowerShell

    1. Conecte-se através do RDP e abra Powershell como administrador. Se você não puder fazer o RDP, adicione as etapas subsequentes como valores à chave de inicialização windows-startup-script-ps1 .

    2. Defina as configurações globais de redirecionamento do EMS para usar COM2, uma taxa de transmissão de 115200 e habilite o EMS.

      bcdedit /emssettings EMSPORT:2 EMSBAUDRATE:115200
      bcdedit /ems on
      
    3. Reinicie a VM para aplicar a configuração atualizada. Se você estiver usando um script de metadados, não adicione o comando shutdown.

      shutdown -r -t 0
      

O que vem a seguir