UEFI 双启动失败。救命!

UEFI 双启动失败。救命!

我首先在计算机上安装了 Windows 8.1,然后安装了 Ubuntu 14.04 LTS。我的分区表如下所示:

在此处输入图片描述

问题是,当我启动机器时,我看不到引导加载程序选择对话框!相反,根据我的启动配置,我会进入 Windows 或 Ubuntu。要启动 Windows,我必须将启动模式更改为UEFI,然后重新启动。要启动 Ubuntu,我必须将启动模式更改为遗产,然后重新启动。如此频繁地干预启动配置很烦人,而且似乎不对。一定有更好的方法。

橙色高亮的分区似乎是 Windows 用于启动的分区。我的理解(可能不太准确)文章这个分区的挂载点必须是/boot/efi,一切都会正常工作。对吗?有没有办法事后标记这个分区?如果/一旦这个工作成功会发生什么 - 启动时我会得到一个 Grub 提示来选择要启动的操作系统吗?

编辑#1:

我重新安装了 Ubuntu,这次将 Windows 启动分区的挂载点设置为/boot/efi,但没有格式化它。这是更新后的分区表现在的样子。所有问题仍然存在。

在此处输入图片描述

请注意,如果无济于事,我愿意重新安装 Ubuntu。我想让双启动正常工作。

编辑#2:

我尝试应用启动修复建议。这是我得到的结果。

在此处输入图片描述

而且我的实时启动在 UEFI 模式下也不起作用。

答案1

在这种情况下,修复双启动的最简单方法是重新以 EFI 模式安装 Ubuntu,您需要执行的步骤如下:

  1. 在BIOS设置中,打开EFI模式,关闭安全启动。
  2. 完成步骤 1 后重新启动将启动 Windows 8.1。
  3. 在 Windows 设置中,禁用快速启动(如果已启用),如下所示http://winaero.com/blog/how-to-disable-or-enable-fast-startup-in-windows-8-1/
  4. 准备好并插入 ubuntu 安装 USB/CD。
  5. 在 Windows 8.1 中按住 Shift 键并单击重新启动,选择高级选项,然后相应地选择从 USB 或 CD 启动。
  6. 重启后它应该启动到 Ubuntu 安装驱动器,现在您可以像平常一样安装 Ubuntu,而不必自己关心 EFI 分区,Ubuntu 会处理它。
  7. 当您的计算机打开 EFI 后,安装完成后您将看到双启动选项。

答案2

如果 Windows 是以 UEFI 模式安装的,那么 Ubuntu 也应该以 UEFI 模式安装,以避免遇到的模式切换问题。 UFEI 模式安装将把 Ubuntu 引导加载程序 (shim/grubx64.efi 复制到 EFI 分区 FAT 文件系统的目录 /EFI/ubuntu 中,这样它们就不会与任何 Windows 引导加载程序冲突。此外,将在 nvram 中创建一个条目来运行这些引导加载程序(嗯,shim 或 grubx64,取决于是否启用了安全启动)。您可以使用 efibootmgr 自己创建条目,并将引导加载程序复制到它们所属的位置,但引导修复工具会为您完成此操作。关于如何运行引导修复有很多详细的答案,但基本上,只运行您知道需要的部分,而不是“推荐”的部分,因为这可能比您需要的要多得多(例如重命名 Windows 引导加载程序等)。尝试将转换为 UEFI 作为第一步(并阅读一些有关引导修复的内容)。既然您愿意,我建议您以 UEFI 模式重新安装。您的系统唯一奇怪的地方是sda5 上的 EFI 分区,但如果 Windows 启动,我想这不是问题。


UEFI 模式是在 UEFI 设置(以前是 BIOS/setup)中选择的。阅读 oldfred 推荐的一些阅读材料,但也许论坛是获取任何进一步的相互帮助的更好地方。每台机器都应该能够在 UEFI 模式下启动,但有些机器在运行 USB 时会比其他机器遇到更多困难,但是,甚至不清楚您是否进入设置以启用 UEFI(或禁用 CSM 兼容模式)。

答案3

要在 UEFI 模式下全新安装 Ubuntu:

  1. 从中删除“bios_grub”标志sda10分割(它仅适用于从 GPT 分区磁盘启动非 UEFI 系统)
  2. 确保你使用的是 64 位 Ubuntu(仅 x64 版本可以进行 UEFI 启动)
  3. 启动 Ubuntu LiveCD/USB 确保系统固件设置为 UEFI 模式(在这种情况下,您得到的是黑底白字的纯文本菜单)
  4. 使用手动分区方案(“其他”选项)安装 Ubuntu,使用sda5作为“EFI 启动分区”,sda1作为“根”,sda2作为“家”,sda3作为“交换”

GRUB 应该检测 Windows 并将其添加到启动菜单选项中。所有现代 UEFI 固件都检测这两个操作系统,您只需将系统固件设置为默认启动 Ubuntu(因为我们将使用 GRUB 作为启动管理器)。

相关内容