怎么会发生这种情况:我的 UEFI 上的安全启动似乎适用于 Ubuntu,但不适用于 Fedora 或 Debian?

怎么会发生这种情况:我的 UEFI 上的安全启动似乎适用于 Ubuntu,但不适用于 Fedora 或 Debian?

我在现有系统上重新启用了安全启动。然后它拒绝启动已安装的 Debian 7 或我的 Fedora 20 Live 启动光盘。我确信 Fedora Live 之前已经在该系统上通过了安全启动。然而,还有一个旧的 Ubuntu 安装,曾是能够到达 GRUB(如果我从 UEFI 启动菜单中选择 Ubuntu)。

我很惊讶,因为这与我对安全启动的模糊理解不符。怎么会发生这种事?

UEFI 安全启动的主要内容是 Linux 发行版使用源自 Microsoft 的密钥。我不记得在这个系统上手动安装过任何安全启动密钥,也就是说,这会让 Ubuntu 启动,但不能启动 Debian/Fedora Live。所以我想知道什么样的自动过程可能导致了它?

答案1

一个老FSF纸建议 Ubuntu 安装一个使用自己的密钥签名的引导加载程序 (GRUB),而不链接到 Microsoft 的密钥。安装介质依赖于常用的 Microsoft 密钥。[1][2]

这意味着 Ubuntu 安装过程会将 Ubuntu 密钥加载到您的 UEFI 中。

因此,也许我在某个时候清除了 UEFI 密钥,然后 Ubuntu(可能是其安装光盘)恢复了 Ubuntu 密钥,但没有恢复 Microsoft 密钥。

但我不是 100% 确定。我没有进行任何进一步的测试。


[1] 显然,不可能同时使用两个不同的密钥(即 Ubuntu 和 Microsoft 的密钥)对引导加载程序进行签名。

[2] 如果你想知道为什么他们这样做——我不太确定,但显然 Ubuntu 希望 Ubuntu 认证的硬件也包含 Ubuntu 的密钥。这将让你删除微软的密钥并仍然启动你的 Ubuntu 安装(当/如果你使用通用救援光盘,你必须禁用安全启动)。

相关内容