58 votos

VirtualBox arranca sólo en UEFI Interactive Shell

He instalado Ubuntu 14.10 en VirtualBox con UEFI. Pero ahora he reiniciado este SO y ahora arranca en un Shell interactivo UEFI v2.0. ¿Cómo puedo Shell normalmente en Shell de nuevo?

0 votos

Buenas noticias para todos, con VirtualBox 5.1 ya no son necesarias las soluciones. Sólo tendrás que añadir una nueva entrada EFI (manualmente usando efibootmgr o automáticamente reinstalando Grub) para que vuelva a arrancar Ubuntu de inmediato.

2 votos

Incluso con la 5.1, los cambios en las variables efi, como la configuración requerida de boot con efibootmgr se pierden tras el apagado (aunque se mantienen al reiniciar).

1 votos

5.1.30 sigue existiendo. A pesar de que la solución es fácil, pero tengo que arreglar cada vez después de instalar debian & ubuntu.

56voto

Nairen Zheng Puntos 116

Me encontré con el mismo problema y encontré que si yo ingreso el siguiente comando en la shell interactivo de la máquina virtual podría arrancar en Ubuntu:

fs0:\efi\ubuntu\grubx64.efi

(El uso de la barra invertida, barra diagonal no funciona. Los comandos de UEFI shell interactivo son sensibles a 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 solucionarlo. Acabo de encontrar esta no es la mejo solución.

Actualización 1:

He leído este, rastreado a un informe de error y encontré una solución mejor.

Actualización 2:

Solución en 1 de la Actualización ha fallado. Voy a apagar la máquina virtual, inicio. Y arranca en UEFI shell Interactivo de nuevo. De acuerdo a esto, el problema fue probablemente la causa por un VirtualBox error. Todavía estoy buscando otra solución a esto.

Actualización 3:

Finalmente encontré una solución. De acuerdo a esto, usted necesita crear un startup.nsh script manualmente. Excepto para el método en el mencionado post, también se puede hacer esto:

$ sudo mount /dev/sda1 /mnt
$ cd /mnt
$ sudo echo '\EFI\ubuntu\grubx64.efi' > startup.nsh

3 votos

"Actualmente no es posible manipular las variables EFI desde un huésped en ejecución" La solución en su segunda actualización para mover cualquier cargador de arranque que desea utilizar en el ESP a \EFI\boot\bootx64.efi me parece la mejor solución que perder 5 soc. esperando el startup.nsh. Nota: Puede pulsar F12 durante boot o introducir exit en el EFI Shell para acceder a la configuración del firmware y modificar todo tipo de cosas, incluyendo la resolución del terminal, pero estas modificaciones no se almacenan permanentemente.

0 votos

Después de emitir el comando en el Shell puedes instalar refind para arreglar el EFI

1 votos

Es bueno saber que se trata de un error. Simplemente edit startup.nsh . +1 Busca \EFI\boot\bootx64.efi para saltarse los 5seg.

32voto

VRR Puntos 395

Tuve el mismo problema (con el EFI habilitado porque de otra manera no pude hacerla funcionar). 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 apagar el poder que trajo hasta Shell.

Así, para evitar el tipo Shell:

fs0:
editar startup.nsh

y en la ventana abierta añadir estas 2 líneas:

FS0:
\EFI\ubuntu\grubx64.efi

pulse Ctrl + s y Enter para ahorrar y Ctrl + q para salir. A continuación, reinicie la VM.

Alternativamente, siempre puedes usar estas 2 líneas para salir de Shell y Shell OS. Pero la segunda vez que reinicies estarás en un Shell de nuevo y para evitarlo edita startup.nsh .

0 votos

Escribiendo el comando sí funciona pero el problema es que en el siguiente reinicio vuelve a ir a ese Shell y el archivo startup.nsh no parece guardarse.

0 votos

Para guardar el archivo startup.nsh hay que usar Ctrl+S para guardar y pulsar Enter para escribir en el archivo.

2 votos

En caso de que no estés usando Ubuntu, puedes averiguar la ruta correcta para tu máquina usando ls en la UEFI Shell. Por ejemplo ls FS0:\EFI entonces ls FS0:\EFI\redhat , para aprender el camino es FS0:\EFI\redhat\grub.efi en CentOS.

13voto

robocop Puntos 61

Otra opción es desmarcar la opción de Características Extendidas llamada 'Habilitar EFI' en 'Tarjeta madre' para su VM.

Tuve este problema en la instalación de Gnome Ubuntu 12.04.2 amd64bit.

Descubrí esto después de tener que cambiar la configuración de la aceleración por hardware. Me quedé con tener VT-x/AMD-V, Nested Paging habilitado. Mi VM tiene 2 CPUs, 8GB de RAM como referencia.

Después de desmarcarse el problema es completamente by-passed Gnome Ubuntu arranca sin problemas. Ejecutando Virtual Box 4.3.18 r96516 en Windows 7 64-bit Host.

1 votos

Esto sólo funciona porque Grub también tenía soporte de legado (MBR).

4voto

cylgalad Puntos 79

Copiar grubx64.efi a /EFI/boot/bootx64.EFI
VirtualBox utiliza eso bootx64.efi a boot.
Ref.: Archlinux Virtualbox wiki

0 votos

ta. Esto funciona pero si grubx64.efi se actualiza entonces bootx64.efi tendrá fecha. enlace a una versión del código fuente: github.com/mdaniel/virtualbox-org-svn-vbox-trunk/blob/

0 votos

Esta es más fluida que la edición startup.nsh pero efectivamente no se actualizará automáticamente y tampoco puedes usar symlink porque es una partición FAT32.

2voto

Sudip7 Puntos 137

Hace poco me encontré con este problema. Por favor, compruebe la configuración de su sistema operativo virtual. Haga clic con el botón derecho del ratón en el SO virtual-> Sistema-> Características ampliadas-> Habilitar EFI (desmarque esto). enter image description here

8 votos

¿Cómo es esto una solución si uno quiere usar UEFI?

0 votos

+1: Esto resolvió mi problema. Había comprobado experimentalmente Activar EFI y se olvidó de ello.

0 votos

si deshabilito esa opción después de eso no es capaz de encontrar el medio de arranque, incluso manualmente también no funcionó

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: