メインコンテンツへスキップ
  1. Posts/

Multipass on Windows with VirtualBox

·1 分·

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
Myuu
著者
Myuu
CS Researcher