Partilhar via


Reparar uma VM do Windows usando os comandos de reparo da Máquina Virtual do Azure

Aplica-se a: ✔️ Windows VMs

Se a VM (máquina virtual) do Windows no Azure encontrar um erro de inicialização ou disco, talvez seja necessário reparar o disco offline. Um exemplo comum seria uma atualização de aplicativo com falha que impede a inicialização bem-sucedida da VM. Este artigo detalha como usar os comandos de reparo de VM do Azure para anexar automaticamente um disco de sistema operacional quebrado a outra VM do Windows para reparo offline. Por meio desse procedimento, o disco do sistema operacional com falha será desbloqueado automaticamente na segunda VM, chamada de VM de reparo, se o disco estiver criptografado com o Azure Disk Encryption. Quando o disco com falha é anexado à VM de reparo, você pode corrigir quaisquer erros e, em seguida, recompilar sua VM original com o disco reparado.

Importante

  • Os scripts neste artigo se aplicam somente às VMs que usam Disco Gerenciado.
  • A conectividade de saída da VM (porta 443) é necessária para que o script seja executado.
  • Somente um script pode ser executado de cada vez.
  • Não é possível cancelar um script em execução.
  • O tempo máximo que um script pode ser executado é 90 minutos. Após esse tempo, ele atingirá o tempo limite.
  • Não modifique as marcas criadas na VM de reparo. As tags são necessárias para que o comando restore funcione corretamente.
  • Para VMs que usam o Azure Disk Encryption, há suporte apenas para discos gerenciados criptografados com criptografia de passagem única (com ou sem KEK).

Visão geral do processo de reparo

Agora você pode usar os comandos de reparo da VM do Azure para alterar o disco do SO de uma VM e não é mais necessário excluir e recriar a VM.

A seção Exemplo de processo de reparo o guiará pelo seguinte processo:

  1. Inicialize o Azure Cloud Shell.
  2. Execute az extension add ou az extension update.
  3. Execute az vm repair create.
  4. Execute az vm repair run ou execute etapas de mitigação.
  5. Execute az vm repair restore.

Observação

Para exibir todos os comandos e parâmetros de reparo de VM disponíveis, consulte az vm repair.

Importante

Para executar os comandos, você precisa de uma função que possa criar os seguintes tipos de recursos na assinatura:

  • Grupos de Recursos
  • Máquinas Virtuais
  • Marcações de recursos
  • Redes Virtuais
  • Grupos de segurança de rede
  • Interfaces de Rede
  • Discos
  • Endereços IP públicos (opcional)

Exemplo de processo de reparo

  1. Iniciar o Azure Cloud Shell

    O Azure Cloud Shell é um shell gratuito e interativo que poderá ser usado para executar as etapas deste artigo. Ele tem ferramentas do Azure instaladas e configuradas para usar com sua conta. Se você executar um script que levará mais de 20 minutos (por exemplo: script win-sfc-sf-corruption ), talvez prefira executar os comandos localmente. Para executar os comandos localmente, é necessária a CLI do Azure versão 2.0.67 ou posterior. Execute az --version para encontrar a versão. Se você precisar instalar ou atualizar sua CLI do Azure, consulte Instalar a CLI do Azure.

    Para abrir o Cloud Shell, selecione Experimentar no canto superior direito de um bloco de códigos. Você também pode abrir o Cloud Shell em uma guia separada do navegador acessando https://shell.azure.com.

    Selecione Copiar para copiar os blocos de código, cole-o no Cloud Shell e selecione Enter para executá-lo.

    Se você preferir instalar e usar a CLI localmente, este início rápido exigirá a CLI do Azure versão 2.0.67 ou posterior. Execute az --version para encontrar a versão. Se você precisar instalar ou atualizar sua CLI do Azure, consulte Instalar a CLI do Azure.

    Se você precisar fazer logon no Cloud Shell com uma conta diferente da que está conectada no portal do Azure, poderá usar az login az login reference. Para alternar entre as assinaturas associadas à sua conta, você pode usar az account set --subscription az account set reference.

  2. Se esta é a primeira vez que você usa os comandos az vm repair, adicione a extensão da CLI vm-repair.

    az extension add -n vm-repair
    

    Se você já usou os comandos az vm repair, aplique as atualizações na extensão vm-repair.

    az extension update -n vm-repair
    
  3. Execute az vm repair create. Esse comando criará uma cópia do disco do sistema operacional para a VM não funcional, criará uma VM de reparo em um novo grupo de recursos e anexará a cópia do disco do sistema operacional. A VM de reparo terá o mesmo tamanho e região que a VM não funcional especificada. O Grupo de Recursos e o nome da VM usados em todas as etapas serão para a VM não funcional. Se sua VM estiver usando o Azure Disk Encryption, use --unlock-encrypted-vm para desbloquear o disco criptografado para que ele fique acessível quando anexado à VM de reparo. Para obter mais informações, consulte confirmar se o ADE está habilitado no disco. Se você precisar solucionar problemas de sua VM em um ambiente Hyper-V aninhado, use --enable-nested e a VM de reparo será criada com a função Hyper-V habilitada junto com uma VM aninhada usando a cópia de disco do sistema operacional.

Importante

Os comandos run e restore exigirão que todas as entradas sejam inseridas usando as mesmas maiúsculas e minúsculas usadas no comando create, anote ou consulte as tags na VM de reparo para ver o que foi usado.

Exemplo de reparo de VM

az vm repair create -g MyResourceGroup -n myVM --repair-username username --repair-password 'password!234' --verbose

Exemplo de reparo de VM com Hyper-V aninhado

az vm repair create -g MyResourceGroup -n myVM --repair-username username --repair-password 'password!234' --enable-nested --verbose
  1. Execute az vm repair run. Este comando executará o script de reparo especificado no disco anexado por meio da VM de reparo. Se o guia de solução de problemas que você está usando especificou um run-id, use-o aqui. Caso contrário, você pode usar az vm repair list-scripts para ver os scripts de reparo disponíveis. O Grupo de Recursos e o nome da VM usados aqui são para a VM não funcional usada na etapa 3. Informações adicionais sobre os scripts de reparo podem ser encontradas na biblioteca de scripts de reparo.

    az vm repair run -g MyResourceGroup -n MyVM --run-on-repair --run-id win-hello-world --verbose
    

    Opcionalmente, você pode executar todas as etapas de mitigação manual necessárias usando a VM de reparo e, em seguida, prosseguir para a etapa 5.

  2. Execute az vm repair restore. Este comando irá trocar o disco do SO reparado pelo disco do SO original da VM. O Grupo de Recursos e o nome da VM usados aqui são para a VM não funcional usada na etapa 3.

    az vm repair restore -g MyResourceGroup -n MyVM --verbose
    

Verificar e habilitar o diagnóstico de boot

O seguinte exemplo habilita a extensão de diagnóstico na VM chamada myVMDeployed no grupo de recursos chamado myResourceGroup:

CLI do Azure

az vm boot-diagnostics enable --name myVMDeployed --resource-group myResourceGroup --storage https://mystor.blob.core.windows.net/

Próximas etapas

Entre em contato conosco para obter ajuda

Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.