Compartir a través de


Resolución de "No se pudo iniciar Switch Root" para una máquina virtual Linux de Azure

Se aplica a: ✔️ Máquinas virtuales Linux

En este artículo se muestra cómo resolver el error "No se pudo iniciar la raíz del conmutador" para una máquina virtual Linux (VM) de Azure. Este problema puede producirse al actualizar a las siguientes versiones del paquete GRUB en Oracle 8 SP2:

  • grub2-common-2.02-78.0.3.el8_1.1.noarch
  • grub2-pc-modules-2.02-78.0.3.el8_1.1.noarch
  • grub2-efi-x64-2.02-78.0.3.el8_1.1.x86_64
  • grub2-tools-extra-2.02-78.0.3.el8_1.1.x86_64
  • grub2-tools-2.02-78.0.3.el8_1.1.x86_64
  • grub2-pc-2.02-78.0.3.el8_1.1.x86_64
  • grub2-tools-minimal-2.02-78.0.3.el8_1.1.x86_64

Si su problema con Azure no se trata en este artículo, visite los foros de Azure en MSDN y Stack Overflow. Publique su problema en estos foros o en @AzureSupport en Twitter.

Para enviar una solicitud de Soporte técnico de Azure en la página de Soporte técnico de Azure, seleccione Obtener soporte técnico.

Corrección manual del problema en el sistema operativo invitado

Si tiene acceso a la consola serie de Azure, continúe con los pasos descritos en la siguiente sección del método de la consola serie de Azure.

Si no puede usar la sección Consola serie de Azure, continúe con el método Offline.

Método de la consola serie de Azure

  1. Reinicie la máquina virtual mediante la consola serie de Azure y mantenga presionada la tecla Escape para acceder al menú GRUB.

  2. Seleccione la entrada del kernel de rescate.

  3. Copie el kernelopts valor del grubenv archivo. La ruta de acceso del grubenv archivo en Linux puede variar en función de la distribución y configuración del sistema. Normalmente se encuentra en /boot/efi/EFI/redhat/grubenv o /boot/grub2/gubenv.

    Ejemplo:

    cat /boot/grub2/gubenv
    
  4. Edite la entrada de arranque deseada desde /boot/loader/entries:

    Ejemplo:

    vi /boot/loader/entries/a358b364a6d3492898bedc8d1dea3e92-4.18.0-147.8.1.el8_1.x86_64.conf
    

    Agregue manualmente el kernelopts valor que copió y earlyprintk=ttyS0 al archivo de entrada de arranque.

  5. Reinicie la máquina virtual. Si hay más de un kernel instalado, es posible que tenga que seleccionar la entrada modificada en el menú GRUB.

Método Offline

Si no puede acceder a la máquina virtual mediante la consola serie de Azure, la reparación debe realizarse en modo sin conexión, ya que la máquina virtual no arranca.

  1. Utilice los pasos 1-3 de los Comandos de Reparación de VM para preparar una VM de Reparación.

  2. Utilice SSH para conectarse a dicha máquina virtual.

  3. Una vez conectado a la máquina virtual de reparación, use lsblk para buscar las particiones de arranque y efi:

    Captura de pantalla que muestra las particiones de arranque y efi.

  4. Cree un punto de montaje temporal. Por ejemplo, use /repair.

    mkdir /repair

  5. Monte la partición de arranque en el punto de montaje temporal. Por ejemplo, use /dev/sdc1.

    mount /dev/sdc1 /repair/

  6. Monte la partición efi en efi en el punto de montaje temporal. Por ejemplo, use /dev/sdc15.

    mount /dev/sdc15 /repair/efi/

  7. Copie el kernelopts valor del grubenv archivo. La ruta de acceso del grubenv archivo en Linux puede variar en función de la distribución y configuración del sistema. Normalmente se encuentra en /boot/efi/EFI/redhat/grubenv o /boot/grub2/gubenv.

    Ejemplo:

    cat /boot/efi/EFI/redhat/grubenv
    
  8. Edite la entrada de arranque deseada desde /boot/loader/entries:

    Ejemplo:

    vi /boot/loader/entries/a358b364a6d3492898bedc8d1dea3e92-4.18.0-147.8.1.el8_1.x86_64.conf
    

    Agregue manualmente el kernelopts valor que copió y earlyprintk=ttyS0 al archivo de entrada de arranque.

  9. Desmonte la partición efi. Por ejemplo, /repair/efi/.

    umount /repair/efi

  10. Desmonte la partición de arranque. Por ejemplo, /repair/.

    umount /repair

  11. Use el paso 5 de los comandos de reparación de máquinas virtuales para recompilar la máquina virtual.

  12. Inicie la máquina virtual. Si hay más de un kernel instalado, es posible que tenga que seleccionar la entrada modificada en el menú GRUB.

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.