Myuu’s Trashcan  

multipass-windows

Multipass on Windows w/ VirtualBox

Dev

Create2024-01-25 02:13:39
Last Update2024-02-09 22:53:25


TL;DR

いろいろあってWindows機のHyper-Vを燃やした(消した)が,WSL-likeに雑に捨てれるLinux環境が欲しかった
デフォからいろいろと手を加えたのでメモ

なぜHyper-Vを捨てた?

ホストのWindowsくんも一応Hyper-V上で動くようになるので,若干だけどもパフォーマンスロスがある.
諸々のエミュレータとかよく使うのでHypervisor Platform経由にしたくなった.遅いので.
別にHyper-Vでもいいんだけど,グラフィックス周りがうんちなのが気に食わない.

VBoxバックエンドにしたときの構成

  • SYSTEMユーザーでVBoxを動かしてる.なので通常ユーザーとかAdministratorからはインスタンスの実体は見えない.
  • ネットワークアダプタはデフォルトでNATになる
    • ホストからはアクセスできないよん

VBox CLIやGUIから操作したい

PsExecを使ってSYSTEMユーザーで実行すればOK.リンク先から落としてPathを通しておく.
VirtualBoxのインストールディレクトリもシステムのPathに通しておく.

# CLI
psexec64 -s vboxmanage
# GUI
psexec64 -s -i virtualbox

Bridge Networkにする

デフォルトのNATだと,構成によってはホストからもSSH等が通らない (Windowsのネットワーク周りをよく知らないのでなんでかは不明).
Bridgeでローカルネットワークに出してしまえば多少使い勝手は良くなる.

VirtualBox上でのNIC名称を調べる

vboxmanage list bridgedifs

全NICの情報が出てくる.BridgeさせたいNICのNameをメモ.

Multipassインスタンスを止める

multipass stop <instance>

インスタンスにBridgeインターフェースを追加

管理者権限で実行しているShellにて

psexec64 -s vboxmanage modifyvm <instance> --nic2 bridged --bridge-adapter2 <interface name>

インスタンス起動 & netplan

multipass shell <instance>

# nic名確認
ip a

# netplan config
# enp0s8は適当なnic名に
sudo vim /etc/netplan/60-bridge.yaml
# 60-bridge.yaml
network:
  ethernets:
    enp0s8:
      dhcp4: true
      dhcp4-overrides:
        route-metric: 200
  version: 2

apply

sudo netplan apply