Compartilhar via


Erro de inicialização do Windows em uma VM do Azure: um sistema operacional não foi encontrado

Aplica-se a: ✔️ VMs do Windows

Número original do KB: 4010142

Este artigo fornece uma solução para um problema em que a VM do Windows não inicia com o erro "Um sistema operacional não foi encontrado".

Sintomas

O Windows não inicia e retorna a seguinte mensagem de erro:

Um sistema operacional não foi encontrado. Tente desconectar todos os drivers que não contêm um sistema operacional.
Pressione Ctrl+Alt+Del para reinicializar

Captura de tela que mostra a mensagem de erro

Motivo

Esse problema ocorre por um dos seguintes motivos:

  • O processo de inicialização não consegue localizar uma partição ativa do sistema.
  • O disco está corrompido.
  • O disco não é apresentado ao host Hyper-V.
  • O host não pode acessar o armazenamento no qual o disco está hospedado.

Resolução

Dica

Se você tiver um backup recente da VM, tente restaurar a VM do backup para corrigir o problema de inicialização.

Para corrigir esse problema, pare (desaloque) e reinicie a VM. Em seguida, verifique se o problema persiste. Se o problema persistir, siga estas etapas.

Etapa 1: verifique se a partição do Windows está marcada como ativa

Observação

Essa mitigação se aplica somente a VMs de Geração 1. As VMs de geração 2 (usando UEFI) não usam uma partição ativa.

  1. Anexe o disco do sistema a uma VM de recuperação.

  2. Inicie uma conexão de área de trabalho remota com a VM de recuperação.

  3. Abra Gerenciamento do computador>Gerenciamento de disco. Certifique-se de que o disco esteja sinalizado como Online no console de gerenciamento de disco. Observe a letra da unidade atribuída ao disco do sistema anexado.

    Captura de tela que mostra o disco anexado à VM de recuperação.

  4. Identifique a partição de inicialização e a partição do Windows. Se houver apenas uma partição no disco do sistema operacional, essa partição será a partição de inicialização e a partição do Windows.

    Se o disco do sistema operacional contiver mais de uma partição, você poderá identificar as partições exibindo as pastas nelas:

    • A partição do Windows contém uma pasta chamada Windows, e essa partição é maior que as outras.

    • A partição de inicialização contém uma pasta chamada Boot. Esta pasta está oculta por padrão. Para ver a pasta, você deve exibir os arquivos e as pastas ocultas e desabilitar a opção Ocultar arquivos protegidos do sistema operacional (Recomendado) . A partição de inicialização normalmente tem de 300 a 500 MB.

  5. Execute o seguinte comando como administrador para criar um registro de inicialização:

    bcdboot <Windows partition>:\Windows /S <windows partition>: 
    
  6. Use a ferramenta DISKPART para verificar se a partição do Windows está ativa:

    1. Abra um prompt de comando com privilégios elevados e abra a ferramenta DISKPART.

      diskpart

    2. Liste os discos no sistema e procure os discos adicionados e prossiga para selecionar o novo disco. Neste exemplo, o novo disco é o Disco 1.

      list disk
      sel disk 1
      

      A janela diskpart mostra as saídas dos comandos list disk e sel disk 1. O disco 0 e o disco 1 são exibidos na tabela. O disco 1 é o disco selecionado.

    3. Liste todas as partições nesse disco e prossiga para selecionar a partição que deseja verificar. Normalmente, as partições gerenciadas pelo sistema são menores e têm cerca de 350 MB de tamanho. Na imagem a seguir, essa partição é a Partição 1.

      list partition
      sel partition 1
      

      Captura de tela que mostra que a 'Partição 1' é a partição selecionada.

    4. Verifique o status da partição. Em nosso exemplo, a Partição 1 não está ativa.

      detail partition

      A janela diskpart com a saída do comando detail partition em que a Partição 1 não está ativa.

      Se a partição não estiver ativa, altere o sinalizador Ativo e verifique novamente se a alteração foi feita corretamente.

      active
      detail partition
      

      A janela diskpart com a saída do comando detail partition em que a Partição 1 está ativa.

    5. Saia da ferramenta DISKPART.

      exit

Etapa 2: Reparar os dados de configuração de inicialização

  1. Execute a seguinte linha de comando como administrador para verificar a integridade do sistema de arquivos e corrigir erros lógicos do sistema de arquivos.

    chkdsk <Windows partition>: /f
    
  2. Execute a linha de comando a seguir como administrador e registre o identificador do Carregador de Inicialização do Windows (não o Gerenciador de Inicialização do Windows). O identificador é um código de 32 caracteres semelhante a "xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx". Você usará esse identificador na próxima etapa.

    bcdedit /store <Boot partition>:\boot\bcd /enum /v
    
  3. Repare os dados de configuração de inicialização executando os comandos a seguir. Substitua os espaços reservados usando os valores reais.

    Observação

    Esta etapa é aplicada à maioria dos problemas de corrupção que afetam os dados de configuração de inicialização. Você deve executar esta etapa mesmo que os valores Device e OSDevice estejam apontando para a partição correta.

    • <A partição> do Windows é a partição que contém uma pasta chamada "Windows".
    • <A partição> de inicialização é a partição que contém uma pasta oculta do sistema chamada "Boot".
    • <Identificador> é o identificador do Windows Boot Loader que você encontrou na etapa anterior.
    bcdedit /store <Boot partition>:\boot\bcd /set {bootmgr} device partition=<boot partition>:
    
    bcdedit /store <Boot partition>:\boot\bcd /set {bootmgr} integrityservices enable
    
    bcdedit /store <Boot partition>:\boot\bcd /set {<Identifier>} device partition=<Windows partition>:
    
    bcdedit /store <Boot partition>:\boot\bcd /set {<Identifier>} integrityservices enable
    
    bcdedit /store <Boot partition>:\boot\bcd /set {<identifier>} recoveryenabled Off
    
    bcdedit /store <Boot partition>:\boot\bcd /set {<identifier>} osdevice partition=<Windows partition>:
    
    bcdedit /store <Boot partition>:\boot\bcd /set {<identifier>} bootstatuspolicy IgnoreAllFailures
    
  4. Troque o disco do SO da VM com falha pelo disco reparado.

  5. Verifique se o problema foi resolvido.

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.