Multipass 是一个轻量级的 ubuntu 虚拟实例管理器,可以很快速的创建一个新的虚拟实例用来做开发测试很方便。
下载地址为 github 提供, 可能很慢或打不开, 可以复制页面上的的下载链接地址后使用下方代理地址
尝试通过Github代理下载
https://ghproxy.com/https://github.com/CanonicalLtd/multipass/releases/download/v1.6.2/multipass-1.6.2%2Bwin-win64.exe
在 windows 上安装: 官方文档
查看版本
multipass version
查看帮助
multipass help
查看镜像列表:
# 所有镜像 multipass find
PS C:\Users\52361> multipass find Image Aliases Version Description core core16 Ubuntu Core 16 core18 Ubuntu Core 18 snapcraft:core18 Snapcraft builder for Core 18 snapcraft:core20 Snapcraft builder for Core 20 18.04 bionic Ubuntu 18.04 LTS 20.04 focal,lts Ubuntu 20.04 LTS 20.10 groovy .1 Ubuntu 20.10 appliance:adguard-home Ubuntu AdGuard Home Appliance appliance:mosquitto Ubuntu Mosquitto Appliance appliance:nextcloud Ubuntu Nextcloud Appliance appliance:openhab Ubuntu openHAB Home Appliance appliance:plexmediaserver Ubuntu Plex Media Server Appliance
历史版本镜像地址
安装并启动一个实例, 当前仍然不支持手动指定本地镜像, 只能自动从网上下载。
如果不指定实例名称
--nameor-n则默认会随机生成一个名字, 若指定为primary则表示为默认实例, 使用其他命令时也可以省略名称,默认实例名称也可以通过multipass set命令更改。
multipass launch --name zzvm multipass launch -n zzvm -c 2 -m 2G -d 40G # 使用指定镜像版本 20.04 来新建实例 multipass launch -n zzvm -c 2 -m 2G -d 40G 20.04 # 可以指定名称为 primary 创建默认实例,使用默认实例时,大部分命令可以省略名称 multipass launch -n primary -c 2 -m 2G -d 40G 20.04
-n, --name: 名称 -c, --cpus: cpu核心数, 默认: 1 -m, --mem: 内存大小, 默认: 1G -d, --disk: 硬盘大小, 默认: 5G
支持 --cloud-init 参数指定容器初始化命令,具体配置可以参考该文章:
Cloud config examples
安装时如果被中断, 重装会出现错误 launch failed: instance "primary" is being prepared
需要重启
multipassd服务即可, 注意先将其他实例正常关闭,
然后再运行services.msc或 任务管理器的服务面板中找到名为Multipass的服务重新启动.
如果无法停止服务, 则可强行关闭multipassd.exe进程, 然后再启动服务即可.
实例位置, 下方的配置文件修改参数不一定有用, 可以使用对应的虚拟机管理器进行操作
初次安装后, 可以移动镜像文件到其他分区节省C盘容量, 然后修改配置文件中的 path 镜像文件地址即可.
注意: 修改前先停止
multipass服务, 修改完后再启动服务.
默认安装时使用的是 Hyper-V 虚拟机, 对虚拟机实例的其他操作可以在 Hyper-V 的管理工具中执行.
正确方法:
- 开始菜单
- 所有应用
- Windows 管理工具
- Hyper-V 管理工具
- 选中虚拟机实例
- 右侧下方
移动按钮- 选择移动选项
- 将虚拟机的所有数据移动到一个位置

方法二: 比较麻烦,问题还多,仅供参考.
先停止
multipassd服务, 移动instances目录下该实例名的整个文件夹,
然后修改实例配置文件的path路径,
打开Hyper-V 管理器,设置->IDE控制器0->硬盘驱动器-> 修改虚拟磁盘路径为新路径.
打开新路径中的.vhdx实例虚拟磁盘文件的属性面板, 查看安全选项, 会出现个未知帐户,
将该帐户的权限设置为完全控制, 在启动服务即可.
使用指定实例运行命令
multipass exec zzvm -- lsb_release -a # 默认用户名为 ubuntu multipass exec zzvm -- whoami # ubuntu
实例列表
multipass list
实例停止|启动
multipass stop zzvm multipass start zzvm multipass stop --all multipass start --all
登录实例
# 不指定则使用默认的 primary 实例 multipass shell multipass shell zzvm

实例挂起
multipass suspend zzvm
实例:恢复|删除|清理
multipass recover zzvm multipass delete zzvm multipass delete --all # 永久彻底清理所有已删除实例 multipass purge
查看实例信息
multipass info zzvm
绑定一个宿主机目录到实例
multipass mount D:\shared zzvm:/shared
解除绑定
multipass unmount zzvm
宿主机与实例传输文件, 同名文件将会直接覆盖,
- 默认用户为
ubuntu所以要注意可写权限 - 宿主传入实例时宿主可以用盘符
C:/D:/之类得开头, 但传出到宿主时不行, 必须先cd d:/进入到目录下使用相对路径
# 宿主机传入实例 multipass transfer D:/tmp/test.txt zzvm:/home/ubuntu/test.txt # 实例传到宿主机 cd d:/tmp multipass transfer zzvm:/home/ubuntu/test.txt ./test2.txt
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208395.html原文链接:https://javaforall.net
