管理 UEFI 安全启动证书修复

Last published : Oct 07, 2026
Microsoft 最初的 2011 年 UEFI 安全启动证书将于 2026 年 6 月开始过期,取而代之的是 2023 年颁发的替换证书。XenServer® 提供了一个托管修复工作流,可帮助管理员识别其 UEFI NVRAM 仅包含旧版 2011 年 Microsoft 证书链的虚拟机 (VM),并在受控重启期间安全地更新这些 VM 以包含 2023 年证书。
在 XenServer 9 上新预配的虚拟机包含较新的 2023 年 Microsoft 证书。此修复工作流仅适用于最初在旧版 XenServer 版本上预配的 VM,这些 VM 可能只包含旧版 2011 年证书。
以下 VM 类对象在此修复工作流的范围内:
  • 仅包含 Microsoft 2011 UEFI 证书链的 UEFI Windows 和 Linux VM,包括当前禁用安全启动的 VM。
  • 携带旧版证书状态的快照和模板(用于报告,不可直接更新)。
以下内容不在范围内:
  • 已包含 2023 年 Microsoft 证书的 VM。
  • BIOS 启动 VM。
  • 使用自定义 UEFI 证书的 VM。
请注意,如果虚拟机由 Citrix Virtual Apps and Desktops™ (CVAD) 预配,可能需要执行其他步骤以确保未来的虚拟机包含 2023 年证书。有关所需的具体操作,请参阅 CTX696696 中的 CVAD 指南。

证书状态

XenServer 为每个 VM、快照和模板对象公开一个只读证书状态。下表描述了可能的值:
状态 含义
ok 该对象不需要修复。这包括 BIOS 引导虚拟机和已包含 2023 年 Microsoft 证书链的虚拟机。
update_available 该虚拟机符合修复条件,并且可以在下次启动时标记为更新。
update_on_boot 该虚拟机已被标记,XenServer 将在该虚拟机下次启动时自动更新证书。
注意:
快照和模板仅出于可见性目的显示其证书状态。修复仅在快照或模板转换为虚拟机且该虚拟机启动后才适用。

先决条件

警告:
更新 UEFI 证书会更改 TPM PCR 测量值(特别是 PCR7),这可能会在将卷主密钥密封到 PCR7 的 Windows 客户机上触发 BitLocker 恢复模式。请仔细规划和分阶段推出,以避免意外的用户中断。
在将任何虚拟机标记为修复之前,请执行以下操作:
  • 作为预防措施,请确保 BitLocker 恢复密钥可访问。
  • 在更新证书之前,暂停受影响的 Windows 虚拟机上的 BitLocker 保护。
  • 在受监控的维护窗口中安排首次修复后的重新启动。

使用 XenCenter® 管理证书修复

请参阅 安全启动证书。

使用 CLI 管理证书修复

查看证书状态

运行以下命令以列出所有 VM 类对象(包括快照和模板)的证书状态:
xe vm-list params=name-label,uuid,is-a-template,is-snapshot,secureboot-certificates-state

标记 VM 以进行修复

运行以下命令以标记 VM,以便 XenServer 在该 VM 下次启动时更新证书:
xe vm-update-secureboot-certificates-on-boot uuid=<vm-uuid> mark=true

取消待处理的更新

运行以下命令以在 VM 重新启动之前取消待处理的证书更新:
xe vm-update-secureboot-certificates-on-boot uuid=<vm-uuid> mark=false
注意:
您只能在 VM 重新启动和计划的修复运行之前取消待处理的更新。VM 重新启动并应用更新后,状态将自动返回到 ok。

XenAPI 参考

证书修复工作流引入了以下 XenAPI 字段和方法,这些字段和方法首次在 SDK 版本 26.14.0 中提供。
字段: VM.secureboot_certificates_state
只读。适用于 VM、快照和模板对象。可能的值:ok、update_available、update_on_boot。
方法: VM.update_secureboot_certificates_on_boot(session, vm, mark)
传入 mark=true 以在下次启动时安排证书更新。传入 mark=false 以取消待处理的更新。

PowerShell 参考

使用 VM 对象 $vm,可以按如下方式访问新字段:
$vm.secureboot_certificates_state
新方法按如下方式调用:
Invoke-XenVM -XenAction UpdateSecurebootCertificatesOnBoot -VM $vm -Mark $true

规划

  1. 以合理大小的批次安排更新,以限制 BitLocker 恢复等问题可能造成的影响范围。
  2. 首先在具有代表性的虚拟机上测试更新,并在广泛部署之前验证来宾启动行为。
  3. 请勿同时批量重启大量虚拟机;错开重启时间,以便有时间响应意外的 BitLocker 或启动问题。

自动修复

注意:
下述自动修复功能已于 July 16, 2026 作为更新发布到 XenServer 9 抢先体验 和 正常 通道。
XenServer 可以配置为在需要时自动将修复应用于由其他产品(例如 Citrix Virtual Apps and Desktops (CVAD))创建/导入的虚拟机。
此行为默认禁用,因为操作证书状态可能会导致虚拟机内部出现问题(请参阅 先决条件)。

启用自动修复

运行以下命令以启用自动修复:
xe pool-param-set uuid=<pool-uuid> auto-update-vm-secureboot-certificates=true

禁用自动修复

运行以下命令以禁用自动修复:
xe pool-param-set uuid=<pool-uuid> auto-update-vm-secureboot-certificates=false

PowerShell 参考

使用 Pool 对象 $pool,可以按如下方式启用自动修复:
Set-XenPool -Pool $pool -AutoUpdateVmSecurebootCertificates $true

故障排除

重启后出现 BitLocker 恢复提示

如果在 Windows 虚拟机上配置了 BitLocker 且未暂停,则在证书修复后的首次重启后,很可能会提示输入 BitLocker 恢复密钥。
输入 BitLocker 恢复密钥以解锁驱动器。虚拟机成功启动后,BitLocker 会自动恢复保护卷。为避免此行为,请在计划的修复重启之前暂停虚拟机上的 BitLocker 保护,并在重启完成后恢复保护。

重启后虚拟机仍处于 update_available 状态

如果虚拟机在重启后仍显示 update_available,则更新可能尚未应用。通过使用 xe CLI 检查状态,验证虚拟机在重启前是否已标记。如果状态是 update_available 而不是 ok,请再次标记虚拟机并重启。

快照或模板显示 update_available

快照和模板无法直接修复。要更新快照或模板的证书状态,请将其转换为虚拟机,然后在标记为更新后重启该虚拟机。