安全启动在Windows 8和10上的工作方式以及对Linux的含义

现代PC随附启用了称为“安全启动”的功能。这是UEFI中的一项平台功能,它取代了传统的PC BIOS。如果PC制造商希望在其PC上贴上“ Windows 10”或“ Windows 8”徽标,则Microsoft要求他们启用安全启动并遵循一些准则。

不幸的是,这也使您无法安装某些Linux发行版,这很麻烦。

安全启动如何保护您PC的启动过程

安全启动不仅旨在使运行Linux更加困难。启用安全启动具有真正的安全优势,甚至Linux用户也可以从中受益。

传统的BIOS将引导任何软件。引导PC时,它将根据您配置的引导顺序检查硬件设备,并尝试从这些设备引导。典型的PC通常会找到并引导Windows引导加载程序,然后继续引导完整的Windows操作系统。如果使用Linux,BIOS将查找并引导大多数Linux发行版使用的GRUB引导加载程序。

但是,恶意软件(例如rootkit)可能会替换您的引导加载程序。 Rootkit可以加载您的常规操作系统,而没有任何迹象表明有任何错误,在您的系统上完全不可见且无法检测。 BIOS不知道恶意软件和受信任的引导加载程序之间的区别,它只会引导找到的所有内容。

安全启动旨在阻止这种情况。 Windows 8和10 PC附带了存储在UEFI中的Microsoft证书。 UEFI将在启动引导加载程序之前对其进行检查,并确保它已由Microsoft签名。如果rootkit或另一种恶意软件确实替换了您的启动加载程序或对其进行了篡改,则UEFI将不允许它启动。这样可以防止恶意软件劫持您的启动过程并将其自身隐藏在操作系统中。

Microsoft如何允许Linux发行版通过安全启动来启动

从理论上讲,此功能仅用于防御恶意软件。因此,Microsoft提供了一种无论如何都可以帮助Linux发行版引导的方法。这就是为什么即使启用了安全启动功能,某些现代Linux发行版(如Ubuntu和Fedora)也可以在现代PC上“正常工作”的原因。 Linux发行版可以支付$ 99的一次性费用来访问Microsoft Sysdev门户,可以在该门户中申请对引导加载程序进行签名。

Linux发行版通常带有“ shim”签名。填充程序是一个小型引导加载程序,可以简单地引导Linux发行版的主GRUB引导加载程序。由Microsoft签名的填充程序会进行检查,以确保它正在引导由Linux发行版签名的引导加载程序,然后Linux发行版会正常启动。

Ubuntu,Fedora,Red Hat Enterprise Linux和openSUSE当前支持安全启动,并且可以在不对现代硬件进行任何调整的情况下运行。可能还有其他,但我们知道这些。从理论上讲,某些Linux发行版与申请由Microsoft签名相反。

如何禁用或控制安全启动

如果这是Secure Boot所做的全部工作,则您将无法在PC上运行任何未经Microsoft批准的操作系统。但是您很可能可以通过PC的UEFI固件来控制“安全启动”,就像旧PC中的BIOS一样。

有两种方法可以控制安全启动。最简单的方法是转到UEFI固件并将其完全禁用。 UEFI固件不会检查以确保您正在运行签名的引导加载程序,并且所有内容都会引导。您可以启动任何Linux发行版,甚至可以安装不支持安全启动的Windows 7。 Windows 8和10可以正常运行,您将失去安全启动来保护启动过程的安全优势。

您还可以进一步自定义安全启动。您可以控制安全启动提供哪些签名证书。您可以自由安装新证书和删除现有证书。例如,在PC上运行Linux的组织可以选择删除Microsoft的证书,并在其位置安装组织自己的证书。这些PC将仅引导由该特定组织批准并签名的引导加载程序。

个人也可以这样做-您可以签署自己的Linux引导加载程序,并确保您的PC只能引导您亲自编译和签名的引导加载程序。这就是安全启动提供的控制和功能。

Microsoft对PC制造商的要求

如果Microsoft供应商希望在其PC上贴上漂亮的“ Windows 10”或“ Windows 8”认证标签,则Microsoft不仅要求PC供应商启用安全启动。 Microsoft要求PC制造商以特定方式实施它。

对于Windows 8 PC,制造商必须为您提供一种关闭安全启动的方法。微软要求PC制造商在用户手中放置一个安全启动终止开关。

对于Windows 10 PC,这不再是必需的。 PC制造商可以选择启用安全启动,而不能为用户提供关闭安全启动的方法。但是,我们实际上并不知道有任何PC制造商会这样做。

同样,尽管PC制造商必须包括Microsoft的主“ Microsoft Windows Production PCA”键以便Windows可以启动,但他们不必包括“ Microsoft Corporation UEFI CA”键。仅建议使用第二个键。这是Microsoft用于签署Linux启动加载程序的第二个可选密钥。 Ubuntu的文档对此进行了解释。

换句话说,并非所有PC都必须在启用安全启动的情况下启动已签名的Linux发行版。同样,在实践中,我们还没有看到任何做到这一点的PC。也许没有PC制造商愿意制造您无法在其上安装Linux的唯一笔记本电脑系列。

至少目前,主流Windows PC应该允许您根据需要禁用安全启动,并且即使不禁用安全启动,它们也应启动由Microsoft签名的Linux发行版。

无法在Windows RT上禁用安全启动,但Windows RT已死

有关的:什么是Windows RT,它与Windows 8有何不同?

以上所有情况均适用于标准Intel x86硬件上的标准Windows 8和10操作系统。对于ARM,情况有所不同。

在Windows RT(Microsoft的Surface RT和Surface 2等设备上附带的用于ARM硬件的Windows 8版本)上,无法禁用安全启动。时至今日,仍然无法在Windows 10移动版硬件(即运行Windows 10的手机)上禁用安全启动。

那是因为Microsoft希望您将基于ARM的Windows RT系统视为“设备”,而不是PC。正如微软告诉Mozilla所说的那样,Windows RT“不再是Windows。”

但是,Windows RT现在已死。没有适用于ARM硬件的Windows 10桌面操作系统版本,因此您不必再为此担心。但是,如果Microsoft确实带回了Windows RT 10硬件,则可能无法在其上禁用安全启动。

图片来源:约翰·布里斯托(John Bristowe)大使基地


$config[zx-auto] not found$config[zx-overlay] not found