Virtual machines that do not have a valid Platform Key (PK) fail to complete automated updates to Secure Boot databases, including DB, DBX, and KEK.
The Platform Key (PK) on virtual machines has an invalid signature, which causes updates to the Key Exchange Key (KEK) database to fail. As a result, the automated Secure Boot update process fails and reports error events or logs.
Note: If a vTPM is present and disk encryption software (such as BitLocker on Windows or LUKS on Linux) is sealed to specific TPM PCR registers, preparatory steps are required before performing the key update. These steps include creating a VM snapshot, saving the recovery key (for BitLocker-type solutions), or temporarily disabling TPM-sealed disk encryption.
Scenario | Secureboot | vTPM |
| ||
Workstation/Fusion on 26H1 | Workstation/Fusion on 25H2 | Workstation/Fusion on 17.6.x | |||
1 | Disabled | Disabled | No Action | No Action | No Action |
2 | Enabled | Disabled | Upgrade to WS/Fusion 26H1 silently updates Platform Key | Refer to Update vmx config file section below | Refer to Manual update process on Workstation releases below |
3 | Enabled | Enabled | Refer to Update vmx config file section below | Refer to Update vmx config file section below | Refer to Manual update process on Workstation releases below |
4 | Disabled | Enabled | No Action | No Action | No Action |
The .vmx file is typically located in the directory where the virtual machine is created. Add below entry to the .vmx file.
uefi.secureBoot.PK.resetOnce = "TRUE" to the .vmx fileOpen VM directory. Copy all the virtual machines files to another location as a backup.Settings.Hardware tab within the Virtual Machine Settings windowTrusted Platform Module and click the Remove button..Options tab at the top of the window.Access Control from the left-hand menu. Click on Remove Encryption....OK to finalize all changes.Open VM directory. Edit virtual machine configuration file (.vmx) with notepad.uefi.allowAuthBypass = "TRUE" and save changes.Power > 'Power On to Firmware'.Enter Setup > Secure Boot Configuration > PK Options > Enroll PKuefi.allowAuthBypass = "TRUE".mokutil --pk$pk = Get-SecureBootUEFI -Name PK$bytes = $pk.Bytes$cert = $bytes[44..($bytes.Length-1)][IO.File]::WriteAllBytes("PK.der", $cert)certutil -dump PK.derA temporary FAT32 disk is required to stage the Platform Key (PK) and related certificates for the Secure Boot update process.
Settings". Under 'Hardware' tab, select "Add..." button. Under 'Add Hardware Wizard' window select "Hard Disk" and click Next. Select Virtual disk type (default NVMe), click Next > select radio button for "Create a new virtual disk", click Next > Under 'Maximum disk size' box add "128", Next > provide disk file location and 'Finish'.lsblk/dev/sdb.sudo mkfs.vfat -F 32 -n KEYUPDATE /dev/sdbsudo mkdir -p /mnt/keyssudo mount /dev/sdb /mnt/keysmount | grep keys
sudo cp WindowsOEMDevicesPK.der /mnt/keyssudo umount /mnt/keysSettings". Under 'Hardware' tab, select "Add..." button. Under 'Add Hardware Wizard' window select "Hard Disk" and click Next. Select Virtual disk type (default NVMe), click Next > select radio button for "Create a new virtual disk", click Next > Under 'Maximum disk size' box add "128", click Next > provide disk file location and 'Finish'.FAT32 by following one of the below methods:diskmgmt.msc and press Enter.format /FS:FAT32 X:
Note: Replace X: with the appropriate drive letter.To manually update the KEK certificate on the virtual machine, follow the instructions below:
openssl command below:openssl x509 -inform der -in KEK.cer -outform der -out KEK-2023.derKEK-2023.der) to the disk mentioned in the Disk Preparation for Platform Key Update step under the Resolution section above.Secure Boot ConfigurationKEK OptionsEnroll KEKKEK-2023.derCommit Changes and Exit.der file again as it may have been corrupted in transport:Only DER encoded certificate file (*.cer/der/crt) is supportedopenssl command below:openssl x509 -inform der -in PK.cer -outform der -out PK.der