Life, half is memory, half is to continue.

UEFI 引导与 BIOS 引导在原理上有什么区别

By Vincent. @2025.12.24 • 16
UEFI 引导与 BIOS 引导在原理上有什么区别

索引目录

Legacy BIOS 启动原理

UEFI 启动过程

安全启动

Legacy BIOS 启动原理

旧主板 BIOS 引导程序启动时,将自动搜索和加载硬盘中的第一个扇区(512字节,被称为 MBR 主引导记录)到内存,作为下一级程序来执行,所以各家操作系统都提供了自家的 MBR 引导程序。MBR 只有512字节,太小了,复杂的程序根本放不下,所以各家一般都会另外提供一个二级引导程序(比如磁盘子分区的PBR或文件系统上),让 MBR 程序来加载启动这个更大的二级引导程序,比如 Windows 的 NTLDR、bootmgr 等。

二级引导程序一般是为了实现更复杂的引导,如多系统或加引维护菜单。也不只有操作系统厂家在玩,还有很多第三方也在做同样的事情,来实现比操作系统自带的更为灵活和开放的引导程序,如 Grub、Grub4dos、Plop Boot Manager、WEE 等,不过后两者没有二级引导,他们直接占用硬盘前64个扇区实现一个扩大版的 MBR,而非从文件系统加载二级引导。

UEFI 启动过程

UEFI 是一种新的固件接口标准,相比传统的 BIOS,它更强大、更灵活、更安全、开发和可维护性更好。

当我们的 PC 被按下电源按钮,主板上电后,启动步骤如下:

所谓 ESP 分区,其实就是一个普通硬盘(U盘、磁盘等)的普通 FAT16 或 FAT32 格式的分区(如果是GPT分区格式,需要指定UUID类型码),这个分区不一定要在硬盘的第一个分区,只是通常我们会安排在第一的位置。我们可以使用任何磁盘分区/格式化工具来创建 ESP 分区,然后手动建立 EFI\BOOT 目录,把某操作系统或第三方引导程序配带的 bootx64.efi 拷贝到 EFI\BOOT 目录,即可完成引导盘的创建,没有任何技巧。因为是 FAT 文件格式,目录和文件名称的大小写随意。

在启动过程中,可以按某个快捷键(如F2、F8,不同主板不一样),列出主板Flash上已预设的可用引导项和U盘、光盘、PXE网络等固定引导项,用户可以临时选择启动哪项。

安全启动

在 UEFI 体系下,引导程序 bootx64.efi 可以做得很大很复杂,关键是还支持安全启动( SecureBoot)。 UEFI 的主板设置中都带有 SecureBoot 选项,用户可以打开或关闭。

SecureBoot 机制可以防止恶意程序(如病毒、后门)的运行。想像一下,作为亿万富豪,某个黑客想监控你的电脑(偷密码或艳照),但现代操作系统的安全机制防得死死的,只要你不作死,黑客完全没有办法。在前 BIOS 时间,黑客还有一个顶级手段,就是改操作系统内核,直接在内核中破坏所有安全防护。但在 UEFI 时代,SecureBoot 把这扇门也关上了。

具体来说,SecureBoot 是一个链式的验正机制,从源头防止黑客更改。电脑刚上电时,CPU 运行的第一级程序是从主板 ROM 芯片上加载的,这是一个硬件的只读芯片,这段主板ROM内置的程序,固化后连厂家都不能改。当主板开启了 SecureBoot 后,它在加载 EFI\BOOT\bootx64.efi 的同时,还会去验证 bootx64.efi 的签名,通过后才会执行它。bootx64.efi 的这一小段签名信息,是厂家使用私钥生成的,任何第三方都不能伪造。grub4dos for UEFI 没有得到厂家的签名,也不可能获取厂家的签名。

扫码分享收藏
扫码分享收藏