双启动 Ubuntu 12.04:UEFI 和 Legacy

双启动 Ubuntu 12.04:UEFI 和 Legacy

我正在尝试在新款 Sony Vaio 上双启动 Ubuntu 12.04(或 12.10)和 Windows 8,但遇到了一些问题 :)

具体来说,我的问题似乎来自于在 BIOS 中选择 UEFI 或 Legacy 作为启动模式。

以下是我目前发现的内容:

  • Windows 8 需要使用 UEFI 启动,在传统模式下无法运行
  • Ubuntu(12.04 和 12.10)需要使用 Legacy 启动,并且无法在 UEFI 模式下启动(至少无法从活动磁盘启动)

只要我将启动模式更改为 Legacy,我就能够使用实时 USB 光盘启动 Ubuntu。我还没有决定安装它,因为我不太明白后果。

我主要担心的是,除了在 Grub 中简单地选择 Windows 或 Ubuntu 之外,我还必须每次更改我的启动模式,这似乎比实际的麻烦得多。

那么,问题是:如何在 UEFI 启动模式下安装 Ubuntu 12.04 或 12.10?

答案1

这可能是安全启动问题,至少部分如此。(选择正确的 EFI 模式启动选项也可能是问题的一部分。)在我拥有的一个可以处理安全启动的系统上,启用它并尝试从可以在 EFI 或 BIOS 模式下启动但没有有效安全启动签名的光盘启动,会导致 BIOS 模式启动,即使我告诉计算机以 EFI 模式启动。此行为完全符合您对所发生情况的描述。此外,您说这是一台安装了 Windows 8 的新电脑,这意味着它几乎肯定在出厂时就启用了安全启动。

如果我是对的,您有三种选择:

  • 在固件中禁用安全启动——如果您熟悉设置基本固件选项,这是最简单的方法,但您需要找到正确的方法。
  • 使用已用安全启动密钥签名的发行版进行安装——据我所知,Ubuntu 12.04 的安装程序尚未经过签名,但我怀疑Ubuntu 12.10 已经签名了。不过我对此并不确定。(我还没有在具有安全启动功能的 PC 上测试过。)Fedora 18 应该已经签名,但尚未发布,而且我不确定预发布版本的状态。
  • 创建自己的安全启动密钥,自己签署所有内容,然后以这种方式使用安全启动。这是迄今为止最难的方法。

有关所有这些方法的更多信息,请参阅此网页我写过关于这个主题的文章。请注意,网页上没有提到操作系统安装。操作系统安装的大多数问题和程序都与其他问题和程序相同,但修改安装 CD 上的文件比修改 USB 闪存驱动器上的文件更棘手,因此在考虑选择时请记住这一点。


补充:我能想到很多原因,即使在禁用安全启动的情况下以 EFI 模式启动,您仍可能会收到“未找到操作系统”消息。我建议您检查以下内容:

  • 再次检查您的安全启动设置。是的,我知道您说您已禁用它,但固件设置有时会很棘手。值得再检查一次。
  • 使用 gdisk 或 parted,验证您使用的 USB 驱动器是否具有有效的 GUID 分区表 (GPT) 和 EFI 系统分区 (ESP;在 gdisk 中标识为分区类型代码 EF00,或在 parted 中标识为“启动”标志)。如果磁盘使用 MBR 分区表,挑剔的固件可能会拒绝它。如果它缺少 ESP,情况也是如此。
  • 如果磁盘使用混合光盘/硬盘配置(某些安装磁盘映像就是如此),那么挑剔的固件可能会拒绝它。在这种情况下,备份它、在磁盘上使用新 ESP 创建新的 GPT,然后逐个文件恢复所有内容可能会让它正常工作。
  • 挂载 ESP 并查找名为 的文件EFI/BOOT/bootx64.efi。(大小写无关紧要;但请参见下文。)这是引导加载程序文件。如果不存在该文件,磁盘将无法启动。您需要弄清楚该文件发生了什么并恢复它。
  • 尽管 ESP 上使用的 FAT 文件系统不区分大小写,但我还是遇到了一个严重损坏的 EFI,它存在大小写问题。调整文件名大小写可能会解决问题,但可能存在很多变体。
  • 检查 ESP 是否使用 FAT32,而不是 FAT16。大多数 EFI 似乎对两者都满意,但规范确实规定 ESP 应该是 FAT32,而且我知道有一种实现对 FAT16 ESP 不满意。

您也可以尝试在 EFI 模式下启动其他程序。一种可能性是rEFInd,这是一个 EFI 引导加载程序,如果你能得到启动时,它可能能够检测并运行 Ubuntu 安装程序的引导加载程序。有一个 rEFInd 的 CD 映像,但那实际上是一个 CD 映像,而不是 USB 映像。要创建 USB 映像,您需要下载二进制文件并手动安装。提示:有一个新的install.sh脚本可用这里。(它注定会在下一个版本中发布,但该版本尚未最终确定。)此版本的脚本包含一个新选项,--usedefault可用于帮助创建可启动的 USB 闪存驱动器。您可以像这样使用它:

sudo ./install.sh --usedefault /dev/sdc1

此示例应在 上创建一个可启动 EFI 的 USB 闪存驱动器/dev/sdc1,前提是分区是 USB 闪存驱动器上的 ESP。请注意,您必须对磁盘进行分区并创建 FAT ESP跑步install.sh

还有一种可能性是在 BIOS 模式下安装,然后再进行整理。在 BIOS 模式下安装后,您可以安装 rEFInd、gummiboot 或支持 EFI 的 GRUB 版本。您可能需要费些功夫重命名引导加载程序才能使其正常工作,但如果您无法让安装程序在 EFI 模式下启动,这可能是您唯一的选择。

答案2

使用 64 位安装程序。希望您能轻松处理 BIOS*。您需要确保您的 DVD 驱动器/USB 端口已考虑在内第一的在您的硬盘或 Windows 启动管理器之前,找到可启动媒体。然后,您需要将 Ubuntu 安装程序的“efi”目录中的 .efi 添加到白名单中;为此,请检查 BIOS 的“安全”选项卡。您可能需要先设置某些密码,然后才能继续执行此操作。列入白名单后,重新启动并插入安装程序(USB 端口、DVD 驱动器等),您现在应该可以从中启动。

根据我的经验,虽然您可以从 LiveCD 启动,但这可能不是问题的结束。请随意询问(并浏览前面的问题),祝您双启动顺利!

*如果没有,网上有很多指南。但要小心谨慎!这可能会很危险。

答案3

  1. 设置您的 BIOS 以在 UEFI 模式下启动 CD:https://help.ubuntu.com/community/UEFI#Setup_the_BIOS_in_EFI_or_Legacy_mode
  2. 安装 Ubuntu64-少量
  3. 重启电脑。如果还是不行,将 Ubuntu 转换为 UEFI 模式:https://help.ubuntu.com/community/UEFI#Converting_Ubuntu_into_EFI_mode

相关内容