VirtualBox 仅在 UEFI Interactive shell 中启动

Ben*_*ütz 58 boot uefi 14.04

我在带有 UEFI 的 VirtualBox 中安装了 Ubuntu 14.10。但是现在我重新启动了这个操作系统,现在它启动到 UEFI Interactive Shell v2.0。如何再次正常启动到 Grub?

小智 56

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

fs0:\efi\ubuntu\grubx64.efi
Run Code Online (Sandbox Code Playgroud)

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

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

更新 1:

我阅读了这篇文章,找到错误报告并找到了更好的解决方法

更新 2:

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

更新 3:

终于找到了解决办法。根据这个,你需要手动创建一个startup.nsh脚本。除了上述帖子中的方法,您还可以执行以下操作:

$ sudo mount /dev/sda1 /mnt
$ cd /mnt
$ sudo sh -c "echo '\EFI\ubuntu\grubx64.efi' > startup.nsh"
Run Code Online (Sandbox Code Playgroud)

  • [*“目前无法从正在运行的客户机中操作 EFI 变量”*](https://www.virtualbox.org/manual/ch03.html#efi) 您第二次更新中的解决方案可以移动任何引导加载程序想在 ESP 上使用 `\EFI\boot\bootx64.efi` 对我来说听起来比浪费 5 个 soconds 等待启动.nsh 更好的解决方案。注意:您可以在启动时按 F12 或在 EFI shell 中输入 `exit` 来访问固件设置和修改各种内容,包括终端分辨率,但这些修改不会永久存储。 (3认同)

VRR*_*VRR 32

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

所以,为了避免 shell 类型:

fs0:
编辑startup.nsh

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

FS0:
\EFI\ubuntu\grubx64.efi

Ctrl+sEnter保存和Ctrl+q退出。然后重启虚拟机。

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

  • 如果你没有使用 Ubuntu,你可以在 UEFI shell 中使用 `ls` 为你的机器找出正确的路径。例如`ls FS0:\EFI`,然后`ls FS0:\EFI\redhat`,在CentOS 上学习路径是`FS0:\EFI\redhat\grub.efi`。 (2认同)

小智 13

另一种选择是取消选中 VM 的“主板”下名为“启用 EFI”的扩展功能选项。

如果 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。