Introduction
Multipass is a lightweight VM manager by Canonical that lets you spin up Ubuntu instances in seconds on macOS, Windows, or Linux. It provides a cloud-init compatible workflow, making it easy to create reproducible development and testing environments without the overhead of full hypervisor management.
What Multipass Does
- Launches Ubuntu VMs in under 30 seconds with a single command
- Supports cloud-init for automated provisioning on first boot
- Manages VM lifecycle (start, stop, delete, snapshot) through a simple CLI
- Mounts host directories into guest VMs for seamless file sharing
- Uses native hypervisors (HyperKit/QEMU on macOS, Hyper-V on Windows, KVM on Linux)
Architecture Overview
Multipass runs a local daemon that manages VM lifecycle through the host's native hypervisor. On macOS it uses QEMU or HyperKit, on Windows it uses Hyper-V or VirtualBox, and on Linux it uses QEMU/KVM or LXD. The CLI communicates with the daemon over a local gRPC socket. Each VM boots from an official Ubuntu cloud image with cloud-init applied.
Self-Hosting & Configuration
- Install via
brew install --cask multipasson macOS, Chocolatey on Windows, or snap on Linux - Set the default hypervisor with
multipass set local.driver=qemu(orhyperkit,hyperv) - Pass cloud-init YAML with
multipass launch --cloud-init config.yaml - Mount host directories with
multipass mount ~/projects dev:/home/ubuntu/projects - Configure default CPU, memory, and disk with
multipass set local.default-*keys
Key Features
- Sub-minute VM launch times using pre-built Ubuntu cloud images
- Full cloud-init support for reproducible provisioning scripts
- Native hypervisor integration for near-bare-metal performance
- Host directory mounts for seamless development workflows
- Snapshot and restore for quick environment rollbacks
Comparison with Similar Tools
- Lima — Linux VMs on macOS with containerd focus; Multipass is Ubuntu-specific with tighter Canonical integration
- Vagrant — multi-provider VM management with Vagrantfiles; Multipass is simpler and faster for Ubuntu-only workflows
- Docker Desktop — container-based environments; Multipass provides full VMs when containers are not sufficient
- UTM — macOS VM app with GUI; Multipass is CLI-first and optimized for automated provisioning
- WSL 2 — Windows-only Linux layer; Multipass runs full VMs across all three major operating systems
FAQ
Q: Which Ubuntu versions does Multipass support?
A: Multipass supports all current Ubuntu LTS releases and the latest interim release. Use multipass find to list available images.
Q: Can I run non-Ubuntu images? A: Multipass is designed for Ubuntu images. For other distributions, consider Lima or Vagrant.
Q: How does Multipass compare to running Docker containers? A: Multipass provides full virtual machines with their own kernel, suitable for testing kernel modules, systemd services, or workloads that need a complete OS.
Q: Does Multipass support ARM architectures? A: Yes. On Apple Silicon Macs, Multipass runs ARM64 Ubuntu images natively through QEMU or the Virtualization framework.