引导固件项目把 UEFI 作为默认载荷,意味着原本要靠 SeaBIOS 之类传统方案启动的机器,现在能直接跑 UEFI 应用和 UEFI 引导的操作系统安装介质,也能用上图形化设置界面和更完整的设备初始化。这类改动换来兼容性提升,代价是固件体积变大、启动路径变长、可信计算相关的行为也跟着变。普通用户要不要跟进,取决于手上有几台机器、会不会用外置编程器恢复、以及能否接受一次操作失误就让设备无法开机。
传统引导和 UEFI 各解决什么
传统 BIOS 引导靠中断调用和实模式代码拉起系统,接口简单,几十年下来积累了大量针对它的硬件假设。它的限制也明显,启动盘不能太大,图形和网络支持要靠固件自带,新硬件特性经常用不上。
UEFI 换了一套模型,用 PE 格式的可执行文件做引导程序,提供运行时的服务接口,支持大于 2TB 的启动盘。厂商固件大多基于 EDK2 这个开源实现。coreboot 的定位是取代固件里初始化内存和芯片组的那一段,做完后再把控制权交给载荷,SeaBIOS 和 EDK2 都可以当载荷。载荷换成 EDK2,整机就具备了完整的 UEFI 能力。
支持 UEFI 换来了什么
最直接的收益是能启动那些只提供 UEFI 引导的安装介质。很多新发行版和 Windows 安装盘已经不再提供传统引导选项,固件不支持 UEFI 时,需要额外找兼容的引导器或者改安装介质。设备和外设支持也更完整,EDK2 里自带了图形输出、USB 输入、网络启动这些驱动,图形化设置界面能正常工作。企业侧还要看它跟安全启动的关系,UEFI 提供安全启动机制,需要固件带对应的密钥和验证逻辑才能启用。
刷写之前要做的四件事
- 确认主板型号在项目支持列表里,并且是内部编程器刷写还是软件刷写,两者风险不同。
- 把原厂固件的完整备份读出来存两份,最好用外部编程器读取,因为软件读取有时拿不到全部区域。
- 准备好恢复手段,包括外置 SPI 编程器和夹子,或者主板上的恢复跳线。没有恢复手段就不要动手。
- 确认供电稳定,笔记本接上电源,刷写过程中断电是最常见的变砖原因。
风险到底有多大
刷写失败会让机器无法进入任何自检流程,表现是通电后黑屏、风扇转但不启动。软件刷写出问题的概率高于外部编程器,原因是软件路径依赖当前运行的系统,遇到写入保护、区域锁定或者中断就可能写坏。
恢复的前提是能物理接触到闪存芯片。多数台式机和部分笔记本的 SPI 芯片可以夹取,超薄本和部分平板把芯片贴在主板背面或封在屏蔽罩下,恢复难度会高很多。核心启动固件之外还有独立的管理引擎和网络控制器固件区域,误刷这些区域可能导致网卡或管理功能失效,而它们不总能通过重新刷写主固件恢复。自行刷写通常会让保修失效,启用自定义密钥也会和公司的设备合规策略冲突。
什么情况下值得刷
- 机器已经过保,官方固件不再更新,又需要通过 UEFI 引导安装新版系统。
- 有明确的开源固件需求,比如希望固件可审计、去掉厂商预置的组件。
- 手上有编程器和同型号的备份固件,出了问题能自己救回来。
- 设备是备用机或者测试机,坏了不影响主要工作。
主力工作机、公司统一管理的设备、以及拿不到完整备份的机器,不建议自己动手。
常见问题
刷完能不能刷回原厂。可以,前提是有完整备份并且能重新写入。
升级固件和刷写是一回事吗。不是。厂商的固件更新走官方更新通道,通常有签名校验和回滚保护,风险明显低于自行刷写。