Skip to content

Support for Windows guests #4852

@unsuman

Description

@unsuman

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions