目录
- [一. 简介](#一. 简介)
- [二. 安装](#二. 安装)
- [三. 使用](#三. 使用)
-
- [3.1 启动](#3.1 启动)
- [3.2 查看](#3.2 查看)
- [3.3 创建实例](#3.3 创建实例)
- [3.4 登录实例](#3.4 登录实例)
- [3.5 其他实例操作](#3.5 其他实例操作)
-
- [3.5.1 挂载](#3.5.1 挂载)
- [3.5.2 解除挂载](#3.5.2 解除挂载)
一. 简介
Multipass 是 Canonical(Ubuntu 的开发公司)推出的一款轻量级 Linux 虚拟机管理工具。该工具可以让使用者不需要手动安装操作系统、配置虚拟硬盘和网络,就能快速获得一台可以使用的 Ubuntu Linux 机器。注意,只能安装ubuntu,无法安装其他发行版的Linux。
🔷Multipass 最主要的用途是快速创建独立的 Ubuntu 环境。
| 用途 | 说明 |
|---|---|
| Linux 学习 | 学习 Ubuntu、Linux 命令和 Shell |
| 软件开发 | 搭建 Python、Java、Node.js 开发环境 |
| 服务部署 | 部署 Nginx、MySQL、Redis、Docker 等 |
| 自动化测试 | 创建多个 Ubuntu 环境进行测试 |
| 网络实验 | 测试 SSH、网络配置、防火墙等 |
| 临时实验环境 | 不需要时删除虚拟机,释放资源 |
🔷从 Multipass 1.17 开始,Windows 默认使用 HCS(Host Compute System)驱动,而不是原来的 Hyper-V 驱动。
| 项目 | HCS | Hyper-V |
|---|---|---|
| 英文全称 | Host Compute System | Hyper-V |
| 技术基础 | Windows 原生计算与虚拟化 API | Hyper-V 虚拟化平台 |
| Multipass 1.17 | 默认驱动 | 可手动切换为Hyper-V驱动 |
| Windows Home | 支持 | 不支持传统 Hyper-V 管理平台 |
| Windows Pro | 支持 | 支持 |
二. 安装
🔷下载系统默认存储在C:\ProgramData\Multipass中,C盘空间有限的话,可以在安装之前配置环境变量,指定实例的存储位置。
powershell
[System.Environment]::SetEnvironmentVariable('MULTIPASS_STORAGE', 'D:\VM_PC\Multipass', 'Machine')

🔷官网下载安装包:https://canonical.com/multipass/install
- 目前的版本是:1.17.0
- 默认驱动是:hcs
powershell
PS [PC] Desktop $ multipass version
multipass 1.17.0+win
multipassd 1.17.0+win
PS [PC] Desktop $
PS [PC] Desktop $ multipass get local.driver
hcs
PS [PC] Desktop $
三. 使用
3.1 启动
- Multipass依赖于如下图所示的服务,默认开机启动。
- 如果不想开机自启的话,可将启动类型设置为手动,然后使用管理员权限执行
Start-Service multipass - 查看服务的状态:
Get-Service multipass

- 服务启动之后,Multipass 的 GUI 界面也可以使用了。

3.2 查看
- 查看可用的版本
powershell
PS [PC] Desktop $ multipass find
Image Aliases Version Description
22.04 jammy 20261106 Ubuntu 22.04 LTS
24.04 noble 20261017 Ubuntu 24.04 LTS
26.04 resolute,lts,ubuntu 20261016 Ubuntu 26.04 LTS
26.10 stonking 20261105 Ubuntu 26.10
core:core16 current Ubuntu Core 16
core:core18 current Ubuntu Core 18
core:core20 current Ubuntu Core 20
core:core22 current Ubuntu Core 22
core:core24 current Ubuntu Core 24
core:core26 current Ubuntu Core 26
debian trixie 20261001 Debian 13
fedora 20260422 Fedora 44
PS [PC] Desktop
- 查看目前的实例列表
powershell
PS [PC] Desktop $ multipass list
Name State IPv4 Image Zone
multipass-vm-01 Running 10.97.0.22 Ubuntu 24.04 LTS zone1
PS [PC] Desktop $
- 查看实例的信息
powershell
PS [PC] Desktop $ multipass info multipass-vm-01
Name: multipass-vm-01
State: Running
Zone: zone1
Snapshots: 0
IPv4: 10.97.0.22
Release: Ubuntu 24.04.5 LTS
Image hash: 04e8f2461a16 (Ubuntu 24.04 LTS)
CPU(s): 4
Load: 0.00 0.00 0.00
Disk usage: 2.0GiB out of 48.4GiB
Memory usage: 416.0MiB out of 5.8GiB
Mounts: --
PS [PC] Desktop $
3.3 创建实例
- 创建:4核CPU、8G内存、50G磁盘,基于Ubuntu 24.04 的实例
powershell
multipass launch 24.04 --name multipass-vm-01 --cpus 4 --memory 8G --disk 50G
- 通过配置文件创建实例
powershell
multipass launch 24.04 `
--name multipass-vm-02 `
--cpus 4 `
--memory 8G `
--disk 50G `
--cloud-init ./init.yaml
powershell
############### ./init.yaml ###############
# 默认用户
users:
- default
# 安装软件包
packages:
- nginx
# 执行初始化命令
runcmd:
- systemctl enable nginx
- systemctl start nginx
- 通过克隆的方式创建实例
powershell
# 被克隆的实例必须先停止
multipass stop multipass-vm-01
# 依据 vm-01 克隆 vm-02
multipass clone multipass-vm-01 --name multipass-vm-02
3.4 登录实例
powershell
multipass shell multipass-vm-01
👌默认的用户是ubuntu,但是没有密码,可以通过passwd名称设置密码
bash
sudo passwd ubuntu
3.5 其他实例操作
- 不进入交互式终端,直接执行命令
powershell
PS [PC] Desktop $ multipass exec multipass-vm-02 -- ip -4 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
inet 10.97.0.226/24 metric 100 brd 10.97.0.255 scope global dynamic eth0
valid_lft 85874sec preferred_lft 85874sec
PS [PC] Desktop $
- 启动,关机,暂停
powershell
multipass start multipass-vm-01
multipass stop multipass-vm-01
multipass suspend multipass-vm-01
- 添加删除标记,永久删除
powershell
# 为实例添加删除标记(并不会真的删除实例)
multipass delete multipass-vm-01
# 清除被标记删除标记的实例(会删除实例)
multipass purge
3.5.1 挂载
🔷Multipass 在 Windows 上出于安全考虑,默认可能禁用特权挂载功能。需要先修改 local.privileged-mounts 配置,再执行挂载。
powershell
# 默认情况下为false
PS [PC] Desktop $ multipass get local.privileged-mounts
false
PS [PC] Desktop $
- 启动挂载功能
powershell
PS [PC] Desktop $ multipass set local.privileged-mounts=true
PS [PC] Desktop $
PS [PC] Desktop $ multipass get local.privileged-mounts
true
PS [PC] Desktop $
- 挂载windows磁盘到虚拟机实例中
powershell
# sudo snap install multipass-sshfs
multipass mount "D:\My_Project\PythonStudy" multipass-vm-02:/home/ubuntu/PythonStudy

3.5.2 解除挂载
powershell
multipass umount multipass-vm-02
- 确定挂载被解除
powershell
PS [PC] Desktop $ multipass info multipass-vm-02
Name: multipass-vm-02
State: Running
Zone: zone1
Snapshots: 0
IPv4: 10.97.0.226
Release: Ubuntu 24.04.5 LTS
Image hash: 04e8f2461a16 (Ubuntu 24.04 LTS)
CPU(s): 4
Load: 0.00 0.05 0.05
Disk usage: 2.0GiB out of 48.4GiB
Memory usage: 450.2MiB out of 5.8GiB
Mounts: --
PS [PC] Desktop $