Ubuntu 13.04 和 Windows 8 双启动 GRUB 选项/问题

Ubuntu 13.04 和 Windows 8 双启动 GRUB 选项/问题

我安装了 Ubuntu 13.04 和 Windows 8(出厂时已安装)。我可以选择关闭 UEFI 和安全启动。安装过程很顺利,我可以使用这两个操作系统,我遇到的问题是尝试进入其中一个。如果我在 Ubuntu 中并重新启动,它会将我带到 GRUB 菜单,其中包含以下选项:

  • Ubuntu
  • Ubuntu 的高级选项
  • Windows UEFI bootmgfw.efi
  • Windows UEFI 恢复 bkpbootmgfw.efi
  • Windows 启动 UEFI 恢复
  • Windows UEFI 恢复 bootmgfw.efi
  • Windows 启动 UEFI 恢复 sda2
  • Windows 启动管理器(/dev/sda3 上的 UEFI)
  • 系统设置

如果我选择 Ubuntu,它可以正常运行并且 Ubuntu 可以加载。

当我想要启动 Windows 时,我尝试了多个选项,所有选项要么直接加载到操作系统,要么给我 Windows 启动管理器,其中一个选项是:Windows 8.1。

这一切都很好,但如果我在 Windows 中,然后想回到 Ubuntu,就会出现问题。我重新启动(或关闭),当它重新启动时,它会直接带我进入 ASCII Windows 启动管理器,其中只有一个选项是 Windows 8.1。即使多次重新启动,也无法从这里进入 GRUB。然而,我找到了一种解决方法:首先,我再次重新启动并进入 BIOS,将 UEFI 更改为 Legacy,然后重新启动。当它重新打开时,它显示“未找到操作系统!”,所以我再次重新启动它,再次进入 BIOS 并将其从 Legacy 改回 UEFI。现在,当我重新启动时,它会给我 GRUB 菜单。从 Windows 转到 Ubuntu 需要很长的过程,我知道一定有什么地方出了问题。我已经多次经历了启动修复过程,并更改了 Windows 中用于关机的电源设置,以便它在关机时不会创建映像。

另外,有没有办法更改 GRUB 菜单以仅提供我想要的两个选项?我不需要也不想要全部 11 个。我还看到其他人将其设置为启动到 Windows 8 GUI 以获取启动选项,但我似乎无法弄清楚如何绕过 GRUB 并实现这一点。我尝试使用 EasyBCD,但似乎没有任何作用。我知道双启动这些操作系统的整个过程存在很多问题,所以如果这个 GUI 不起作用,我也没事。

答案1

启动管理器为您提供不同的启动系统。UEFI 是一个启动管理器,除非您使用的是“有缺陷的”UEFI,它们将 UEFI 硬编码为仅启动 Windows。Grub 既是启动管理器,又是启动加载器。EasyBCD 是一个启动管理器。

UEFI 也使用 NVRAM,因此它会记住以前的条目。您可能必须使用 efibootmgr 手动清理旧条目。

您输入的 bkpbootmgfw.efi 是 Boot-Repair 为有缺陷的 UEFI 重命名的实际 Windows efi 文件。它使 shim 具有 Windows efi 文件名,因此 UEFI 可以启动 grub。如果您可以在 UEFI 中启动 ubuntu 条目,请撤消重命名。并在任何 Windows 更新之前撤消重命名,因为它会覆盖文件,并且 Boot-Repairs 备份可能是较旧的版本,从而导致问题。

Grub2 的 os-prober 也发现了旧的 BIOS 类型启动项,该问题已在 13.10 中修复,但您可能需要关闭 os-prober 以免它添加不正确的条目。

删除 BCD 和 NVRAM 中的重复固件对象

http://technet.microsoft.com/en-us/library/cc749510%28v=ws.10%29.aspx

UEFI NVRAM 启动条目缓存在 BCD 存储中 BCD 对某些 UEFI 全局变量具有 1:1 映射,每次操作 {fwbootmgr} 时,NVRAM 都会自动更新

有些系统在 Windows 内部注册 grub/shim 效果更好 - 对于那些不断将 Windows 重置为默认设置的人来说

Windows 8.1 Ubuntu 13.10 双启动时不显示 Grub

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

https://coderwall.com/p/vfyqkg

sudo efibootmgr -v

“-v”选项显示所有条目,以便您可以确认删除的是正确的条目,然后使用“-b ####”(指定条目)和“-B”(删除条目)的组合。示例 #5 是删除:

http://linux.dell.com/cgi-bin/gitweb/gitweb.cgi?p=efibootmgr.git;a=blob_plain;f=README;hb=HEAD

http://software.intel.com/en-us/articles/efi-shells-and-scripting/

在 /etc/default/grub 中我添加了以下内容:

sudo cp -a /boot/grub/grub.cfg /boot/grub/grub.cfg.backup
gksudo gedit /etc/default/grub
GRUB_DISABLE_OS_PROBER=true

如果您的 grub 已更新以添加正确的条目,您可以将其改回 false 或删除条目。对于您的版本,您必须使用 Boot-Repair 或手动添加正确的条目来启动 Windows。

如果从 UEFI 您可以启动 ubuntu 条目:要撤消并将文件重命名为其原始名称,您只需勾选 Boot-Repair 的“恢复 EFI 备份”选项。

相关内容