首先
如果不是特殊要求,windows下建議還是直接用默認的hyperV會簡單很多
至於windows如何開啟hyperV搜下都有,這里便不再贅述
如果懶得折騰,建議還是直接安裝Ubuntu服務端
以下內容基於官方文檔,建議以最新的官方文檔為准
安裝
進入multipass官網選擇windows平台下載

安裝的過程中有可以選擇驅動的選項,默認是hyperV,選擇VBox

默認添加環境變量

剩下的就是修改安裝路徑等此處略過
啟動后cmd里輸入multipass version測試是否安裝成功

設置
安裝成功后先不急着起實例
官方文檔
使用管理員權限打開cmd修改multipass驅動
multipass set local.driver=virtualbox
測試是否修改成功
multipass get local.driver

起個實例試試,開始的時候可能會慢一點,得等一會
multipass launch -n test1

具體的內存cpu等設置見文檔
再多驗證一下
multipass list

這時候你會發現實例的IPv4為空,但這並不影響訪問外網,實例默認會有NAT網卡。這里的IPv4指的是實例和宿主機的內網ip。
如果不需要配置內網ip,看到這里就可以結束了。
內網IP設置
首先確保Path配置了vbox的環境變量

下載PSTools
查看VBox已有的hostonly接口名稱
PsExec.exe -s $env:VBOX_MSI_INSTALL_PATH\VBoxManage.exe list hostonlyifs

一般會有一個默認的名為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
直接看網卡狀態信息

可以看到有兩張網卡,NIC1也就是默認的NAT網卡,NIC2是剛才添加的hostonly網卡,interface也就是接口名字必須和前面查到hostonly接口名字一致!
其他網卡都為未啟用的狀態
*VBox GUI 界面配置hostonly網卡見附4
接着進到實例當中修改網絡配置
multipass shell test1
先用ip link或其他查網卡的命令查一下

注意enp038是剛才添加的網卡
Ubuntu在18.04后的網絡配置方法為修改Networkplan的YAML文件
在/etc/netplan/*.yaml 先備份后再對文件進行修改
查下宿主機的vbox網卡

再對實例的YAML文件進行添加

關閉dhcp4
測試下外網

測試內網

這里是宿主機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指向兩個不同的網關

刪除/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圖形頁面展示出來

建議先將實例停止在進行網絡配置
multipass stop test1
點擊設置-網絡,此時可以看到默認的NAT網卡,點擊網卡2,點擊啟用並添加hostonly網卡

