我正在计算机上安装新操作系统。我应该安装它以在 UEFI 还是传统 (BIOS/CSM) 模式下启动?使用其中一种模式有什么优缺点?
答案1
我在很多地方都看到过这个问题,但只有部分答案,所以我的目标是提供一些类似于完整的启动方案指南的东西;)
首先,您需要了解一些背景信息:
- BIOS 启动通常需要膜生物反应器分区,尽管有些引导加载程序支持其他分区方案,例如谷氨酰胺磷酸酶。
- UEFI 启动通常需要位数操作系统的位数与固件的位数相匹配 - 绝大多数基于 UEFI 的机器都有 64 位固件。
必须使用 BIOS 的情况
- 您正在安装不支持 UEFI 启动的旧操作系统(例如 SP1 之前的 Windows Vista 或更早版本),或者
- 您需要安装与固件位数不同的操作系统(即在具有 64 位 UEFI 的机器上安装 32 位操作系统,反之亦然)
请注意名义上需要 UEFI通常可以通过使用专门设计的引导程序1强制在基于 BIOS 的机器上启动。例如,OS X 就是这种情况——任何 Hackintosh 爱好者都会告诉你。
如果您计划双启动并安装第二个操作系统...
虽然很困难,但可以在 MBR 和 GPT 方案之间进行转换并为不同的模式重新安装引导加载程序。
也可以让一个操作系统通过 UEFI 启动,另一个通过 BIOS 启动。有时你别无选择,例如,如果你已经安装了基于 UEFI 的 64 位 Windows,并想同时安装 32 位 Linux。或者一些不支持 UEFI 的旧操作系统。但请三思,你是否真的需要去做吧。
因此,底线是:只需坚持使用您机器上已有的启动方案,除非你别无选择。这几乎总是正确的方法。
我如何知道我的机器正在使用什么启动方案?
经验法则是:
- 如果是 Mac,它使用 UEFI;一些早期基于 Intel 的型号使用 EFI32,自 2008 年以来的所有型号都使用标准 64 位 UEFI。
- 如果是搭载 Windows 8 或更高版本的品牌 PC,则使用 UEFI;自 Windows 8 以来,微软要求所有符合 Windows 徽标规范的计算机默认启用安全启动(需要 UEFI)。
- 如果它是搭载 Windows XP 或更早版本的 PC,则它使用 BIOS。
对于搭载 Windows Vista 或 7 或 Linux 的 PC,以及 DIY PC 或小型本地企业销售的 PC,您无法仅凭肉眼确定。在这种情况下,有几种方法可以识别启动模式:
- 您可以检查分区表。如果它是 GPT 磁盘并且具有“EFI 系统分区”(通常在主操作系统卷之前),它将以 UEFI 模式启动。否则,它将以 BIOS 模式启动。
- 您可以进入 BIOS/UEFI 设置程序并搜索启动优先级选项。如果它显示 EFI 或 UEFI 条目,并且/或者它们在某种程度上描述了操作系统(如“Windows 启动管理器”或“Ubuntu”),则它会以 UEFI 模式启动。如果它最多只显示驱动器型号,则它是 BIOS 模式。
如果您要在新机器上安装第一个操作系统或打算清除硬盘……
首先,检查您是否有选择。进入 BIOS/UEFI 设置程序并查找“启动模式”等选项,这些选项可以在“UEFI”、“Legacy”、“UEFI+Legacy”等之间切换。它也可能被称为“启用 UEFI 启动”或“启用传统启动”,或提及术语 CSM。如果你的固件中没有这样的选项,那你就没那么幸运了,只能坚持使用你现有的– 在较旧的机器上,这将是 BIOS 模式;也有一些较新的机器(例如 Microsoft Surface 系列)仅支持 UEFI 模式。如果您仍然不确定您拥有的是什么 – 在设置中搜索“安全启动” – 如果任何地方提到它,那就是 UEFI。
假设您有选择...让我们看看这两种模式的优点。
UEFI 的优点
- 启动更快、电源管理更好2对于 Windows 尤其如此——根据各种因素,具有快速启动功能的 UEFI 甚至可以比传统启动快两倍。对于 Linux ,差异会更小,但仍然存在。这是因为 BIOS 启动的操作系统需要重新初始化一些可能已经初始化的硬件,初始操作系统代码需要在非常慢的传统模式下加载,等等。使用 Linux,您还可以完全放弃 GRUB(或等效程序),直接从固件启动内核,这也可以加快进程。此外,重新启动、睡眠、休眠等操作有时可能会部分或完全绕过邮政,进一步提高启动和电源相关操作的整体速度。
- 安全启动选项。根据您的使用情况,它可能带来的麻烦多于好处(但大多数硬件都允许禁用它),而且它的实际安全优势有限 - 但尽管如此,在固件级别进行额外的签名检查可以成为针对 rootkit 的额外保护。只是不要以为您的系统仅仅因为使用了安全启动就很安全,这种假设太不合理了。
- 更好地支持大型驱动器。MBR 分区方案不支持大小超过 2 TiB 的磁盘。您仍然可以在 BIOS 下从如此大的磁盘启动,方法是使用混合分区表和额外的引导加载程序分区(大多数操作系统默认都会创建),但它在 UEFI 下更受支持。此外,GPT 没有 MBR 的 4 个分区限制,让您摆脱“扩展分区”之类的无用之物。几乎没有什么事情您不能通过拼凑在 MBR 上完成——但它得到了优雅而原生的支持,无需拼凑;)
- 本机多重启动。UEFI 允许本机声明单个硬盘上安装了多个操作系统 - 然后您可以在固件 UI 中选择它们,而无需额外的引导加载程序。虽然它并不总是处理多重引导的最方便的选项,但这应该会减少诸如操作系统更新或某些防病毒软件覆盖引导加载程序等问题的数量。
- 更好的软件控制。某些 UEFI 设置(尤其是启动顺序)可由操作系统以标准方式更改。这样,您就可以在操作系统内命令“关机并从 CD 重新启动”(或在上述情况下“启动另一个操作系统”)等操作,而无需进入固件 UI。
BIOS 的优点
- 更简单的启动过程。更简单,就像设计上更简单一样 - 但对于现代硬件来说并不一定更简单(这就是它更慢的原因)。使用 UEFI,只有可移动介质才能始终一致地启动– 内部驱动器上操作系统的引导加载程序条目存储在主板上。这就是为什么在基于 UEFI 的机器上,当更换硬盘或在机器之间移动驱动器时,您需要可移动介质上的修复环境(或固件内的 EFI shell,有时在 DIY 市场主板上可用,但在品牌机器中几乎不存在)来重建新驱动器的内部引导加载程序配置。相比之下,BIOS 只引导驱动器的第一个扇区,这允许在机器之间轻松克隆和移动硬盘(当然,前提是没有与驱动程序相关的问题)。
- 更加灵活的操作系统选择。Vista SP1 之前的 Windows 版本无法通过 UEFI 启动。旧版 Linux 发行版也类似。此外,一般来说,无法启动位数与固件不同的操作系统 - 绝大多数基于 UEFI 的系统都是 64 位的,这意味着没有 32 位操作系统,除非借助传统启动。相比之下,几乎所有东西都可以通过 BIOS 启动。1
- 更少的错误。UEFI 实现经常存在微妙但致命的缺陷和错误,这可能会导致主板变砖删除固件配置或者加载错误的驱动程序相比之下,BIOS 自 1981 年就已经存在,至少它与操作系统交互的方式在此期间没有发生太大变化。在现代用法中,它是一个非常薄的层,仅在启动时使用,并且大多是单向的,操作系统几乎无法访问 BIOS 内部的任何内容。这意味着致命破坏变得更加困难。
结论
如果您符合以下情况,我的建议是通过传统 BIOS 启动:
- 实际上是在设置虚拟机——虚拟机管理程序上的 UEFI 往往是有限的和实验性的;BIOS 启动得到更好的支持
- 需要在 64 位机器上启动 32 位操作系统
- 固件已知漏洞特别多
- 经常在机器之间交换或移动硬盘
否则,最好使用 UEFI。它更快、更安全,功能更强大。
脚注
- 甚至可以安装 UEFI 环境在 BIOS 之上。TianoCore的 DUET 版本专门用于此目的 - 但这种设置通常不适用于实际安装。除非您有一台仅 BIOS 的机器,并且您正在安装一些无法通过 UEFI 引导加载程序以外的任何其他方式启动的实验性操作系统 - 您不想这样做。
- 一些早期的 UEFI 固件可能会将 UEFI 引导加载程序“附加”在基于 BIOS 的固件之上。在极少数情况下,BIOS 启动实际上可能会更快,但这并不代表大多数硬件都是如此。