管理 UEFI 安全启动证书修复

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

证书状态

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

先决条件

警告:
更新 UEFI 证书会更改 TPM PCR 测量值(特别是 PCR7),这可能会在将卷主密钥密封到 PCR7 的 Windows 客户机上触发 BitLocker 恢复模式。请仔细规划和分阶段推出,以避免意外的用户中断。
在标记任何虚拟机进行修复之前,请执行以下操作:
  • 作为预防措施,请确保 BitLocker 恢复密钥可访问。
  • 在更新证书之前,暂停受影响的 Windows VM 上的 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
只读。适用于虚拟机、快照和模板对象。可能的值:ok、update_available、update_on_boot。
方法: VM.update_secureboot_certificates_on_boot(session, vm, mark)
传递 mark=true 以安排在下次启动时更新证书。传递 mark=false 以取消待处理的更新。

PowerShell 参考

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

规划

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

自动修复

注意:
下述自动修复功能已于 July 16, 2026 作为更新发布到 XenServer 8.4 抢先体验 通道,并于 July 20, 2026 发布到 正常 通道。
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,可以按如下方式启用自动修复:
Set-XenPool -Pool $pool -AutoUpdateVmSecurebootCertificates $true

故障排除

重启后出现 BitLocker 恢复提示

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

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

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

快照或模板显示 update_available

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