VirtualBox仅在UEFI Interactive shell中引导

我使用UEFI在VirtualBox中安装了Ubuntu 14.10。 但现在我重新启动了这个操作系统,现在它启动到UEFI Interactive Shell v2.0。 我怎样才能再次正常启动进入Grub?

我遇到了同样的问题,发现如果我在交互式shell中发出以下命令,虚拟机将启动进入Ubuntu:

 fs0:\efi\ubuntu\grubx64.efi 

(使用反斜杠,正斜杠不起作用.UEFI交互式shell中的命令不区分大小写。)

我的VirtualBox版本是4.3.20 r96997,Ubuntu版本是14.10 AMD64。 我不知道为什么会这样,以及如何解决它。 刚发现这不优雅,仍然有点麻烦的解决方法。

更新1:

我读了这篇文章 ,追踪到了一个错误报告 ,发现了一个更好的解决方法 。

更新2:

Update 1中的解决方法失败。 我关闭了虚拟机,启动了它。 它再次启动到UEFI Interactive shell。 据此,问题可能是由VirtualBox错误造成的。 我仍在寻找进一步的解决方案。

更新3:

终于找到了解决方案。 根据这个 ,你需要手动创建一个startup.nsh脚本。 除了上述post中的方法,你也可以这样做:

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

我有同样的问题( 启用EFI因为我无法让它运行否则)。 奇怪; 虽然安装Ubuntu 14.04.2没有错误,但安装Kubuntu 15.04无法完成。 当被要求删除DVD时,它在最后冻结。 重置后,它启动正常,但在断电后它带来了shell。

所以,要避免shell类型:

FS0:
编辑startup.nsh

并在打开的窗口中添加以下两行:

FS0:
\ EFI \ Ubuntu的\ grubx64.efi

Ctrl + s按Enter键保存, 按Ctrl + q退出。 然后重启VM。

或者,您始终可以使用这两行来退出shell并启动操作系统。 但是第二次重新启动时,你将再次进入shell并避免它编辑startup.nsh

另一个选项是取消选中VM的“主板”下的“启用EFI”扩展function选项。

如果这个问题出现在Gnome Ubuntu 12.04.2 amd64bit安装中。

在必须更改硬件加速设置后发现了这一点。 我只剩下VT-x / AMD-V,启用了嵌套分页。 我的VM有2个CPU,8GB RAM供参考。

取消检查后,问题完全被绕过,Gnome Ubuntu启动没有问题。 在Windows 7 64位主机上运行Virtual Box 4.3.18 r96516。

grubx64.efi复制到/EFI/boot/bootx64.EFI
VirtualBox使用bootx64.efi来启动。
参考: Archlinux Virtualbox wiki

我可以通过将virtualbox中的cdrom设备从IDE更改为SATA来解决此问题。 我删除了设备配置中虚拟cdrom驱动器的标准映射。

只需将cdrom设备添加到用于安装介质的现有SATA控制器即可。

瞧,EFI没有其他问题。

为此你需要像下面这样写:

 fs0: cd EFI cd ubuntu grubx64 

如果你以任何其他方式写它不会工作,这就是我如何工作。

另一项工作:

在uefi shell中,使用以下命令暂时启动到ubuntu:

 fs0: cd EFI cd ubuntu grubx64 

然后,在ubuntu中,编辑如下的startup.nsh文件:

打开终端Ctrl + Alt + T.

类型:

 sudo nano /boot/efi/startup.nsh 

输入您的密码。

现在使用del或backspace键删除其中的所有内容。

然后输入这个:( FS0 – 数字0 ,而不是字母O

 FS0: \EFI\ubuntu\grubx64.efi 

现在按Ctrl + O (即字母O )。

然后, Alt + D (将文本更改为msdos格式)。

然后按Enter

然后按Ctrl + X.

现在重启。

 sudo reboot 

一切都应该没事了。

使用启用了EFI的Ubuntu 16.04.4并在启动虚拟机时发现它无法启动并且只停留在EFI交互式shell中。

这就是我修复启动的方法:

首先,我发现grubx64.efi位于BLK2中,因此对于一次性启动我只是在交互式shell中键入以下内容:

 BLK2:/EFI/ubuntu/grubx64.efi 

而中提琴,Ubuntu正在运行。

我命令永久修复此问题,一旦系统启动,我将以下行回显到/boot/efi/startup.nsh。

 sudo echo 'BLK2:/EFI/ubuntu/grubx64.efi' > /boot/efi/startup.nsh 

就是这样,系统将正确启动。

我最近遇到了这个问题。 请检查您的虚拟操作系统设置。 右键单击虚拟操作系统 – >系统 – >扩展function – >启用EFI(取消选中此项)。 在此处输入图像描述

在VirtualBox5中使用UEFI安装Kubuntu15.10后,VM的重启失败。

添加线

  FS0:\ EFI \ Ubuntu的\ grubx64.efi 

在UEFI-Shell中没有帮助。

并且在chroot环境中使用Kubuntu15.10创建一个新的startup.nsh文件的解决方案

  sudo echo'\ EFI \ ubuntu \ grubx64.efi'> startup.nsh 

也没有改善。

我找到了解决方案:

问题是,目录/ boot / efi / EFI / ubuntu与文件grubx64.efi不存在。

在引导Live-CD并切换到chroot环境后,我安装了丢失的数据包并创建了所需的NVRAM条目:

  sudo apt-get install grub-efi-amd64-signed shim-signed
 sudo update-grub