In a production environment (XCP-ng 8.2.1) the secure boot changes according to KB5025885 were implemented on a Windows Server 2019 VM (this changed the VM DB and KEK). After the changes were completed, the VM got live migrated from one pool node to the other without a reboot.
For some reason, this seems to have cleared the Secure Boot state of the VM and probably applied the pool's default entries again. Because a subsequent reboot landed the VM in the UEFI shell (XO reported VM_SECURE_BOOT_FAILED: The VM failed to pass Secure Boot verification). After hours of debugging this makes sense, since the new Windows bootloader is signed by a certificate that XCP-ng does not know about.
Turns out, that adding the UEFI 2023 certificates seems to fix the problem. Adding the certificates to the XCP-ng "Default UEFI Certificates" could look something like this:
In a production environment (XCP-ng 8.2.1) the secure boot changes according to
KB5025885
were implemented on a Windows Server 2019 VM (this changed the VM DB and KEK). After the changes were completed, the VM got live migrated from one pool node to the other without a reboot.For some reason, this seems to have cleared the Secure Boot state of the VM and probably applied the pool's default entries again. Because a subsequent reboot landed the VM in the UEFI shell (XO reported
VM_SECURE_BOOT_FAILED: The VM failed to pass Secure Boot verification
). After hours of debugging this makes sense, since the new Windows bootloader is signed by a certificate that XCP-ng does not know about.Turns out, that adding the UEFI 2023 certificates seems to fix the problem. Adding the certificates to the XCP-ng "Default UEFI Certificates" could look something like this:
If this is indeed the solution, I am more than happy to contribute a short PR for this.
References