在 Linux 中禁用安全启动 - 没有 Windows

在 Linux 中禁用安全启动 - 没有 Windows

我刚刚犯了一个可能代价高昂的错误:删除并重新安装一台全新的联想 Yoga 500 并安装 Linux……而没有启动 Windows 以明确禁用 SecureBoot。用户不想接受 EULA;我们成功启动了 USB 密钥(Ubuntu MATE 15.10、Ubuntu w/Unity 15.04),所以我们想继续。

我想我需要通过具有 SecureBoot 签名的系统 - 也就是说,找到这样的发行版,安装它,在那里禁用 SB,然后重新安装我们喜欢的系统。

这是正确的方法吗?哪些发行版可以工作?我们尝试安装并启动 Ubuntu Unity 15.04(应该具有适当的签名),但安装并重新启动后,我看到一个只有启动选项的屏幕,其中包括 HDD。如果我选​​择它,它只会在同一屏幕上重新提示我。

启动选项 在此处输入图片描述

鉴于 Windows 已经被摧毁,我还有什么选择?

答案1

我怀疑你的问题是不是与安全启动有关。您说您安装的 Ubuntu 支持安全启动。Fedora、OpenSUSE、ALT 和其他几个版本也支持安全启动。话虽如此,已知问题,主要是与不稳定的 EFI 有关;但这些问题通常会阻止安装介质启动,因此如果问题出在安全启动上,那么您就不会取得现在的进展。

您的启动选项屏幕未显示 Ubuntu 条目,这表明存在另一个问题:您的引导加载程序安装出了问题。您应该能够启动 Ubuntu 安装程序,但选择“安装前尝试”选项以进行调查。Linux 命令efibootmgr允许您设置引导加载程序选项。互联网上有几个关于此命令的教程和参考资料,但我不知道哪一个真正适合您的情况。不过,您可能想阅读:

另外,请记住,你的引导加载程序可能已经安装到EFI 系统分区 (ESP),这是一个 FAT 分区,可能是磁盘上的第一个或第二个分区。Ubuntu 引导加载程序应该位于EFI/ubuntu/grubx64.efi该分区上;然而,要使用安全启动,GRUB 必须由名为 Shim 的程序(shimx64.efi通常)启动。因此,要使用 创建 GRUB 条目efibootmgr,您需要引用 Shim,如下所示:

sudo efibootmgr -c -d /dev/sda -p 1 -l \\EFI\\ubuntu\\shimx64.efi -L "ubuntu"

应该创建一个条目,尽管您可能需要调整一些细节。不过,这其中可能会出现一些问题,其中之一可能解释了您的问题:

  • 如果安装程序无法将文件写入 ESP,则安装程序创建的条目efibootmgr将毫无用处。此类问题可能是由于分区不当(特别是如果您手动分区并且不知道必须创建 ESP)、随机磁盘错误等原因造成的。如果这是问题的根源,您需要使用类似引导修复重新安装 GRUB。
  • 某些 EFI 存在错误,导致它们“忘记”或忽略 创建的条目efibootmgr。如果发生这种情况,您可能能够创建一个条目,但重新启动时不会有任何痕迹。最好通过更换故障计算机来处理此问题,但如果无法做到这一点,则可以使用涉及重命名引导加载程序的笨拙解决方法。幸运的是,联想通常不会遇到此问题。
  • 移除磁盘并打开计算机电源有时会导致不再有效的 NVRAM 条目消失。这可能是一个有用的功能,但如果您出于任何原因经常拔下磁盘,这会很麻烦。这不太可能成为您的笔记本电脑的一个因素,但我还是想提一下。

更直接地回答你的问题,安全启动是在固件中禁用的,而不是在 Windows 中禁用的。(事实上,如果你可以从 Windows 中禁用它,那就失去了意义,因为恶意软件会这样做。)不同计算机的详细信息差别很大,因此很难提供分步说明。尽管如此,我还是为四个系统提供了这样的说明在本页。如果您确实需要这样做的话,幸运的话,您的系统将与其中一个相似。

相关内容