Windows平台下Multipass使用VirtualBox驱动踩坑指南

首先

如果不是特殊要求,windows下建议还是直接用默认的hyperV会简单很多
至于windows如何开启hyperV搜下都有,这里便不再赘述
如果懒得折腾,建议还是直接安装Ubuntu服务端

以下内容基于官方文档,建议以最新的官方文档为准

安装

进入multipass官网选择windows平台下载
image

安装的过程中有可以选择驱动的选项,默认是hyperV,选择VBox
image

默认添加环境变量
image
剩下的就是修改安装路径等此处略过

启动后cmd里输入multipass version测试是否安装成功
image

设置

安装成功后先不急着起实例
官方文档
使用管理员权限打开cmd修改multipass驱动
multipass set local.driver=virtualbox
测试是否修改成功
multipass get local.driver
image
起个实例试试,开始的时候可能会慢一点,得等一会
multipass launch -n test1
image
具体的内存cpu等设置见文档

再多验证一下
multipass list
image
这时候你会发现实例的IPv4为空,但这并不影响访问外网,实例默认会有NAT网卡。这里的IPv4指的是实例和宿主机的内网ip。
如果不需要配置内网ip,看到这里就可以结束了。


内网IP设置

首先确保Path配置了vbox的环境变量
image
下载PSTools
查看VBox已有的hostonly接口名称
PsExec.exe -s $env:VBOX_MSI_INSTALL_PATH\VBoxManage.exe list hostonlyifs
image
一般会有一个默认的名为VirtualBox Host-Only Ethernet Adapter的接口,直接使用这个就行,如果没有的话也可以自己新建一个
VBoxManage hostonlyif create
详见文档
添加hostonly网卡,用到的接口名字必须对应
PsExec.exe -s $env:VBOX_MSI_INSTALL_PATH\VBoxManage.exe modifyvm testUbuntu --nic2 hostonly --hostonlyadapter2 'VirtualBox Host-Only Ethernet Adapter'
--nic2 这个2指的是虚拟机的第2张网卡,--hostonlyadapter2 中的2也是一样
添加后使用showvminfo 查看虚拟机信息
\PsExec.exe -s $env:VBOX_MSI_INSTALL_PATH\VBoxManage.exe showvminfo 虚拟机名字 |findstr NIC
直接看网卡状态信息
image
可以看到有两张网卡,NIC1也就是默认的NAT网卡,NIC2是刚才添加的hostonly网卡,interface也就是接口名字必须和前面查到hostonly接口名字一致!
其他网卡都为未启用的状态
*VBox GUI 界面配置hostonly网卡见附4

接着进到实例当中修改网络配置
multipass shell test1
先用ip link或其他查网卡的命令查一下
image
注意enp038是刚才添加的网卡
Ubuntu在18.04后的网络配置方法为修改Networkplan的YAML文件
在/etc/netplan/*.yaml 先备份后再对文件进行修改
查下宿主机的vbox网卡
image
再对实例的YAML文件进行添加
image
关闭dhcp4
测试下外网
image
测试内网
image
这里是宿主机ping实例,如果从实例ping宿主机因为防火墙可能ping不通

注意:不要把宿主机的网关加上,否则只能访问内网!
加上192.168.56.1网关后发现内网可以正常外网ping不通
apt-get update时会报错"Temporary failure resolving"
找了一圈有说是dns没加的,尝试在/etc/resolv.conf中添加8.8.8.8和114.114.114.114 加了之后没用
最后查看了下路由sudo -n route发现0.0.0.0指向两个不同的网关
image
删除/etc/netplan/*.yaml文件中添加的宿主机的网关后重新应用配置文件sudo netplan try sudo netplan apply 后再次查看路由正常,能ping通内外网

具体的Ubuntu网络配置请自行搜索,这里就不再详细描述

附加

1

如果在实例中开启了ufw防火墙,请务必把22端口优先添加的允许规则中,multipass实例默认使用ssh和宿主机通信

2

multipass info命令下展示的实例信息可能不全,如果要看完整信息建议到vbox中查看

3

默认情况下multipass的数据文件目录在
C:\Windows\System32\config\systemprofile\AppData\Roaming\multipassd
可以通过创建mklink软连接的形式搬家到其他目录下,mklink的使用方法推荐下这篇win10下使用mklink命令给C盘软件搬家

4.前台配置VBox网卡

管理员下执行
& $env:USERPROFILE\Downloads\PSTools\PsExec.exe -s -i $env:VBOX_MSI_INSTALL_PATH\VirtualBox.exe
此时会将运行的实例通过virtualbox图形页面展示出来
image
建议先将实例停止在进行网络配置
multipass stop test1
点击设置-网络,此时可以看到默认的NAT网卡,点击网卡2,点击启用并添加hostonly网卡
image


欢迎交流探讨!

posted @   Splus  阅读(5010)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示