双启动Ubuntu 12.04:UEFI和Legacy

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

具体来说,我的问题似乎来自于选择UEFI或Legacy作为BIOS中的Bootmode。

这是我到目前为止发现的:

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

我已经能够使用实时USB光盘启动Ubuntu,前提是我将Bootmode更改为Legacy。 我还没有承诺安装它,因为我真的不明白后果。

我主要担心的是,我不必简单地在Grub中选择Windows或Ubuntu,而是每次都要改变我的Bootmode,这似乎比它应该更麻烦。

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

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

如果我是对的,你有三个选择如何继续:

  • 在固件中禁用安全启动 – 如果您熟悉设置基本固件选项,这是最简单的方法,但您需要找到正确的固件选项。
  • 使用已使用安全启动密钥签名的发行版安装 – Ubuntu 12.04的安装程序尚未如此签名,AFAIK,但我怀疑 Ubuntu 12.10已经。 不过,我并不是很肯定。 (我还没有在我的安全启动PC上测试它。)Fedora 18应该被签名,但它尚未发布,我不确定任何预发布版本的状态是否存在。
  • 创建自己的安全启动密钥,自己签名,并以这种方式使用安全启动。 到目前为止,这是最难的方法。

有关所有这些方法的更多信息,请参阅我在此主题上撰写的此网页 。 请注意,Web页面没有提及操作系统安装。 操作系统安装的大多数问题和程序与其他任何问题和程序相同,但修改安装CD上的文件比修改USB闪存驱动器上的文件要复杂,因此在考虑选项时请记住这一点。


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

  • 再次检查您的安全启动设置。 是的,我知道你说你已经禁用了它,但固件设置有时会很棘手。 值得仔细检查。
  • 使用gdisk或parted,validation您正在使用的USB驱动器是否具有带有EFI系统分区的有效GUID分区表(GPT)(ESP;在gdisk中标识为分区类型代码EF00,或在parted中通过“boot”标志) 。 如果磁盘使用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 

此示例应在/dev/sdc1上创建EFI可引导的USB闪存驱动器,前提是该分区是USB闪存驱动器上的ESP。 请注意, 运行install.sh 之前 ,必须对磁盘进行分区并创建FAT ESP。

还有一种可能性是在BIOS模式下安装,然后再将其排序。 在BIOS模式下安装后,您可以安装rEFInd,gummiboot或支持EFI的GRUB版本。 您可能需要通过重命名引导加载程序来跳过一些箍,以使工作正常,但如果您无法让您的安装程序在EFI模式下启动,这可能是您唯一的选择。

使用64位安装程序。 希望您对处理BIOS *感到满意。 您需要确保在HDD或Windows启动管理器之前首先考虑将DVD驱动器/ USB端口用于可启动媒体。 然后,您需要将Ubuntu安装程序的“efi”目录中的.efi添加到白名单中; 为此,请检查BIOS的“安全”选项卡。 在继续执行此操作之前,您可能需要先设置某些密码。 白名单后,重新启动并插入安装程序(USB端口,DVD驱动器,无论在哪里),您现在应该可以从中启动。

根据我的经验,虽然您可以从LiveCD启动,但这可能不是问题的结束。 感觉周围问(并浏览以前的问题)和双启动祝你好运!

*如果没有,有很多在线的howtos。 但要谨慎行事! 这可能会变得危险。

  1. 设置BIOS以UEFI模式启动CD: https : //help.ubuntu.com/community/UEFI#Setup_the_BIOS_in_EFI_or_Legacy_mode
  2. 安装Ubuntu 64
  3. 重启PC。 如果仍然不好,请将Ubuntu转换为UEFI模式: https : //help.ubuntu.com/community/UEFI#Converting_Ubuntu_into_EFI_mode