Zu dieser Thematik habe ich auch noch etwas Senf. Dieses Thema ist wirklich verwirrend und ich trage hier mal meine Erkenntnis vor.
Was hat es mit den RegistryKeys auf sich:
Windows selbst kennt für sich nur 2 ligitime Wege, wie sich die Firmware ändert.
1. durch Windows selbst (Secure-Boot-Update-Task)
2. durch einen OEM, den Microsoft kennt und klassifiziert
Alles andere gilt aus Sicht von Windows als: "Keine Ahnung wer das macht", weshalb qm enroll-efi-keys <vmid> allein nicht ausreicht.
Die Aktualisierung der EFI-Disk über das WebGui -> "Enroll Update Certifactes" oder qm enroll-efi-keys <vmid> bewirkt lediglich eine Bereitstellung der aktuellen DB's und Key's.
Ich habe in einem Lab mehrer Wege durchgespielt, die Zertifikate und Signaturen zu aktualisieren. Von Step-by-Step (setzen der einzelnen Werte für AvailableUpdates (0x4000, 0x1000, 0x0800...) bis hin zum vollständig automatischen Durchlauf der einzelnen Update-Tasks. Die Möglichkeit ein OptIn zu übermitteln um Microsoft die Aktualsierung vornehmen zu lassen (CFR) kam für mich nicht in Frage.
Der einfachste und schnellste Weg für ein vollständigen Abschluss ist:
Zertifikate und Key's bereitstellen (optional):
Code:
qm enroll-efi-keys <vmid>
Optional deshalb, weil der Update-Prozess des Windows-Workflows das sowieso ausrollen sollte. Falls das nicht der Fall ist, gibt es Hinweise im Eventlog. In den meisten Fällen resultiert ein Fehler aus einen bestehenden Schreibschutz der UEFI-Disk oder Partition oder aktivierten Bitlocker.
Vollständigen durchlauf der Aktualisierung über Registry-Key:
Code:
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Secureboot /v AvailableUpdates /t REG_DWORD /d 0x5944 /f
Update Task anstoßen (wer es sofort machen will) und danach neustarten:
Code:
Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"
Hinweis:
Wer Bitlocker aktiviert hat sollte es vor dem Update deaktivieren oder zumindest für jeden Reboot-Prozess den Schutz auszusetzen
Code:
manage-bde -protectors -disable C: -RebootCount 1
- Schutz wird genau für einen Neustart ausgesetzt
Hilfreiche Überprüfungen:
Überprüfen, mit welchem Zertifikat der Bootloader signiert wurde.
Code:
mountvol S: /s
Get-PfxCertificate -FilePath "S:\EFI\Microsoft\Boot\bootmgfw.efi" |
Format-List Issuer, Subject, NotBefore, NotAfter
mountvol S: /d
Bei mir vor dem Update:
Issuer : CN=Microsoft Windows Production
PCA 2011, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
Subject : CN=Microsoft Windows, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
NotBefore : 19.06.2025 20:11:43
NotAfter : 17.06.2026 20:11:43
Aktuellen Update-Status ermitteln:
Code:
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing
WindowsUEFICA2023Capable : 1
UEFICA2023Status : NotStarted
LastParsedBucketDataVersion : 12
BucketHash : e4e3c7d298a647e52978c16f60f893bcadfd7b36996bae3bbccdc93fbe407351
ConfidenceLevel : Under Observation - More Data Needed
ConfidenceUpdateType : 0
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot
PSChildName : Servicing
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
UEFICA2023Status: NotStarted = UpdateTask "Start-SchedluledTask..." nicht angestoßen, InProgross = selbserklärend
Hinweis:
Es ist sehr wahrscheinlich, dass der Prozess 2x ausgeführt werden muss bis das Update bzw. der "UEFICA2023Status: Updated" erfolgreich durchgelaufen ist, das hängt mit der KEK- und DB-Hierarchie zusammen. Für Geräte mit aktivierten Bitlocker oben genannten Hinweis beachten.
Überprüfungen / Verifizierungen:
Eine erfolgreiche Aktualisierung wird auch im Ereignisprotokoll siganlisiert (Event 1808, Quelle TPM-WMI).
Dieses Gerät hat die Zertifizierungsstelle/Schlüssel für den sicheren Start aktualisiert. Diese Gerätesignaturinformationen sind hier enthalten....
Abfrage über den Registrierungsschlüssel:
Code:
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing"
WindowsUEFICA2023Capable : 2
UEFICA2023Status : Updated
BucketHash : e4e3c7d298a647e52978c16f60f893bcadfd7b36996bae3bbccdc93fbe407351
ConfidenceLevel : Under Observation - More Data Needed
LastParsedBucketDataVersion : 12
ConfidenceUpdateType : 0
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot
PSChildName : Servicing
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
Sollte WindowsUEFICA2023Capable = 2 und UEFICA2023Status = NotStarted sein, dann wurder der Prozess noch nicht vollständig abgeschlossen und müsste wie erwähnt noch mal angestoßen werden.
Bootloader überprüfen (wer noch mal ne Bestätigung braucht)
Issuer : CN=Windows UEFI
CA 2023, O=Microsoft Corporation, C=US
Subject : CN=Microsoft Windows, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
NotBefore : 15.05.2025 21:23:59
NotAfter : 15.05.2026 21:23:59
Weiterführende Information:
Registry key updates for Secure Boot
Secure Boot Update Events
Fachartikel - Administrator Magazin