lima-vm/lima · error
currently Windows guest OS is only supported on QEMU
Error message
currently Windows guest OS is only supported on QEMU
What it means
Validation error from the VZ driver's validateConfig (pkg/driver/vz/vz_driver_darwin.go:283), raised when the lima.yaml sets `os: windows`. Windows guests are only supported by the QEMU driver; VZ supports Linux guests only. Fix by removing the `os: windows` setting for VZ instances, or changing vmType to `qemu` to run a Windows guest.
Source
Thrown at pkg/driver/vz/vz_driver_darwin.go:283
if err != nil {
return err
}
if macOSProductVersion.LessThan(*semver.New("13.0.0")) {
return errors.New("VZ driver requires macOS 13 or higher to run")
}
if runtime.GOARCH == "amd64" && macOSProductVersion.LessThan(*semver.New("15.5.0")) {
logrus.Warnf("vmType %s: On Intel Mac, macOS 15.5 or later is required to run Linux 6.12 or later. "+
"Update macOS, or change vmType to `qemu` if the VM does not start up. (https://github.com/lima-vm/lima/issues/3334)",
*cfg.VMType)
}
if cfg.MountType != nil && *cfg.MountType == limatype.NINEP {
return fmt.Errorf("field `mountType` must be %#q or %#q for VZ driver , got %#q", limatype.REVSSHFS, limatype.VIRTIOFS, *cfg.MountType)
}
if cfg.TPM != nil && *cfg.TPM {
return errors.New("field `tpm` is not supported on VZ driver")
}
if cfg.OS != nil && *cfg.OS == limatype.WINDOWS {
return errors.New("currently Windows guest OS is only supported on QEMU")
}
if *cfg.Firmware.LegacyBIOS {
logrus.Warnf("vmType %s: ignoring `firmware.legacyBIOS`", *cfg.VMType)
}
for _, f := range cfg.Firmware.Images {
switch f.VMType {
case "", limatype.VZ:
if f.Arch == *cfg.Arch {
return errors.New("`firmware.images` configuration is not supported for VZ driver")
}
}
}
if unknown := reflectutil.UnknownNonEmptyFields(cfg, knownYamlProperties...); cfg.VMType != nil && len(unknown) > 0 {
logrus.Warnf("vmType %s: ignoring %+v", *cfg.VMType, unknown)
}
if !limatype.IsNativeArch(*cfg.Arch) {
return fmt.Errorf("unsupported arch: %#q", *cfg.Arch)View on GitHub (pinned to dd909d0973)
Solutions
- Switch the instance driver to QEMU (default) for Windows guests
- Use a Linux/macOS guest with VZ instead
Example fix
// before (lima.yaml) vmType: vz os: windows // after vmType: qemu os: windows
Defensive patterns
Strategy: validation
Validate before calling
if vmType == "vz" && guestOS == "windows" {
vmType = "qemu" // Windows guests require QEMU
} Try / catch
if err := start(); err != nil && strings.Contains(err.Error(), "Windows guest OS is only supported on QEMU") {
// switch vmType to qemu and retry
} Prevention
- Use vmType: qemu for Windows guests
- Check the os field when porting templates between drivers
- Run `limactl validate` before starting instances
When it happens
Trigger: Config sets os: "windows" (limatype.WINDOWS) while vmType is "vz".
Common situations: Attempting to boot a Windows guest via VZ on a Mac; copying a QEMU Windows-guest template and switching vmType to vz.
Related errors
- unexpected audio device %#q
- configuration is nil
- field `mountType` must be %#q or %#q for VZ driver , got %#q
- field `tpm` is not supported on VZ driver
- `firmware.images` configuration is not supported for VZ driv
AI-assisted analysis of lima-vm/lima@dd909d0973 (2026-09-01).
Data as JSON: /api/errors/cca89a1fc0feda31.
Report an issue: GitHub.