6.6 VM Firmware, Secure Boot, vTPM & Virtualization-Based Security
Key Takeaways
EFI firmware is required for UEFI Secure Boot, virtual TPM, and virtualization-based security, and it also allows GPT boot disks larger than 2 TB; changing a VM's firmware after the guest is installed usually leaves it unbootable.
A virtual TPM 2.0 needs virtual hardware version 14 or later, EFI firmware, and a configured key provider; adding one encrypts the VM's home files but not its disks, and the host needs no physical TPM.
Microsoft virtualization-based security (VBS) on Intel hosts needs Windows 10 or Windows Server 2016 or later and hardware version 14 or later (AMD hosts need vSphere 7.0 U2+ and hardware version 19+), plus EFI firmware with Secure Boot.
Windows 11 VMs need EFI firmware with Secure Boot and a vTPM, which in vSphere means configuring a key provider such as the vSphere Native Key Provider.
VBS-enabled VMs do not support vSphere Fault Tolerance, PCI passthrough, or CPU and memory hot add.
6.6 VM Firmware, Secure Boot, vTPM & Virtualization-Based Security
Section 6.3 covered VM Encryption. This section covers the other in-guest security building blocks from objective 1.9.
BIOS vs. UEFI Firmware (1.9.2)
Every VM boots from virtual firmware, chosen under Edit Settings > VM Options > Boot Options > Firmware:
| BIOS (legacy) | EFI (UEFI) | |
|---|---|---|
| Boot disk partitioning | MBR, limited to 2 TB boot disks | GPT, so boot disks can exceed 2 TB |
| UEFI Secure Boot | Not available | Available |
| Virtual TPM | Not supported | Required |
| Virtualization-based security | Not supported | Required, with Secure Boot |
| Network boot | PXE | PXE, and UEFI HTTP boot (hardware version 19 or later) |
Choose the firmware before installing the guest OS. Switching an installed guest from BIOS to EFI, or back, usually makes it unbootable because the boot loader and partition layout don't match. The New Virtual Machine wizard picks a default firmware based on the guest OS you select.
VM Secure Boot
With EFI firmware, Secure Boot (in Boot Options) makes the virtual firmware accept only signed boot loaders, kernels, and drivers. It needs a guest OS that supports Secure Boot. Unsigned guest drivers stop the guest from booting until they are removed.
Virtual TPM (1.9.1)
A virtual Trusted Platform Module (vTPM) 2.0 gives the guest a TPM device, implemented in software.
Requirements:
- Virtual hardware version 14 or later.
- EFI firmware.
- A configured key provider: the vSphere Native Key Provider or a standard KMIP key provider (Section 6.3).
- A guest OS that supports TPM 2.0.
What happens when you add one: the vTPM's secrets are stored in the VM's files, so vSphere encrypts the VM home files (such as .nvram) with the key provider. The virtual disks are not encrypted by adding a vTPM. The ESXi host does not need a physical TPM for this; a host TPM is used for host attestation, not for guest vTPMs.
Use cases:
- Windows 11, which requires TPM 2.0 (plus UEFI Secure Boot).
- BitLocker or other disk encryption that seals keys to a TPM.
- Credential Guard and other VBS features, which use the TPM to protect secrets.
- In-guest measured boot and attestation.
Operations to know:
- vMotion, cloning, and restores need access to the same key provider.
- In vSphere 8, the vTPM provisioning policy controls whether a clone copies the source vTPM or gets a new one. Replacing it avoids duplicate TPM secrets across clones.
- Back up the key provider along with the VM (the NKP backup, or your KMS backup), or the vTPM contents cannot be recovered.
Virtualization-Based Security (1.9.3)
Microsoft virtualization-based security (VBS) uses the Windows hypervisor inside the guest to isolate secrets and code integrity from the rest of the OS. It powers Credential Guard (protecting credential hashes against pass-the-hash attacks), Device Guard, and hypervisor-enforced code integrity (HVCI).
Requirements on vSphere:
- Intel hosts: vSphere 6.7 or later, virtual hardware version 14 or later, and Windows 10 or Windows Server 2016 or later.
- AMD hosts: vSphere 7.0 Update 2 or later, virtual hardware version 19 or later, and Windows 10 version 1809 or Windows Server 2019 or later.
- EFI firmware with Secure Boot.
- Hardware virtualization and the IOMMU exposed to the guest. Selecting Enable Virtualization Based Security in VM Options sets these for you.
- Host CPUs that support hardware-assisted virtualization (Intel VT-x with EPT or AMD-V with RVI).
- A vTPM is recommended so Windows can protect VBS secrets with it.
Limitations: VBS VMs do not support vSphere Fault Tolerance, PCI passthrough, or hot add of CPU or memory. The nested virtualization adds some CPU overhead; Broadcom recommends Intel Skylake-EP or later CPUs (or AMD Zen 2 or later) for best VBS performance. After enabling VBS on the VM, you still turn on the features inside Windows, for example through Group Policy.
Putting It Together: a Windows 11 or Hardened Windows Server VM
- Create the VM with EFI firmware and hardware version 14 or later (hardware version 20 on vSphere 8).
- Enable Secure Boot.
- Make sure a key provider exists; the Native Key Provider is the simplest option (back it up first).
- Add a vTPM device.
- Optionally, enable VBS in VM Options, then turn on Credential Guard inside Windows.
- Consider VM Encryption (Section 6.3) if the disks themselves must be encrypted at the hypervisor level.
Other Ways to Harden a VM
- Remove unused virtual devices, such as floppy drives, serial and parallel ports, and disconnected CD-ROM drives.
- Leave the default restrictions on console copy and paste in place.
- Limit VM log size and rotation (the defaults are sensible).
- Keep VMware Tools current, and use the Tools isolation settings only when policy requires them.
Exam Traps
- No physical TPM needed for vTPM. Questions that suggest buying host TPM chips (or passing them through) so VMs get a TPM are wrong. A key provider is what vTPM needs.
- vTPM is not disk encryption. Adding a vTPM encrypts the VM home files that hold its secrets. Encrypting the virtual disks requires VM Encryption or in-guest BitLocker.
- Firmware is a day-zero choice. Plan EFI for any VM that might later need Secure Boot, vTPM, or VBS.
- VBS excludes FT, passthrough, and hot add. If a VM must be fault tolerant, use PCI passthrough, or hot-add CPU and memory, it cannot also run VBS.
An administrator is creating a Windows 11 VM on vSphere 8 and has no external key management server. Which configuration satisfies Windows 11's requirements?
BIOS firmware with a virtual TPM backed by the host's physical TPM
EFI firmware with Secure Boot and a vTPM, using the vSphere Native Key Provider as the key provider
EFI firmware with VM Encryption only and no TPM device
BIOS firmware with Secure Boot enabled and virtualization-based security
After a Linux VM was installed with BIOS firmware, a colleague switched the VM's firmware to EFI to enable Secure Boot. The VM no longer boots. What is the most likely explanation?
The guest was installed for BIOS (MBR boot), so switching firmware afterward left it without a matching boot loader
Secure Boot requires a physical TPM on the ESXi host
EFI firmware limits boot disks to 2 TB
Virtual hardware version 20 does not support EFI
Which set of VM settings does vSphere require before Microsoft virtualization-based security (VBS) can be used in a Windows Server 2022 guest on Intel-based ESXi hosts?
BIOS firmware, hardware version 11, and Fault Tolerance enabled
Any firmware, with CPU hot add and memory hot add enabled
Hardware version 14 or later on Intel hosts, EFI firmware with Secure Boot, and hardware virtualization plus IOMMU exposed to the guest
A physical-compatibility RDM and a virtual NVMe controller
Sections you finish are checked off in the contents.