Quedarse atascado en el UEFI Interactive Shell al iniciar una máquina virtual de VirtualBox puede ser muy molesto. Normalmente significa que el firmware EFI no encuentra un gestor de arranque adecuado, por lo que, en lugar de iniciar el sistema operativo, lo redirige a ese gestor de arranque. Sucede con frecuencia si la instalación del sistema operativo fue incompleta, si se modificó la configuración de la máquina virtual o, a veces, simplemente porque el gestor de arranque EFI se corrompió o no está presente. La buena noticia es que hay varias maneras de solucionar esto: algunas rápidas, otras un poco más complejas, pero efectivas. Básicamente, el objetivo es indicar a la máquina virtual dónde encontrar el gestor de arranque del sistema operativo o simplemente cambiar a un método de arranque que funcione mejor en el entorno de VirtualBox. Esta guía explica varias opciones para que la máquina virtual vuelva a arrancar con normalidad.
Cómo solucionar el problema de que VirtualBox solo arranque en el shell interactivo UEFI
Deshabilitar EFI en la configuración de VirtualBox
Esta opción es bastante sencilla y funciona bien si simplemente quieres eliminar la EFI por completo. La idea es volver al modo BIOS heredado, que es más flexible y compatible en la mayoría de los casos. Cuando la EFI está activada, la máquina virtual busca archivos de arranque EFI específicos, que a veces pueden perderse o dañarse, especialmente después de una instalación fallida del sistema operativo. Al desactivarla, VirtualBox usa su modo BIOS predeterminado, que lee las instrucciones de arranque directamente del MBR del disco. Normalmente, esto soluciona el proceso de arranque sin problemas, especialmente en instalaciones de Windows o Linux que no necesitan EFI específicamente.
- Asegúrese de que su máquina virtual esté completamente apagada, no en pausa ni en estado guardado.
- Abra VirtualBox, haga clic derecho en su VM y seleccione Configuración.
- Vaya a Sistema > Placa base.
- Desmarque la casilla junto a Habilitar EFI.
- Haga clic en Aceptar e inicie la máquina virtual nuevamente.
Su sistema omitirá el shell UEFI y arrancará directamente en el sistema operativo. En algunas configuraciones, esta solución es instantánea. En otras, podría requerir uno o dos reinicios, pero suele ser la forma más rápida de volver al sistema operativo si la EFI no es un requisito indispensable para su configuración.
Arranque manual desde el shell EFI
Si prefieres corregir el proceso de arranque EFI en lugar de desactivarlo, puedes intentar seleccionar manualmente el sistema operativo desde el shell EFI. Es un poco extraño, pero una vez en el intérprete de comandos (normalmente Shell>), puedes explorar los archivos del sistema operativo. Este método es útil si el gestor de arranque sigue intacto, pero no se registra ni se selecciona automáticamente.
- Inicie la máquina virtual y espere el mensaje del shell EFI.
- Escriba map y presione Enter: esto mostrará todos los discos y particiones.
- Busque unidades etiquetadas como FS0:, FS1:, etc. Estas son sus particiones EFI y discos del sistema.
- Escriba el nombre de la unidad con dos puntos (por ejemplo,
FS0:) y presione Entrar. - Escriba “dir” para listar archivos. Busque una carpeta EFI.
- Cambie el directorio a EFI con
cd EFIy presione Enter. - Ahora, navega a la carpeta correspondiente a tu sistema operativo, como
cd Microsoft\Bootpara Windows ocd ubuntupara Linux. - Por último, ejecute el archivo del cargador de arranque, que para Windows normalmente es:
bootmgfw.efi.
Escriba la ruta completa si es necesario, por ejemplo: \EFI\Microsoft\Boot\bootmgfw.efi. Si carga, el sistema operativo debería arrancar normalmente, pero esto es una solución temporal. Para una solución más permanente, considere agregar comandos a un script de inicio o copiar el gestor de arranque a la ruta de respaldo (ver más abajo).
Utilice el administrador de arranque integrado
Esto es un pequeño atajo: en lugar de crear scripts o copiar archivos, puedes acceder a la interfaz del Administrador de Arranque UEFI para seleccionar el dispositivo de arranque correcto. Cuando estés en el símbolo del sistema del shell EFI, escribe ” exit” y pulsa Intro. Esto suele llevarte a un menú donde puedes seleccionar el disco de arranque o el sistema operativo. Es una forma práctica de solucionar problemas sin complicarte demasiado.
Copie y cambie el nombre del cargador de arranque a la ruta de respaldo UEFI
Es un poco engañoso, pero copiar el cargador del sistema operativo \EFI\Boot\bootx64.efipuede hacer que el firmware UEFI arranque automáticamente en el sistema operativo, confiando en esa ruta de respaldo. Porque, claro, Windows tiene que complicarlo más de lo necesario. Esta es la solución más fiable, sobre todo si la entrada de arranque EFI está dañada.
- Primero, inicie desde la ISO de instalación del sistema operativo: en VirtualBox, agregue la ISO como una unidad óptica en Almacenamiento e inicie la VM.
- Para Windows, después de iniciar, presione Shift + F10para abrir el Símbolo del sistema.
- Utilice
diskpartpara encontrar la partición EFI: - Escriba
list voly busque la pequeña partición FAT32 etiquetada como EFI o Sistema. - Salga de diskpart con
exit. - Asigne una letra de unidad si es necesario y luego navegue a la carpeta EFI:
- Para Windows, copie el cargador de arranque de la siguiente manera:
copy S:\EFI\Microsoft\Boot\bootmgfw.efi S:\EFI\Boot\bootx64.efi
Para invitados de Linux como Ubuntu:
- Arranque desde un Live USB de Linux, monte la partición EFI:
sudo fdisk -lpara localizar su partición EFI (probablemente /dev/sda1).- Móntalo con:
sudo mount /dev/sda1 /mnt. - Copiar el gestor de arranque:
sudo cp /mnt/EFI/ubuntu/grubx64.efi /mnt/EFI/Boot/bootx64.efi.
Una vez hecho esto, reinicie la máquina virtual normalmente. Ahora debería arrancar directamente en su sistema operativo gracias a la ruta de arranque de respaldo. Otro punto a tener en cuenta: el arranque seguro podría interferir, así que si el Arranque Seguro está activado, podría tener que desactivarlo o reemplazarlo con shimx64.efi.
¿Cómo puedo hacer que esta solución sea permanente?
La mejor manera es copiar el gestor de arranque EFI de su sistema operativo directamente en la ubicación de respaldo \EFI\Boot\bootx64.efi. De esta forma, incluso si el EFI no tiene una entrada de arranque adecuada, cargará este archivo por defecto. En Windows, simplemente copie el archivo bootmgfw.efi como se muestra arriba. En Linux, la misma idea: copie grubx64.efi (o shim, si el Arranque Seguro está habilitado).Esto suele durar tras reinicios e incluso instantáneas de máquinas virtuales. Pero recuerde, si se actualiza el gestor de arranque o se cambian los discos, es posible que tenga que rehacerlo.
Si sigues teniendo problemas, a veces basta con desactivar EFI por completo (ver el método anterior) para salir del shell y acceder a un bucle de arranque normal. Pero recuerda que algunos sistemas operativos o configuraciones sí necesitan EFI; en ese caso, la solución es corregir el gestor de arranque o la entrada EFI.
Eso es todo. Solucionar problemas de EFI en VirtualBox puede ser un lío, pero principalmente se trata de restablecer la ruta de arranque o cambiar el modo de arranque. Después de trastear con EFI un tiempo, resulta un poco extraño cómo cambiar una configuración o copiar un archivo puede marcar una diferencia tan grande.