Description
Lima currently supports three guest OS types (Linux, Darwin, FreeBSD). Guest provisioning is handled via cloud-init, which generates a cidata ISO9660 image containing cloud-config.yaml, boot scripts, and provisioning data. None of this applies to Windows.
Driver Constraints
-
VZ (Virtualization.framework) cannot be used for Windows guests because it does not expose a virtual TPM (vTPM) device, which is required by Windows 11.
-
WSL2 is also not applicable because it runs Linux distributions inside Windows, not the other way around.
-
QEMU is the preferred driver. QEMU supports TPM (via swtpm), UEFI firmware with Secure Boot via OVMF, and the full range of virtual hardware Windows expects.
Provisioning: autounattend.xml instead of cloud-init
Windows does not support cloud-init. Instead, unattended installation is driven by Windows Answer Files (autounattend.xml). The answer file handles:
- Disk partitioning and OS installation
- User account creation
- Enabling OpenSSH Server for remote access
- Running first-logon scripts (similar to Lima's provisioning scripts)
- Injecting SSH public keys
Description
Lima currently supports three guest OS types (
Linux,Darwin,FreeBSD). Guest provisioning is handled via cloud-init, which generates a cidataISO9660image containingcloud-config.yaml, boot scripts, and provisioning data. None of this applies to Windows.Driver Constraints
VZ (
Virtualization.framework) cannot be used for Windows guests because it does not expose a virtual TPM (vTPM) device, which is required by Windows 11.WSL2 is also not applicable because it runs Linux distributions inside Windows, not the other way around.
QEMU is the preferred driver. QEMU supports TPM (via
swtpm), UEFI firmware with Secure Boot via OVMF, and the full range of virtual hardware Windows expects.Provisioning:
autounattend.xmlinstead of cloud-initWindows does not support cloud-init. Instead, unattended installation is driven by Windows Answer Files (
autounattend.xml). The answer file handles: