如何解决证书切换导致的安全启动失败问题
问题背景
2025年3月份之前,在HCE版本发布的RPM包hce-sign-certificate-1.0-1.hce2中,针对安全启动功能提供了两本验签证书:HCE_Secure_Boot_RSA_Code-Signing_Authority_1.cer 和 Huawei_Code-Signing_Authority_CA_3.der.cer,用于OS安全启动过程中shim,grub,vmlinux组件的验签。这两本证书任意一个都可以导入BIOS,作为验签证书,其中HCE_Secure_Boot_RSA_Code-Signing_Authority_1.cer证书在2025.04已经到期了,无法使用。
如果服务器安装了2025年3月份之前HCE版本,开启了安全启动功能且只导入了HCE_Secure_Boot_RSA_Code-Signing_Authority_1.cer证书,在升级2025年5月份之后的HCE版本,重启后,会存在系统无法引导启动的问题。
排查方法
- 确认当前安装的系统版本是否为2025年3月份之前的HCE2.0版本。如果是,执行步骤2;如果否,不存在该问题。
[root@localhost ~]# cat /etc/hce-latest hceversion=HCE-2.0.2412.1_aarch64 compiletime=2025-02-28-10-00-01
- 执行mokutil --sb查看系统是否开启安全启动功能。如果显示“SecureBoot enabled”,执行步骤3;如果否,不存在该问题。
[root@localhost ~]# mokutil --sb SecureBoot enabled
- 查看BIOS中导入的证书。
[root@localhost ~]# mokutil --db | grep "Subject:"
图1 系统导入证书查询- 如果上述命令查询结果存在“Huawei Root CA”,则不会有该问题,直接跳到结束;
- 如果上述命令查询结果没有“Huawei Root CA”,有“Huawei Code-Signing Authority CA 3”,OS升级到2025年5月份之后的HCE2.0版本,不会有该问题;
- 如果上述命令查询结果中即不存在“Huawei Root CA”,也不存在“Huawei Code-Signing Authority CA 3”,有“HCE Secure Boot RSA Code-Signing Authority 1”,则存在该问题。
解决方案
获取HCE2.0镜像源中更新的证书,https://repo.huaweicloud.com/hce/2.0/updates/x86_64/Packages/路径下的hce-sign-certificate-1.0-2.hce2.x86_64.rpm,解压或安装后,将新证书Huawei_Root_CA.cer导入BIOS中。
- BIOS证书导入参考:
鲲鹏服务器:https://support.huawei.com/enterprise/zh/doc/EDOC1100088653/97a0d5a0
2288H V5:https://support.huawei.com/enterprise/zh/doc/EDOC1000163371/afc5c7f8?idPath=23710424|251364409|21782478|21872244
2288H V6:https://support.huawei.com/enterprise/zh/doc/EDOC1100195299/fdb56216?idPath=23710424|251364409|21782478|23692812