我刚刚犯了一个可能代价高昂的错误:删除并重新安装一台全新的联想 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
允许您设置引导加载程序选项。互联网上有几个关于此命令的教程和参考资料,但我不知道哪一个真正适合您的情况。不过,您可能想阅读:
- Gentoo Linux wiki
efibootmgr
- Arch Linux wiki 页面上的 EFI,特别是其中的
efibootmgr
- 我的关于在 Linux 中安装 EFI 引导加载程序的页面
- 手册
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 中禁用它,那就失去了意义,因为恶意软件会这样做。)不同计算机的详细信息差别很大,因此很难提供分步说明。尽管如此,我还是为四个系统提供了这样的说明在本页。如果您确实需要这样做的话,幸运的话,您的系统将与其中一个相似。