系统极客一直在努力
专注操作系统及软件使用技能

3 招查看 Windows 11 安全启动证书更新状态

Windows 安全

微软 2011 年发布的 UEFI 安全启动证书,将在 2026 年 6 月正式过期。最近几个月,微软一直在推进从旧证书到 2023 版新证书的平滑替换。为了避免后续碰到启动、安全验证异常等问题,建议大家提前手动确认一下,系统是否已经完成了证书迭代。

安全启动简介

「安全启动」是 UEFI(统一可扩展固件接口)中一项基于固件的核心安全防线,核心任务就是「守门」:确保设备启动时,只加载经过受信任证书签名的软件,在操作系统加载之前,就把试图篡改底层引导组件的恶意代码拒之门外。

  • 为了实现这个目标,安全启动会依赖一系列加密密钥,来验证固件模块和引导加载程序(Bootloader)的合法性。由这些证书共同构建起信任链,来保障系统的早期启动安全。
  • 既然是数字证书,当然就有固定的生命周期。如果未完成更新续期,虽然系统还能够正常启动和接收 Windows 更新,但将无法获得未来针对启动链(Boot Manager、Secure Boot DB/DBX、启动阶段漏洞缓解等)的新安全保护。

安全启动证书的作用

目前,绝大多数设备的安全启动信任链,都建立在微软 2011 年颁发的证书体系之上,这批证书的具体过期时间和作用如下:

即将过期证书过期日期新签发证书存储位置用途
Microsoft Corporation KEK CA 20112026 年 6 月 24 日Microsoft Corporation KEK 2K CA 2023存储在 KEK 中对 DB 和 DBX 的更新进行签名。
Microsoft Windows Production PCA 20112026 年 10 月 19 日Windows UEFI CA 2023存储在 DB 中对 Windows 启动加载程序进行签名。
Microsoft UEFI CA 20112026 年 6 月 27 日Microsoft UEFI CA 2023存储在 DB 中对第三方启动加载程序和 EFI 应用程序进行签名。
Microsoft UEFI CA 20112026 年 6 月 27 日Microsoft Option ROM UEFI CA 2023存储在 DB 中签署第三方选项 ROM

查看 Windows 11 安全启动证书更新状态

2024 年之后上市的新设备,大多已经预装了 2023 版安全启动证书,具体情况取决于 OEM 和设备型号。老旧硬件这边,微软正通过「Windows 更新」在后台静默推送证书迭代。

如果想确认自己设备的状态,完全可以手动查看 Windows 11 安全启动证书的更新状态:

C:\Windows\SecureBoot目录用于保存证书更新要用到的临时文件,千万别删。

方法 1:通过 Windows 安全中心

1Windows + R快捷键打开「运行」对话框,输入windowsdefender:(注意带冒号)按回车,打开「Windows 安全中心」。

2进入「设备安全性」页面,查看「安全启动」的角标和通知。

在 Windows 安全中心查看安全启动角标和描述
查看「安全启动」角标和描述
  • 黄色警告:说明 Windows 11 正在等待应用证书更新,需要收集更多设备固件兼容性数据,保持「Windows 更新」打开并等待即可。2026 年 6 月 9 日推送的 KB5094126 更新,已经大幅扩大了可自动接收更新的设备范围。
  • 红色警告:通常是固件不兼容导致,需要你的电脑制造商发布 BIOS/UEFI 更新。如果看到红色角标,可以到设备官网下载 BIOS 更新,固件刷新完成后,Windows 会自动重试更新证书。
由于硬件或固件限制,设备不支持自动安全启动证书更新。
黄色警告
此设备无法再接收 Windows 启动体验所需的更新。
红色警告

方法 2:验证注册表

1Windows + R快捷键打开「运行」对话框,执行regedit打开注册表编辑器。

2导航到以下路径:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing

3查看名为UEFICA2023Status的字符串值:

  • Updated:更新已成功完成;
  • InProgress:更新正在进行中;
  • NotStarted:更新尚未启动。
在注册表查看 UEFICA2023Status 字符串值
查看 UEFICA2023Status 字符串值

方法 3:使用 PowerShell 手动验证

1右键点击「开始」菜单,选择「终端管理员」,以管理员权限打开 Windows 终端。

2Ctrl + Shift + 1快捷键,切换到 PowerShell 窗口。

3分别执行以下命令,查询证书状态:

#确认密钥交换密钥(KEK)包含 Microsoft Corporation KEK 2K CA 2023
[System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI KEK).bytes) -match 'Microsoft Corporation KEK 2K CA 2023' 

#确认签名数据库(DB)包含 Microsoft UEFI CA 2023
[System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match 'Microsoft UEFI CA 2023'

#确认签名数据库(DB)包含 Windows UEFI CA 2023
[System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match 'Windows UEFI CA 2023'

执行后如果返回结果为True,说明设备已经成功安装新版证书;如果是False,可以结合「Windows 安全中心」状态、事件日志和注册表结果,进一步确认。

使用 PowerShell 命令查看 Windows 11 安全启动证书更新状态
使用 PowerShell 命令查看

安全启动证书替换流程

整个证书的平滑过渡流程主要分为 2 个阶段:

  1. Windows 先在系统上下载并挂载新证书;
  2. 经过一系列严格的兼容性验证后,证书才会正式写入固件完成激活。

在这两个阶段之间的缓冲期里,你可以在「事件日志」中,看到大量 TPM-WMI 相关的日志:

  • Event ID 1801:事件来源「TPM-WMI」,附带提示「更新的安全启动证书在此设备上可用,但尚未应用于固件。请查看已发布的指南,完成更新并维持全面保护。此处包含此设备签名信息。」
  • 这条日志的意思是:系统已经检测到有新证书可用,但还没有正式写入固件,更新流程仍处于未完成状态。
Event ID 1801
Event ID 1801

简单来说就是:你的设备已经进入证书更新的准备与评估阶段。由于安全启动密钥需要写入 UEFI 固件,可能影响到正常开机,微软把整个替换流程设计得极为保守,尽量避免出现设备变砖的极端情况。

赞(6)
分享到

评论 4

  1. #3

    Get-SecureBootUEFI : 当前未定义变量: 0xC0000100
    所在位置 行:1 字符: 42
    + … ystem.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI KEK).bytes) …
    + ~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : ResourceUnavailable: (Microsoft.Secur…BootUefiCommand:GetSecureBootUefiCommand) [Get-S
    ecureBootUEFI], StatusException
    + FullyQualifiedErrorId : GetFWVarFailed,Microsoft.SecureBoot.Commands.GetSecureBootUefiCommand 怎么办?

    nuonuo1个月前 (08-06)回复
  2. #2

    我也返回了一大堆红色的代码,如下:

    nuonuo1个月前 (08-06)回复
  3. #1

    返回的是一大堆红色的代码,如下:
    Get-SecureBootUEFI : 当前未定义变量: 0xC0000100
    所在位置 行:1 字符: 42
    + … System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) …
    + ~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : ResourceUnavailable: (Microsoft.Secur…BootUefiCommand:GetSecureBootUefiCommand) [Get-S
    ecureBootUEFI], StatusException
    + FullyQualifiedErrorId : GetFWVarFailed,Microsoft.SecureBoot.Commands.GetSecureBootUefiCommand

    Fly4个月前 (05-18)回复
    • 报错说明 Get-SecureBootUEFI 无法读取 UEFI 固件里的 Secure Boot 数据库(db)。

      1.先确认是否 UEFI 模式启动 `Confirm-SecureBootUEFI`
      2.终端窗口是否以管理员权限打开
      3.Secure Boot 关闭,也可能读不到 db。
      4.主板/固件不支持读取 db,比如老主板、OEM 精简 BIOS、虚拟机

      海猴子4个月前 (05-20)回复