使用 multipass 管理 Ubuntu VMs

使用 multipass 管理 Ubuntu VMsMultipass 是一个轻量级的 ubuntu 虚拟实例管理器 可以很快速的创建一个新的虚拟实例用来做开发测试很方便 Multipass 官网 Github 下载页面下载地址为 github 提供 可能很慢或打不开 可以复制页面上的的下载链接地址后使用下方代理地址尝试通过 Github 代理下载 https ghproxy com https github com CanonicalLtd multipass releases download v1 6 2 multipass 1 6 2 2B

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 

历史版本镜像地址

安装并启动一个实例, 当前仍然不支持手动指定本地镜像, 只能自动从网上下载。

如果不指定实例名称 --name or -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 的管理工具中执行.

正确方法:

  1. 开始菜单
  2. 所有应用
  3. Windows 管理工具
  4. Hyper-V 管理工具
  5. 选中虚拟机实例
  6. 右侧下方 移动 按钮
  7. 选择移动选项
  8. 将虚拟机的所有数据移动到一个位置

在这里插入图片描述

方法二: 比较麻烦,问题还多,仅供参考.

先停止 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

(0)
上一篇 2026年3月19日 上午11:41
下一篇 2026年3月19日 上午11:42


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号