启动修复 Ubuntu 12.04.3,同时保持安全启动

启动修复 Ubuntu 12.04.3,同时保持安全启动

我刚刚安装了 Ubuntu 12.04.3,之后 Ubuntu 启动完美(即使仍然启用了 SecureBoot 等),但是选择 Windows 8 会导致常见错误:

Secure Boot forbids loading module from (hd1,gpt6) /boot/grub/ntfs.mod
no such device 564525C65425C5233
unknown command `drivemap'
invalid EFI file path

如果我使用 Boot-Repair 修复 grub,则禁用 SecureBoot 和操作系统启动。但是,我想知道是否有办法在 Win 8 启动的同时保持 SecureBoot 处于打开状态以获得额外的安全优势?我还想更好地了解这里到底发生了什么,为什么 SecureBoot 会导致 Win 8 加载出现问题,而 Ubuntu 却没问题?

答案1

不幸的是,某些版本的 GRUB 在安全启动处于活动状态时无法启动 Windows 引导加载程序。我不知道 Ubuntu 12.04.3 安装的 GRUB 版本是否存在此问题,但您的经验表明确实如此。至少有四种方法可以解决此问题:

  • 禁用安全启动。(我知道您说您希望保持安全启动,我尊重您的意见;但一个选项,并且它可能是最容易使用的选项。)
  • 找到一个可以在启用安全启动的情况下启动 Windows 引导加载程序的 GRUB 2 版本。不幸的是,我不知道具体哪个版本可以做到这一点。你可能还需要调整 Linux 安全启动配置让它工作。
  • 安装我的rEFInd 启动管理器作为您的主要启动选择器。实际上安装 rEFInd 相当容易;只需安装 Debian 软件包即可。您可能需要克服一些额外的困难使其与安全启动一起工作。
  • 使用固件的内置启动管理器。对于大多数计算机,在启动过程的早期按下 Esc 或功能键会调出其内置的启动管理器。这样您就可以启动 Windows 或 GRUB/Linux,而无需使用 GRUB 来启动 Windows。不幸的是,您按下的键因机器而异,获取启动管理器的时间通常很短,并且您总是需要使用该键来启动非默认操作系统。

一旦您理解了相关原则和工具,使用 rEFInd 或非 Ubuntu 版本的 GRUB 所需的额外安全启动步骤其实并不难。我链接到的页面很长,部分原因是它们描述了几个不同的选项。简而言之,您可能需要安装非 Ubuntu 版本,shim并在首次启动时使用相关MokManager程序安装 Ubuntu 密钥文件(该文件包含在 rEFInd 二进制包中,以及一个我不记得其名称和 URL 的模糊 Ubuntu 包中)。

相关内容