abiosoft/colima · error

error getting qcow image: %w

Error message

error getting qcow image: %w

What it means

When neither a user-specified disk image nor a cached one is available, Colima downloads the qcow2 disk image via limautil.DownloadImage(arch, runtime, mirror). This error wraps any failure of that download: HTTP errors, unreachable hosts, interrupted transfers, or mirror failures. It only occurs on first start of a profile (or after clearing the image cache).

Source

Thrown at environment/vm/lima/disk.go:184

			}
		}

		image.Location = conf.DiskImage
		l.limaConf.Images = []limaconfig.File{image}
		return nil
	}

	// use a previously cached image
	if image, ok := limautil.ImageCached(l.limaConf.Arch, conf.Runtime, conf.DiskImageMirror); ok {
		l.limaConf.Images = []limaconfig.File{image}
		return nil
	}

	// download image
	log.Infoln("downloading disk image ...")
	image, err := limautil.DownloadImage(l.limaConf.Arch, conf.Runtime, conf.DiskImageMirror)
	if err != nil {
		return fmt.Errorf("error getting qcow image: %w", err)
	}

	l.limaConf.Images = []limaconfig.File{image}
	return nil
}

func (l *limaVM) setDiskImage() error {
	var c limaconfig.Config
	b, err := os.ReadFile(config.CurrentProfile().LimaFile())
	if err != nil {
		return err
	}
	if err := yaml.Unmarshal(b, &c); err != nil {
		return err
	}

	l.limaConf.Images = c.Images
	return nil

View on GitHub (pinned to c3a5f9184d)

Solutions

  1. Check network/proxy: ensure HTTPS_PROXY/HTTP_PROXY are set in the environment where colima runs, and that the image host is reachable (curl the mirror URL).
  2. Retry the start; a transient network failure often clears. Note the image caches under the Lima/Colima home, so progress is not fully lost.
  3. Configure an alternate `disk-image-mirror` in the config pointing at a reachable mirror, then start again.
  4. For air-gapped hosts, download the correct qcow2 on a connected machine and pass it via `colima start --disk-image <file>` (with matching digest).

Example fix

# before
colima start   # download fails: proxy blocks github releases

# after
export HTTPS_PROXY=http://proxy.corp:3128
colima start
Defensive patterns

Strategy: retry

Validate before calling

// pre-flight the image host / mirror before first start
if err := probeURL(mirrorOrOfficialURL); err != nil { log.Fatalf("image host unreachable: %v", err) }

Try / catch

Go: retry start with backoff when err wraps the image download; on persistent failure, fall back to pre-seeding the image cache or --disk-image from an offline copy.

Prevention

When it happens

Trigger: First `colima start` on a machine with no cached image; corporate proxy or firewall blocking GitHub/Cloudflare release URLs; DNS failure; a flaky mirror passed via the disk-image-mirror setting; interrupted download that could not resume.

Common situations: Fresh CI runners with restricted egress; users behind VPNs/proxies (HTTPS_PROXY not set for the Colima process); cloud regions with slow routes to the default mirror.

Related errors


AI-assisted analysis of abiosoft/colima@c3a5f9184d (2026-08-15). Data as JSON: /api/errors/ec6d973b74ff9ce1. Report an issue: GitHub.