我在 VirtualBox 中使用 UEFI 安装了 Ubuntu 14.10。但现在我重新启动了此操作系统,它现在启动到 UEFI Interactive Shell v2.0。我如何才能再次正常启动到 Grub?
答案1
我遇到了同样的问题,发现如果我在交互式 shell 中发出以下命令,虚拟机将启动到 Ubuntu:
fs0:\efi\ubuntu\grubx64.efi
(使用反斜杠,正斜杠不起作用。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"
答案2
我也遇到了同样的问题(已启用 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 并启动 OS。但第二次重新启动时,您将再次进入 shell,为避免这种情况,请编辑startup.nsh
。
答案3
另一个选择是取消选中虚拟机“主板”下的“启用 EFI”扩展功能选项。
Gnome Ubuntu 12.04.2 amd64bit 安装时出现此问题。
在更改硬件加速设置后发现了这一点。我只好启用 VT-x/AMD-V 和嵌套分页。我的虚拟机有 2 个 CPU,8GB RAM,仅供参考。
取消选中后,问题完全被绕过,Gnome Ubuntu 启动没有问题。在 Windows 7 64 位主机上运行 Virtual Box 4.3.18 r96516。