什么是 UEFI 和安全启动?它们如何影响 Ubuntu?

Oxw*_*ivi 8 uefi

关于 UEFI 和安全启动的讨论和报道已经出现在许多 Linux 圈子中,但谁能总结一下它对 Ubuntu 的影响以及它如何影响普通用户?

我知道 UEFI 和安全启动是分开的(不可互换),安全启动是统一可扩展固件接口 BIOS 规范的一部分

PS我知道它如何影响Ubuntu,这个问题是为了公众知识的利益。

jco*_*ado 5

Jeremy Kerr 在 UDS 期间进行了一次全体会议。该演示文稿基于他与 Matthew Garrett 和 James Bottomley 合着的一份文件。您可以在此处找到该文档。

我的两分钱是它是一个系统,用于验证您用来启动机器的软件是否已使用内部数据库中可用的授权签名进行签名。只要您有办法编辑有效签名的数据库,这并不危险。然而,一个大的行业参与者似乎希望 OEM 在数据库中只包含一个签名而无法更新它,这是一个大问题,因为没有其他操作系统能够在应用了这些限制的硬件中启动。


Die*_*sel 5

要真正了解它如何影响用户和 Ubuntu,我认为了解 UEFI 是什么以及它发生了什么变化会很有帮助。然后讨论安全启动的功能,以及它如何影响安装:

UEFI是一种规范,它定义了操作系统和固件之间的软件接口

它旨在取代 BIOS。BIOS 很旧,它是为旧硬件设计的。它只能支持 16 位处理器模式,只有 1MB 可寻址空间,最多只能引导 2TiB 驱动器,4 个分区等。 DOS 和较旧的操作系统过去依赖 BIOS 进行基本 I/O……但引导加载程序很重要一旦操作系统运行,今天大大减少。意识到许多人仍会将 UEFI 称为 BIOS。

UEFI 的一些主要变化是:

  • 独立于处理器的架构和驱动程序

  • 操作系统加载前的网络能力。

  • 由于 UEFI 可以是 64 位,它允许它读取可由 64 位计算机寻址的所有内存

  • GUID 分区表而不是 MBR,它允许来自引导驱动器 (8ZiB) 的超过 4 个分区和超过 2TiB

  • 为操作系统提供运行时选项,例如获取日期/时间/NVRAM 访问

UEFI 允许 SECUREBOOT:

安全启动会阻止固件加载驱动程序和操作系统加载程序,除非它们使用写入固件的数字签名进行签名。这对于停止 rootkit 非常有用。您可以添加更多密钥以允许其他软件在“自定义”模式下运行。

话虽如此,您可以阅读有关安全启动的许多限制,如何使用它来允许一个操作系统控制系统等。因此,Windows 8 要求 SecureBoot 能够进入自定义模式或被禁用为 Windows 8 认证。禁用它后,您将失去安全启动的所有好处,但您仍然可以使用 UEFI。在自定义模式下,您可以添加与系统中的私钥不匹配的公钥,以便除了具有私钥的软件之外,其他软件也可以运行

对于 Ubuntu

当您安装 Ubuntu 时,如果您的系统设置为在 UEFI 中启动,它将作为 EFI 安装。

从 Ubuntu 12.10 开始,它已经支持安全启动

如果您将 Ubuntu 添加为第二个操作系统,那么与您的引导加载程序(即 64 位或 32 位)具有相同类型的操作系统非常重要。所以如果你有一个 64 位的 Windows 并且你启动 UEFI,你应该选择 64 位的 Ubuntu。如果不这样做,它将不会加载。我尝试使用 32 位 Ubuntu (13.10) 启动 UEFI,但在禁用 UEFI 之前,它甚至无法读取 USB。我安装了 32 位版本并禁用了它。当我意识到我的错误时,我将 64 位 Ubuntu 重新加载到密钥,启用 UEFI,它检测到它很棒。然后我重新安装。

使用 UEFI 允许您在安装时拥有大量主分区,因此不必担心在您拥有 4 个分区后开始使用逻辑的指南。

一切还不完美。例如,GRUB 在通过安全启动启动 Windows 8 时出现问题。我可以选择先从 Windows 驱动器启动,它工作正常。我可以先加载 GRUB,然后在安全启动下启动 Ubuntu 就好了。但是当 GRUB 加载时,它不会加载带有安全启动的 Windows 8。这是一个关于这个问题的好网站,底部是确认的错误报告:http : //falstaff.agner.ch/2012/12/18/ubuntu-12-10-and-windows-8-with -安全启动模式/