Resolução de problemas de VMs do Windows

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

  • Não consegue estabelecer ligação à VM através do RDP e a resolução de problemas não resolve a ligação.

  • O ecrã de início de sessão não apareceu numa captura de ecrã da VM e a VM não parece estar a progredir nem a fazer uma atualização.

  • Encontrou um erro de ecrã azul, uma VM bloqueada ou com um comportamento errático durante o funcionamento normal.

Se tiver problemas ao estabelecer ligação a VMs do Windows, consulte o artigo Resolução de problemas de RDP.

Para problemas relacionados com a migração para uma VM de terceira geração, consulte os problemas conhecidos do Windows.

Antes de começar

  • Reveja a resolução de problemas avançada da Microsoft para problemas de arranque do Windows para obter informações sobre a resolução de problemas do processo de arranque do Windows.
  • Se ainda não o tiver feito, configure a autenticação. A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se 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. Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    2. Set a default region and zone.

Usar o menu Opções de arranque avançadas

Se o Windows não iniciar corretamente, use o menu Opções de arranque avançadas para aceder ao modo de segurança ou concluir uma reparação online do sistema operativo. Para mais informações, consulte as Opções de arranque avançadas.

Para aceder ao menu Opções avançadas de arranque na sua VM do Windows, conclua o seguinte procedimento:

  1. Ative um dispositivo de visualização para a MV, caso ainda não o tenha feito.
  2. Estabeleça ligação à consola série interativa da VM.

  3. Reponha a VM através de um dos seguintes métodos:

    Consola

    1. Na Google Cloud consola, aceda à página Instâncias de VM.

      Aceder às instâncias de VM

    2. Clique no nome da VM que quer repor. É apresentada a página de detalhes da instância de VM.

    3. Clique no botão Repor para reiniciar a VM.

    gcloud

    Use o gcloud compute instances reset comando para repor 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

    Linha de comandos

    Enquanto estiver ligado à consola série interativa, abra uma sessão da linha de comandos e execute o seguinte comando. Para mais informações sobre como abrir uma sessão da Linha de comandos, consulte o artigo Abrir a Linha de comandos no SAC do Windows.

    shutdown /r /t 0
    

    O menu Gestor de arranque do Windows é aberto:

    Menu do Gestor de arranque do Windows

  4. Antes da expiração da contagem decrescente, conclua estes passos:

    1. Certifique-se de que a consola de série interativa é a janela ativa.

    2. Prima a tecla Esc no teclado.

    3. Prima a tecla com o número 8 no teclado.

    O menu Opções avançadas de arranque é aberto:

    Menu Opções avançadas de arranque

  5. Use as teclas de seta no teclado para selecionar uma opção e, em seguida, abra-a premindo a tecla Enter.

Ativar o menu do Gestor de arranque do Windows

Pode configurar o menu do Gestor de arranque do Windows para apresentação quando uma instância de VM do Windows está a ser reiniciada. Para ativar o menu do gestor de arranque do Windows, faça o seguinte:

Estabeleça ligação à VM e abra uma linha de comandos com acesso administrativo. Se não conseguir estabelecer ligação à VM, adicione os passos subsequentes como valores a um windows-startup-script-cmd ou windows-startup-script-ps1 script de arranque em vez de os executar diretamente

Linha de comandos

  1. Para ativar o menu do Gestor de arranque do Windows no arranque e adicionar um limite de tempo de 15 segundos, execute os seguintes comandos:

    bcdedit /set {bootmgr} displaybootmenu yes
    
    bcdedit /set {bootmgr} timeout 15
    
  2. Para reiniciar a VM e apresentar o menu do gestor de arranque do Windows na consola série através do seguinte comando:

    shutdown -r -t 0
    

PowerShell

  1. Para ativar o menu do Gestor de arranque do Windows no arranque e adicionar um limite de tempo de 15 segundos, execute os seguintes comandos:

    bcdedit /set '{bootmgr}' displaybootmenu yes
    
    
    bcdedit /set '{bootmgr}' timeout 15
    
  2. Para reiniciar a VM e apresentar o menu do gestor de arranque do Windows na consola série através do seguinte comando:

    shutdown -r -t 0
    

Concluir uma reparação offline

Se a VM não for iniciada corretamente e a utilização do menu de arranque avançado não tiver resolvido o problema, experimente fazer uma reparação offline com uma instância de VM do Windows funcional para recuperação com uma captura instantânea do disco de arranque da VM com problemas. A utilização de um resumo dá-lhe uma cópia de segurança que pode ser modificada sem alterar o estado da VM original.

  1. Crie um instantâneo do disco de arranque da VM com problemas.

  2. Crie um disco com esse instantâneo.

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

    • A VM de recuperação tem de estar na mesma zona que o disco criado.
    • A VM de recuperação também deve usar uma imagem do Windows Server.
    • A imagem de origem do disco de arranque da VM de recuperação deve ser diferente da imagem de origem do disco de arranque da VM com problemas.
  4. Agora, pode usar as ferramentas e os utilitários do Windows para tentar uma reparação offline do disco adicional anexado. Consulte a seguinte documentação para ver detalhes sobre como concluir uma reparação offline da sua VM:

  5. Se a reparação offline for concluída com êxito, atualize o disco de arranque da VM com problemas para que seja o disco de arranque recentemente reparado.

  6. Opcional: elimine os recursos adicionais quando já não precisar deles:

Resolução de problemas de erros de ecrã azul

O sistema operativo Windows pode apresentar um código de paragem ou um erro de ecrã azul, também conhecido como um ecrã azul da morte. Se uma VM tiver um erro de ecrã azul, a VM para de ser executada e tem de ser reiniciada antes de retomar as operações normais.

Se considerar que pode ter ocorrido um erro de ecrã azul, confirme-o identificando a presença de erros através de um ou mais dos seguintes métodos:

Porta de série 1

  1. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceder às instâncias de VM

  2. Clique no nome da MV cujos registos quer ver. É apresentada a página de detalhes da instância de VM.

  3. Em Registos, clique em Porta de série 1.

  4. Uma descarga de rastreio de pilha semelhante à seguinte confirma um erro de ecrã 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 de série 2

  1. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceder às instâncias de VM

  2. Clique no nome da MV cujos registos quer ver. É apresentada a página de detalhes da instância de VM.

  3. Em Registos, expanda Mais e, de seguida, clique em Porta de série 2 (consola).

  4. Reveja a porta série da instância e procure uma saída semelhante à seguinte:

    !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
    

Linha de comandos

  1. Ligue-se à instância e abra uma linha de comandos com acesso administrativo.

  2. Para apresentar o evento de ecrã azul mais recente, execute o seguinte comando:

    wevtutil qe System "/q:*[System [(EventID=1001)]]" /rd:True /c:1 /f:Text
    
  3. Reveja o resultado, que é semelhante ao seguinte:

    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 a personalização de consultas wetutil, consulte wevtutil.

Instantâneo do disco

Se a VM já não estiver operacional ou os outros métodos se tiverem revelado ineficazes. Pode inspecionar o disco de arranque da VM com ecrã azul suspeito com uma VM secundária. A utilização de um instantâneo dá-lhe uma cópia de segurança que pode ser modificada sem alterar o estado da VM original.

  1. Crie um instantâneo do disco de arranque da VM com suspeita de ecrã azul.

  2. Crie um disco com esse instantâneo.

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

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

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

    A data e a hora do ficheiro podem ajudar a correlacionar se a instância suspeita teve um erro de ecrã azul. Estes ficheiros também podem ser usados para análise e diagnóstico.

  5. Opcional: elimine os recursos adicionais quando já não precisar deles:

Depois de obter as informações de erro do ecrã azul e, opcionalmente, o acesso ao ficheiro de despejo de memória, siga os passos de diagnóstico e as recomendações fornecidas pela Microsoft:

Problemas de licenciamento

Os sistemas operativos Windows renovam as respetivas licenças a cada sete dias através da ligação ao servidor do Key Management Service (KMS). Se receber mensagens sobre a expiração da licença ou outros problemas relacionados com licenças nas suas VMs do Windows, faça o seguinte:

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

  2. Confirme que a Firewall do Windows permite ligações de saída ao servidor KMS:

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

    Para mais informações sobre a configuração de regras da firewall avançada do Windows, consulte o artigo Crie uma regra de porta de saída.

  3. Verifique se a ligação ao servidor KMS é bem-sucedida executando o seguinte comando no Cloud Shell:

    gcloud network-management connectivity-tests create test-access-to-gcp-kms \
        --source-ip-address=WINDOWS_VM_IP_ADDRESS \
        --destination-ip-address=35.190.247.13 \
        --destination-port=1688 \
        --protocol=TCP
    

    Conforme mostrado na imagem seguinte, deve ver Salto seguinte: gateway de Internet indicado no campo Rota estática do cartão de resultados do Teste de conetividade. Se vir um resultado diferente, a ativação do Windows falha. Resultado do teste de conetividade do KMS.. O resultado deve mostrar um estado de Reachability e um resultado de Successful.

  4. Execute os seguintes comandos para confirmar o estado atual da sua licença, definir o endereço IP do servidor do 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
    

Resolução de problemas da consola de série interativa

  1. Certifique-se de que cumpre o pré-requisito para aceder à consola de série.

  2. Ative os Serviços de gestão de emergências. Se o EMS estiver desativado, a consola série não aceita entradas de teclado, mas apresenta apenas um ecrã em branco com um cursor intermitente.

    Linha de comandos

    1. Estabeleça ligação à VM através do RDP e abra Command Prompt como administrador. Se não conseguir usar o RDP, adicione os passos subsequentes como valores à chave de arranque windows-startup-script-cmd.

    2. Defina as definições de redirecionamento de EMS globais para usar COM2, uma taxa de transmissão de 115 200 e ative o EMS.

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

      shutdown -r -t 0
      

    PowerShell

    1. Estabeleça ligação através do RDP e abra o Powershell como administrador. Se não conseguir usar o RDP, adicione os passos subsequentes como valores à chave de arranque windows-startup-script-ps1.

    2. Defina as definições de redirecionamento de EMS globais para usar COM2, uma taxa de transmissão de 115 200 e ative o EMS.

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

      shutdown -r -t 0
      

O que se segue?