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

  1. Switch the instance driver to QEMU (default) for Windows guests
  2. 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

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


AI-assisted analysis of lima-vm/lima@dd909d0973 (2026-09-01). Data as JSON: /api/errors/cca89a1fc0feda31. Report an issue: GitHub.