VirtualBox arranca solo en el shell interactivo UEFI
49
Instalé Ubuntu 14.10 en VirtualBox con UEFI. Pero ahora he reiniciado este sistema operativo y ahora se inicia en un UEFI Interactive Shell v2.0. ¿Cómo puedo iniciar normalmente en Grub nuevamente?
Buenas noticias para todos, con VirtualBox 5.1 ya no se necesitan soluciones alternativas. Es posible que solo tenga que agregar una nueva entrada EFI (usando manualmente efibootmgro automáticamente reinstalando grub) para que arranque Ubuntu de inmediato.
phk
2
Incluso con 5.1, los cambios en las variables efi, como la configuración de arranque requerida, efibootmgrse pierden después del apagado (aunque permanecen en el reinicio).
chappjc
1
5.1.30 todavía existe. Aunque la solución es fácil, tengo que arreglarla cada vez que instalo Debian y Ubuntu.
CallMeLaNN
Respuestas:
52
Encontré el mismo problema y descubrí que si emitía el siguiente comando en el shell interactivo, la máquina virtual se iniciaría en Ubuntu:
fs0:\efi\ubuntu\grubx64.efi
(Utilice la barra diagonal inversa, la barra diagonal inversa no funciona. Los comandos en el shell interactivo UEFI no distinguen entre mayúsculas y minúsculas).
Mi versión de VirtualBox es 4.3.20 r96997, la versión de Ubuntu es 14.10 AMD64. No sé por qué sucede esto y cómo resolverlo. Acabo de encontrar esta solución no elegante y todavía un poco problemática.
La solución en la Actualización 1 falló. Apagué la máquina virtual y la lancé. Y se reinició en UEFI Interactive shell nuevamente. De acuerdo con esto , el problema probablemente fue causado por un error de VirtualBox. Todavía estoy buscando otra solución para esto.
Actualización 3:
Finalmente encontré una solución. De acuerdo con esto , debe crear un script startup.nsh manualmente. Excepto por el método en la publicación mencionada, también puede hacer esto:
$ sudo mount /dev/sda1 /mnt
$ cd /mnt
$ sudo sh -c "echo '\EFI\ubuntu\grubx64.efi' > startup.nsh"
"Actualmente no es posible manipular las variables EFI desde un invitado en ejecución" La solución en su segunda actualización para mover cualquier gestor de arranque que quiera usar en el ESP me\EFI\boot\bootx64.efiparece la mejor solución que desperdiciar 5 segundos esperando por startup.nsh . Nota: Puede presionar F12 durante el arranque o ingresarexiten el shell EFI para acceder a la configuración del firmware y modificar todo tipo de cosas, incluida la resolución del terminal, pero estas modificaciones no se almacenan permanentemente.
LiveWireBT
Después de emitir el comando en el shell interactivo, puede instalarlo refindpara arreglar EFI
Eduardo
1
Es bueno saber que es un error. En pocas edit startup.nsh. +1 Se busca \EFI\boot\bootx64.efiomitir los 5 segundos.
CallMeLaNN
1
Copiar y renombrar \EFI\ubuntu\shimx64.efia \EFI\boot\bootx64.efies la mejor. crédito
CallMeLaNN
La actualización 3 lo hizo por mí ...
cljk
32
Tuve el mismo problema (con el EFI habilitado porque de lo contrario no podría ejecutarlo). Extraño; aunque la instalación de Ubuntu 14.04.2 no obtuvo ningún error, la instalación de Kubuntu 15.04 no pudo finalizar. Se congeló al final cuando se le pidió que retirara el DVD. Después de reiniciar, arrancó bien, pero después de apagarlo, apareció el shell.
Entonces, para evitar el tipo de shell:
fs0:
editar startup.nsh
y en la ventana abierta agregue estas 2 líneas:
FS0:
\ EFI \ ubuntu \ grubx64.efi
presione Ctrl+ sy Enterpara guardar y Ctrl+ qpara salir. Luego reinicie VM.
Alternativamente, siempre puede usar estas 2 líneas para salir del shell y arrancar el sistema operativo. Pero la segunda vez que reinicie, volverá a estar en un shell y para evitar que se edite startup.nsh.
Escribir el comando funciona, pero el problema es que en el próximo reinicio vuelve a ir a ese shell y el archivo startup.nsh no parece estar guardado.
Igor Čordaš
Para guardar el archivo startup.nsh, debe usar Ctrl + S para guardar y presionar Entrar para escribir en el archivo.
Willoczy
2
En caso de que no esté usando Ubuntu, puede encontrar la ruta correcta para su máquina usando lsel shell UEFI. Por ejemplo ls FS0:\EFI, ls FS0:\EFI\redhataprender el camino está FS0:\EFI\redhat\grub.efien CentOS.
ntc2
1
@ ntc2 ¡Gracias, eso era exactamente lo que estaba buscando! Para mi instalación de Slackware lo fue FS0:\EFI\Slackware\elilo.efi.
fabiomaia
11
Otra opción es desmarcar la opción Funciones ampliadas llamada 'Habilitar EFI' en 'Placa base' para su VM.
Este problema surgió para la instalación de Gnome Ubuntu 12.04.2 amd64bit.
Descubrí esto después de tener que cambiar la configuración para la aceleración de hardware. Me quedé con VT-x / AMD-V, paginación anidada habilitada. Mi VM tiene 2 CPU, 8 GB de RAM como referencia.
Después de desmarcar el problema, se pasa por alto por completo Gnome Ubuntu arranca sin problemas. Ejecutando Virtual Box 4.3.18 r96516 en Windows 7 Host de 64 bits.
Este es más sencillo que editar el método startup.nsh , pero de hecho no se actualizará automáticamente y tampoco puede usar el enlace simbólico porque es una partición FAT32.
Giorgi Gzirishvili
1
Podría resolver este problema cambiando el dispositivo cdrom dentro de virtualbox de IDE a SATA. Eliminé la asignación estándar de la unidad virtual cdrom dentro de la configuración del dispositivo.
Simplemente agregue un dispositivo cdrom al controlador SATA existente que se utilizará para sus medios de instalación.
Recientemente me encontré con este problema. Verifique la configuración de su sistema operativo virtual. Haga clic derecho en el sistema operativo virtual-> sistema-> Funciones ampliadas-> Habilitar EFI (desmarque esto).
efibootmgr
o automáticamente reinstalando grub) para que arranque Ubuntu de inmediato.efibootmgr
se pierden después del apagado (aunque permanecen en el reinicio).Respuestas:
Encontré el mismo problema y descubrí que si emitía el siguiente comando en el shell interactivo, la máquina virtual se iniciaría en Ubuntu:
(Utilice la barra diagonal inversa, la barra diagonal inversa no funciona. Los comandos en el shell interactivo UEFI no distinguen entre mayúsculas y minúsculas).
Mi versión de VirtualBox es 4.3.20 r96997, la versión de Ubuntu es 14.10 AMD64. No sé por qué sucede esto y cómo resolverlo. Acabo de encontrar esta solución no elegante y todavía un poco problemática.
Actualización 1:
Leí esto , rastreé hasta un informe de error y encontré una mejor solución .
Actualización 2:
La solución en la Actualización 1 falló. Apagué la máquina virtual y la lancé. Y se reinició en UEFI Interactive shell nuevamente. De acuerdo con esto , el problema probablemente fue causado por un error de VirtualBox. Todavía estoy buscando otra solución para esto.
Actualización 3:
Finalmente encontré una solución. De acuerdo con esto , debe crear un script startup.nsh manualmente. Excepto por el método en la publicación mencionada, también puede hacer esto:
fuente
\EFI\boot\bootx64.efi
parece la mejor solución que desperdiciar 5 segundos esperando por startup.nsh . Nota: Puede presionar F12 durante el arranque o ingresarexit
en el shell EFI para acceder a la configuración del firmware y modificar todo tipo de cosas, incluida la resolución del terminal, pero estas modificaciones no se almacenan permanentemente.refind
para arreglar EFIedit startup.nsh
. +1 Se busca\EFI\boot\bootx64.efi
omitir los 5 segundos.\EFI\ubuntu\shimx64.efi
a\EFI\boot\bootx64.efi
es la mejor. créditoTuve el mismo problema (con el EFI habilitado porque de lo contrario no podría ejecutarlo). Extraño; aunque la instalación de Ubuntu 14.04.2 no obtuvo ningún error, la instalación de Kubuntu 15.04 no pudo finalizar. Se congeló al final cuando se le pidió que retirara el DVD. Después de reiniciar, arrancó bien, pero después de apagarlo, apareció el shell.
Entonces, para evitar el tipo de shell:
y en la ventana abierta agregue estas 2 líneas:
presione Ctrl+ sy Enterpara guardar y Ctrl+ qpara salir. Luego reinicie VM.
Alternativamente, siempre puede usar estas 2 líneas para salir del shell y arrancar el sistema operativo. Pero la segunda vez que reinicie, volverá a estar en un shell y para evitar que se edite
startup.nsh
.fuente
ls
el shell UEFI. Por ejemplols FS0:\EFI
,ls FS0:\EFI\redhat
aprender el camino estáFS0:\EFI\redhat\grub.efi
en CentOS.FS0:\EFI\Slackware\elilo.efi
.Otra opción es desmarcar la opción Funciones ampliadas llamada 'Habilitar EFI' en 'Placa base' para su VM.
Este problema surgió para la instalación de Gnome Ubuntu 12.04.2 amd64bit.
Descubrí esto después de tener que cambiar la configuración para la aceleración de hardware. Me quedé con VT-x / AMD-V, paginación anidada habilitada. Mi VM tiene 2 CPU, 8 GB de RAM como referencia.
Después de desmarcar el problema, se pasa por alto por completo Gnome Ubuntu arranca sin problemas. Ejecutando Virtual Box 4.3.18 r96516 en Windows 7 Host de 64 bits.
fuente
Copiar
grubx64.efi
a/EFI/boot/bootx64.EFI
VirtualBox usar eso
bootx64.efi
para arrancar.Ref .: Wiki Archlinux Virtualbox
fuente
Podría resolver este problema cambiando el dispositivo cdrom dentro de virtualbox de IDE a SATA. Eliminé la asignación estándar de la unidad virtual cdrom dentro de la configuración del dispositivo.
Simplemente agregue un dispositivo cdrom al controlador SATA existente que se utilizará para sus medios de instalación.
Et voila, no hay más problemas con EFI.
fuente
Recientemente me encontré con este problema. Verifique la configuración de su sistema operativo virtual. Haga clic derecho en el sistema operativo virtual-> sistema-> Funciones ampliadas-> Habilitar EFI (desmarque esto).
fuente
para esto necesitas escribirlo de la siguiente manera:
así es como lo hice funcionar si lo escribes de otra manera no funcionará.
fuente
Otro trabajo alrededor:
En el shell uefi, inicie temporalmente en ubuntu usando:
Luego, dentro de ubuntu, edite el archivo startup.nsh como se muestra a continuación:
Abrir terminal Ctrl+ Alt+ T.
Tipo:
Ingresa tu contraseña.
Ahora elimine todo lo que está allí usando del o la tecla de retroceso.
Luego escriba esto exactamente: (
FS0
- ese es el número0
, no el alfabetoO
)Ahora presione Ctrl+ O(Eso es alfabeto O).
Luego, Alt+ D(para cambiar el texto al formato msdos).
Luego presione
Enter
.Entonces Ctrl+ X.
Ahora reiniciar.
Todo debería estar bien ahora.
fuente
Usando Ubuntu 16.04.4 con EFI habilitado y al iniciar la máquina virtual descubrí que no arrancará y solo permanecerá en el shell interactivo EFI.
Así es como arreglé el arranque:
Primero, descubrí que grubx64.efi se encuentra en BLK2, por lo que durante un arranque único escribí lo siguiente en el shell interactivo:
Y viola, Ubuntu está en funcionamiento.
Ordeno solucionar permanentemente este problema, una vez que el sistema estuvo activo, hice eco de la siguiente línea en /boot/efi/startup.nsh.
Eso es todo, el sistema se iniciará correctamente.
fuente
Después de instalar Kubuntu15.10 en VirtualBox5 con UEFI, el reinicio de la VM falla.
Agregar la línea
en el UEFI-Shell no ayuda.Y la solución con la creación de un nuevo archivo startup.nsh en Kubuntu15.10 en el entorno chroot con
tampoco da ninguna mejora.Encontré la solución:
El problema era que el directorio / boot / efi / EFI / ubuntu con el archivo grubx64.efi no existe.
Después de iniciar un Live-CD y cambiar al entorno chroot, instalé los paquetes faltantes y creé la entrada necesaria de NVRAM con:
fuente
Para definir o cambiar el directorio de arranque de efi, primero debe ejecutar este comando. Esto resolvió mi problema.
NOTA:
/dev/sda
es el disco duro del sistema.fuente