虚拟机中的 UEFI 启动 - Ubuntu 12.04

虚拟机中的 UEFI 启动 - Ubuntu 12.04

我正在尝试使用 VirtualBox 中的 UEFI 启动 Ubuntu 12.04 (64 位)。在 Virtualbox 中使用 UEFI 启动时,我立即进入 EFI-shell。我在网上查找了这个问题,并按照线程。当我按照线程中所述操作时,我收到“efidisk 读取错误”。尽管出现此错误,它仍然以某种方式启动到 Ubuntu,但我最终进入 tty1。

我努力了以避免被丢弃到 EFI-shell 而没有任何成功。

  1. 为什么会出现“efidisk read error”?
  2. 怎样才能直接启动 Ubuntu 而不转到 EFI-shell?
  3. 我如何从 tty1 进入 lightdm?

答案1

VirtualBox 往往会忘记其 EFI 启动项。我知道有两种方法可以解决此问题:

  • 移动/重命名你正在使用的引导加载程序(可能EFI/ubuntu/grubx64.efiEFI 系统分区 (ESP)) 改为EFI/BOOT/bootx64.efi。这是默认/后备文件名,因此如果没有其他条目,VirtualBox 将默认从该文件名启动。
  • 使用 VirtualBox EFI 的菜单找到您正在使用的引导加载程序(再次,可能是EFI/ubuntu/grubx64.efi),并将其添加为引导选项。我不记得确切的步骤,菜单也不太方便用户使用,但如果你在菜单中四处查看,选项那里。

执行上述任何一项操作都应该能够启动 GRUB,但随后您又遇到了第二个问题,即 X 无法启动。要解决此问题,请尝试以下操作:

  1. 进行文本模式登录。
  2. 输入sudo su以获取root特权。
  3. 输入Xorg -configure。这将创建一个名为/root/xorg.conf.new(IIRC) 的文件。
  4. 将新创建的文件复制到/etc/X11/xorg.conf
  5. 可选地,编辑/etc/X11/xorg.conf。这可能是必需的,也可能不是。就我个人而言,我编辑文件以将fbdev驱动程序设置为默认驱动程序,但您可能更喜欢其他驱动程序。网上有很多关于 的指南xorg.conf,但我手头没有任何 URL,而且它可能非常复杂,因此在这里完整描述它是不切实际的。

答案2

由于可以在 Virtual Box EFI 模式下安装 Ubuntu,因此可能无法按预期工作。我自己在几次失败的实验后放弃了这个,在阅读了文档到 Virtual Box

请注意,VirtualBox EFI 支持尚处于实验阶段,随着 EFI 的成熟和普及,它将得到增强。

因此它可以正常工作,但与许多实验性功能一样,它可能无法按预期工作。

对于虚拟机来说,虚拟化 EFI 固件相对于虚拟传统 BIOS 没有任何优势,因此(如果不是为了测试)最好在传统 BIOS 模式下安装虚拟操作系统。

相关内容