Skip to content

feat: add support for Windows VM configuration via autounattend templates.#5080

Draft
kishansinghifs1 wants to merge 1 commit into
lima-vm:masterfrom
kishansinghifs1:feat/windows-guest
Draft

feat: add support for Windows VM configuration via autounattend templates.#5080
kishansinghifs1 wants to merge 1 commit into
lima-vm:masterfrom
kishansinghifs1:feat/windows-guest

Conversation

@kishansinghifs1
Copy link
Copy Markdown

Description

This PR adds Windows VM support in Lima for both amd64 and arm64.

Lima can now automatically install and configure Windows using generated autounattend.xml files, removing the need for manual setup.


What's Included

  • Added Windows as a supported OS type

  • Updated YAML validation and CLI completion support

  • Added autounattend.xml templates for:

    • amd64
    • arm64
  • Added generateWindowsISO() for Windows CIData ISO generation

  • Added tests for template rendering and SSH key injection


Design Decisions

arm64 Storage

arm64 uses NVMe instead of VirtIO because Windows ARM already includes native NVMe drivers.

Product Keys

Removed hardcoded product keys to avoid licensing issues.

SSH Setup

OpenSSH Server is automatically installed and started during setup, allowing Lima to connect automatically after installation.


Testing

Both architectures were tested successfully with fully unattended installation.

amd64

  • Tested with Windows 10 ISOs
  • Uses q35 machine type

arm64

  • Tested with Windows 11 ARM64 ISOs

  • Added QEMU device mappings for:

    • NVMe
    • USB keyboard/tablet
    • ramfb

Local Validation

go test -v ./pkg/cidata

Verifies correct template rendering.

limactl validate

Confirms Windows lima.yaml profiles are parsed correctly.

Screenshot 2026-06-04 000334 Screenshot 2026-06-04 000732

…ates and implement YAML schema validation and tab completion
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants