各位 LeisureLinux 的硬核玩家们,在上篇推送中我们提到了微软 2011 版 UEFI 证书即将过期的消息。对于 Linux 用户而言,这绝非"隔岸观火",因为目前主流发行版(Ubuntu, Fedora, Arch 等)实现 Secure Boot (SB) 的核心组件——shim,绝大多数都是由微软的这个旧 CA 签署的。
紧急扩散:UEFI 安全启动证书 6 月到期,你的系统准备好了吗?
如果到 2026 年 6 月你的固件(Firmware)中没有更新 Microsoft UEFI CA 2023 证书,或者更新后旧证书被列入 dbx(吊销名单),你的 Linux 可能会直接被拦截在引导阶段。
今天我们深入底层,聊聊如何手动为你的 Linux 导入新证书,确保引导链的稳固。
{#section path-to-node="5"}
技术背景:信任链的交接
在 Linux 世界,安全启动的逻辑是:
UEFI Firmware (存储微软 CA) -> shimx64.efi (由微软签名) -> grubx64.efi (由发行版签名) -> vmlinuz (由发行版签名)。
微软这次更新了两个关键证书:
-
Windows 证书:用于验证 Windows 启动管理器。
-
UEFI CA 2023 证书:用于验证第三方固件驱动(Option ROM)和 Linux shim。
{#section-1 path-to-node="10"}
实战:如何在 Linux 下导入新证书?
大多数现代发行版(内核 6.x+)会自动处理证书更新,但如果你是手动控或使用的是滚动更新版本,可以通过以下步骤确认并操作。
{#section-2 path-to-node="12"}
1. 环境准备:安装必备工具
我们需要 sbkeysync 或 mokutil 来操作 EFI 变量。
[Bash]{ngcontent-ng-c198275178=""}
# Ubuntu/Debian
sudo apt install sbsigntool mokutil
# Arch Linux
sudo pacman -S sbsigntool mokutil
2. 下载微软 2023 新证书
你需要从微软官方获取最新的 .cer 文件。通常我们需要的是 Microsoft Corporation UEFI CA 2023。
- 官方源:访问 Microsoft 公开的 PKI 存储库下载
MicCorUEFICA2023_2023-01-18.crt。
{#section-3 path-to-node="18"}
3. 将证书转换为 EFI 签名列表 (ESL)
UEFI 固件不直接读取 .cer,它需要 EFI Signature List (.esl) 格式。
# 将 DER 格式转换为 PEM openssl x509 -in MicCorUEFICA2023.crt -inform DER -out MicCorUEFICA2023.pem -outform PEM
# 生成签名列表 (需要使用 uuidgen 生成一个标识符) cert-to-efi-sig-list -g \"\$(uuidgen)\" MicCorUEFICA2023.pem MicCorUEFICA2023.esl
[4. 导入固件数据库 (db) ]{ngcontent-ng-c198275178=""}
注意: 此操作具有风险。如果你的主板处于 User Mode 且已锁定,你可能需要进入 BIOS 设置为 Setup Mode。
使用 mokutil(最安全的方式):
# 尝试将证书添加到 MOK 列表,shim 会在下次启动时处理它
sudo mokutil --import MicCorUEFICA2023.cer
```text
或者,通过 `sbkeysync`{index-in-node="6" path-to-node="25"} 直接更新固件 `db`{index-in-node="23" path-to-node="25"} 变量(需要主板支持):
```bash
sudo sbkeysync --keystore
/etc/secureboot/keys --update
进阶:彻底摆脱微软?自签名为王text
对于追求极致掌控的 LeisureLinux 粉丝,与其等待微软更新,不如直接走 自定义模式 (Custom Mode):
-
清除内置密钥:在 BIOS 中清除所有默认密钥,使主板进入 Setup Mode。
-
生成自己的 PK/KEK/db:使用
openssl生成属于你自己的密钥对。 -
签署自己的引导程序:用你的私钥签署
grub和vmlinuz。 -
导入微软证书作为辅助:为了保证显卡 Option ROM 正常工作,仍需将微软 2023 证书作为二级证书导入 db。
这样,即便微软证书再次更迭,你的系统启动权限也永远握在自己手里。
{#section-4 path-to-node="33"}
总结与预警
2026 年的证书更迭是一次全球性的"数字基座"翻新。对于 Linux 运维人员,建议:
-
检查 shim 版本:确保你的发行版已更新到支持 SBAT (Secure Boot Advanced Targeting) 的新版 shim。
-
备份 EFI 分区:在操作任何 EFI 变量前,务必备份。
-
关注 BIOS 更新:主板厂商的固件更新是解决此类兼容性问题的最简单途径。
在代码的海洋里,证书是通行证;在生活的洪流中,智慧是避风港。
你想深入了解如何生成一套完全属于自己的 UEFI 自签名密钥吗?