Solucionar errores de arranque del sistema operativo de la VM Windows

En este artículo se explica por qué una máquina virtual Windows no puede arrancar y cómo resolver el problema.

Síntomas

Al extraer la captura de pantalla de la máquina virtual (VM), la captura de pantalla muestra el mensaje de que no se encontró la partición de arranque:

Boot failure. Reboot and Select proper Boot device or Insert Boot Media in selected Boot device

Captura de pantalla del mensaje Error de arranque.

Causas

Hay varias causas de este error:

  • El sistema operativo (SO) no puede arrancar debido a que la partición que contiene el almacén de datos de configuración de arranque (BCD) está inactiva.
  • El sistema operativo no puede arrancar debido a daños en BCD.
  • El sistema operativo no puede arrancar debido a que no se encuentra el sector de arranque.

Solución

Sugerencia

Si tiene una copia de seguridad reciente de la VM, puede intentar restaurar la VM desde la copia de seguridad para corregir el problema de arranque.

Información general sobre el proceso

  1. Cree una máquina virtual de reparación y acceda a ella.
  2. Compruebe que la partición del sistema operativo está activa.
  3. Corrija la referencia que falta en el almacén BCD.
  4. Reconstruir la máquina virtual.

Nota:

Si se produce este error, el SO huésped no está operativo. Solucione este problema en modo sin conexión para resolverlo.

Crear y acceder a una máquina virtual de reparación

  1. Utilice los pasos 1 a 3 de Comandos de reparación de VM para preparar una VM de reparación.
  2. Utilizando la Conexión a Escritorio Remoto, conéctese a la máquina virtual de reparación.

Comprobación de que la partición del sistema operativo está activa

Nota:

Esta mitigación solo se aplica a las máquinas virtuales de generación 1. Las máquinas virtuales de generación 2 (con UEFI) no usan una partición activa.

Compruebe que la partición del sistema operativo que contiene el almacén BCD para el disco está marcada como activa.

  1. Abra un símbolo del sistema con privilegios elevados y abra la herramienta DISKPART.

    diskpart

  2. Enumere los discos del sistema, busque discos agregados y continúe con la selección del nuevo disco. En este ejemplo, el nuevo disco es El disco 1.

    list disk
    sel disk 1
    

                                 La ventana diskpart muestra las salidas de los comandos list disk y sel disk 1. El disco 0 y el disco 1 se muestran en la tabla. El disco 1 es el disco seleccionado.                                     

  3. Enumere todas las particiones del disco y, a continuación, seleccione la partición que desea comprobar. Normalmente, las particiones administradas por el sistema son más pequeñas y tienen un tamaño de alrededor de 350 Mb. En la imagen siguiente, esta partición es partición 1.

    list partition
    sel partition 1
    

                                 La ventana diskpart muestra las salidas de los comandos list partition y sel partition 1. La partición 1 es el disco seleccionado.                                     

  4. Compruebe el estado de la partición. En nuestro ejemplo, la partición 1 no está activa.

    detail partition

    Ventana diskpart con salida del comando de partición de detalles donde la partición 1 no está activa.

    Si la partición no está activa, establezca la marca Active y vuelva a comprobar que el cambio se ha realizado correctamente.

    active
    detail partition
    

    Ventana diskpart con salida del comando de partición de detalles donde partición 1 está activa.

  5. Ahora salga de la herramienta DISKPART.

    exit

Corrección de la referencia que falta en el almacén BCD

  1. Abra un CMD con privilegios elevados y ejecute CHKDSK en el disco.

    chkdsk <DRIVE LETTER>: /f

  2. Recopile la información de configuración de arranque actual y documentela, tome nota del identificador de la partición activa.

    1. Para la máquina virtual de generación 1:

      bcdedit /store <drive letter>:\boot\bcd /enum

      1. Si este comando se produce un error debido a \boot\bcd que no se encuentra, vaya a la siguiente mitigación.

      2. Anote el identificador del cargador de arranque de Windows. Este identificador es el que tiene la ruta de acceso \windows\system32\winload.efi.

        Captura de pantalla que muestra la salida de la máquina virtual de generación 1, que muestra el número de identificador en El cargador de arranque de Windows.

    2. Para la máquina virtual de generación 2:

      bcdedit /store <Volume Letter of EFI System Partition>:EFI\Microsoft\boot\bcd /enum

      1. Si se produce este error debido a \boot\bcd que no se encuentra, vaya a la siguiente mitigación.

      2. Anote el identificador del cargador de arranque de Windows. Este es el que tiene la ruta de acceso \windows\system32\winload.efi.

        Captura de pantalla que muestra la salida de la máquina virtual de generación 2, que muestra el número de identificador en Cargador de arranque de Windows.

  3. Ejecute los comandos siguientes:

    1. Para la máquina virtual de generación 1 :

      bcdedit /store <BCD FOLDER - DRIVE LETTER>:\boot\bcd /set {bootmgr} device partition=<BCD FOLDER - DRIVE LETTER>:
      bcdedit /store <BCD FOLDER - DRIVE LETTER>:\boot\bcd /set {bootmgr} integrityservices enable
      bcdedit /store <BCD FOLDER - DRIVE LETTER>:\boot\bcd /set {<IDENTIFIER>} device partition=<WINDOWS FOLDER - DRIVE LETTER>:
      bcdedit /store <BCD FOLDER - DRIVE LETTER>:\boot\bcd /set {<IDENTIFIER>} integrityservices enable
      bcdedit /store <BCD FOLDER - DRIVE LETTER>:\boot\bcd /set {<IDENTIFIER>} recoveryenabled Off
      bcdedit /store <BCD FOLDER - DRIVE LETTER>:\boot\bcd /set {<IDENTIFIER>} osdevice partition=<WINDOWS FOLDER - DRIVE LETTER>:
      bcdedit /store <BCD FOLDER - DRIVE LETTER>:\boot\bcd /set {<IDENTIFIER>} bootstatuspolicy IgnoreAllFailures
      

      Nota:

      En caso de que el disco duro virtual tenga una sola partición y la carpeta BCD y la carpeta de Windows estén en el mismo volumen y, si la instalación anterior no funcionó, intente reemplazar los valores de partición por arranque.

      bcdedit /store <BCD FOLDER - DRIVE LETTER>:\boot\bcd /set {bootmgr} device boot
      bcdedit /store <BCD FOLDER - DRIVE LETTER>:\boot\bcd /set {bootmgr} integrityservices enable
      bcdedit /store <BCD FOLDER - DRIVE LETTER>:\boot\bcd /set {<IDENTIFIER>} device boot
      bcdedit /store <BCD FOLDER - DRIVE LETTER>:\boot\bcd /set {<IDENTIFIER>} integrityservices enable
      bcdedit /store <BCD FOLDER - DRIVE LETTER>:\boot\bcd /set {<IDENTIFIER>} recoveryenabled Off
      bcdedit /store <BCD FOLDER - DRIVE LETTER>:\boot\bcd /set {<IDENTIFIER>} osdevice boot
      bcdedit /store <BCD FOLDER - DRIVE LETTER>:\boot\bcd /set {<IDENTIFIER>} bootstatuspolicy IgnoreAllFailures
      
    2. Para la máquina virtual de generación 2 :

      bcdedit /store <Volume Letter of EFI System Partition>:EFI\Microsoft\boot\bcd /set {bootmgr} device partition=<Volume Letter of EFI System Partition>:
      bcdedit /store <Volume Letter of EFI System Partition>:EFI\Microsoft\boot\bcd /set {bootmgr} integrityservices enable
      bcdedit /store <Volume Letter of EFI System Partition>:EFI\Microsoft\boot\bcd /set {<IDENTIFIER>} device partition=<WINDOWS FOLDER - DRIVE LETTER>:
      bcdedit /store <Volume Letter of EFI System Partition>:EFI\Microsoft\boot\bcd /set {<IDENTIFIER>} integrityservices enable
      bcdedit /store <Volume Letter of EFI System Partition>:EFI\Microsoft\boot\bcd /set {<IDENTIFIER>} recoveryenabled Off
      bcdedit /store <Volume Letter of EFI System Partition>:EFI\Microsoft\boot\bcd /set {<IDENTIFIER>} osdevice partition=<WINDOWS FOLDER - DRIVE LETTER>:
      bcdedit /store <Volume Letter of EFI System Partition>:EFI\Microsoft\boot\bcd /set {<IDENTIFIER>} bootstatuspolicy IgnoreAllFailures
      

Reconstruir la máquina virtual

Utilice el paso 5 de los comandos de reparación de máquinas virtuales para reconstruir la máquina virtual.

Ponte en contacto con nosotros para obtener ayuda

Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.