Windows11 仮想環境 (Hyper-V, WSL2, Virtualbox, qemu) の install と動作確認
当日記ではアフィリエイト広告を利用しています
Windows11を install し、Windows10 との Dual boot も機能していますので、常用する Windows11 環境設定を徐々に進めています。その中でも仮想環境がこれまで通り機能するかどうかを確認する必要があります。今回は、Windows10 でこれまで使用してきた Hyper-V、WSL2、Virtualbox、qemu の各仮想マシンを移行して、Windows11 で無事に起動できるかどうかを確認しました。また、Windows11 の WSL2 には新しい機能が追加されていますので、その機能についても試してみました。
- Windows の機能の設定
- Hyper-V
- Windows10 側で export
- Windows11 側で import
- export した data を Documents\HyperV_VMs へ移動
- Hyper-V マネージャから import
- import wizard : 開始する前に
- import wizard : フォルダーの検索
- import wizard : フォルダーの選択
- import wizard : フォルダーの検索 (選択後)
- import wizard : 仮想マシンの選択
- import wizard : インポートの種類の選択
- import wizard : インポートウィザードの完了
- import wizard : インポート完了
- 全ての仮想マシンを import する
- Hyper-V 仮想マシンの起動確認
- Hyper-V 仮想マシン移行まとめ
- Windows Subsystem for Linux 2 (WSL2)
- Virtualbox
- qemu
- 各仮想マシン間の通信
- まとめ
Windows の機能の設定
Windows10 の時と同じように、「Windows の機能の有効化および無効化」から仮想環境等を有効化しました。有効にした項目は下記の通りです。
これ以降、各仮想環境毎に移行手順を説明します。
Hyper-V
Hyper-V は「Windows の機能の有効化および無効化」から「Hyper-V」を有効にすれば使用できるようになります。Windows10 の時と同様です。
Windows10 側で export
Windows10 の Hyper-V では3種類の仮想マシンを使用していました。
- Ubuntu64
- hvAndroid9
- hvAndroid9_UEFI
これらを export します。E drive が仮置き用の HDD ですので、此方に一旦保管します。
export : 操作 -> エクスポート
仮想マシンを選択して、menu -> 操作 -> エクスポートを選択します。
export : エクスポート中の画面
進捗状況は表示されません。右下の仮想マシンの欄の「エクスポート中の取り消し」が消えるまで待ちます。
export : 終了、folder 構成の確認
エクスポートが終了すると、指定した folder 以下に仮想マシンの情報が folder に分けて記録されています。
Windows11 側で import
これまでは仮想 HDD の場所が適当だったので、Documents\HyperV_VMs
に統一します。この下に Hyper-V 仮想マシンの data を置くようにします。
export した data を Documents\HyperV_VMs
へ移動
import した場所 = これから使う場所となるので、予め export した data を決めた保管場所へ移動します。
import wizard : 開始する前に
メッセージのみです。「次へ」を押します。
import wizard : フォルダーの検索
読み込むフォルダー名を選択します。参照を押します。
import wizard : フォルダーの選択
Documents\HyperV_HDD
内の仮想マシン名のフォルダーを選択します。
import wizard : フォルダーの検索 (選択後)
選択したフォルダーが表示されるので「次へ」を押します。
import wizard : インポートの種類の選択
3種類の選択肢があります。
既に保管したい場所に移動してあるので、1番目の項目を選択して「次へ」を押します。2番目は directory 構成を元の位置に、3番目は Hyper-V の default の場所に登録されると思います(未確認)。
import wizard : インポートウィザードの完了
内容を確認して「完了」を押します。
Windows Subsystem for Linux 2 (WSL2)
WSL2 については素のままで使用していて、仮想マシンへの ssh client を動かす程度でしたので、移行せずに新しく install しました。
WSL2 install
「Windows の機能の設定」から WSL2 を ON にして、Microsoft Store から Ubuntu を install したら下記の error が出ました。
Installing, this may take a few minutes... WslRegisterDistribution failed with error: 0x800701bc Error: 0x800701bc WSL 2 ???????????? ??????????????????????? https://aka.ms/wsl2kernel ????????? Press any key to continue...
文字化けして一部が読めません。error message を元に検索してみると以下のページを見つけました。
qiita.com
更に調べると、もっと簡単になっていたのですね。
zenn.dev
管理者権限の PowerShell :
PS> wsl --install
これだけで「Windows の機能」の設定から distribution の install まで実行してくれるようです。今回は distribution は install 済みなので、 kernel の update のみ実施します。
管理者権限の PowerShell :
PS> wsl --update 更新をチェック中... 更新をダウンロード中... 更新をインストール中... この変更は、次回の WSL 再起動時に有効になります。強制的に再起動するには、'wsl --shutdown' を実行してください。 カーネル バージョン: 5.10.60.1 PS> wsl --shutdown
これで WSL2 Ubuntu が起動するようになりました。
Installing, this may take a few minutes... Please create a default UNIX user account. The username does not need to match your Windows username. For more information visit: https://aka.ms/wslusers Enter new UNIX username: user New password: Retype new password: # … 中略 … user@pc-name:~$
kernel の update を windows update で受け取られるように設定しました。
Windows11 WSL2 新機能
WSLg
Windows11 で WSL2 を install すれば WSLg が有効になっていました。
xeyes と virt-manager を表示させてみました。特に設定は不要で、software を install して起動するだけで表示できました。
外部ドライブの mount
WSL2 で外部の Linux disk を mount できるようになりました。
docs.microsoft.com
path through で debian を install している SATA SDD 128GB を接続してみました。
PowerShell (管理者) :
PS> GET-CimInstance -query "SELECT * from Win32_DiskDrive" DeviceID Caption Partitions Size Model -------- ------- ---------- ---- ----- \\.\PHYSICALDRIVE4 CFD CSSD-SM128WJ3 3 128034708480 CFD CSSD-SM128WJ3 \\.\PHYSICALDRIVE3 SanDisk SDSSDH31000G 3 1000202273280 SanDisk SDSSDH31000G \\.\PHYSICALDRIVE5 Hitachi HDS721010CLA332 1 1000202273280 Hitachi HDS721010CLA332 \\.\PHYSICALDRIVE6 WDS200T1X0E-00AFY0 2 2000396321280 WDS200T1X0E-00AFY0 \\.\PHYSICALDRIVE1 WDC WD40EFRX-68N32N0 1 4000784417280 WDC WD40EFRX-68N32N0 \\.\PHYSICALDRIVE2 WDC WD40EFRX-68N32N0 1 4000784417280 WDC WD40EFRX-68N32N0 \\.\PHYSICALDRIVE0 ST4000VN008-2DR166 1 4000784417280 ST4000VN008-2DR166 PS> wsl --mount \\.\PHYSICALDRIVE4 --bare
\\.\PHYSICALDRIVE4
が SATA SSD 128GB になります。WSL2 で扱うには以下の通りです。
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 256G 0 disk sdb 8:16 0 339.8M 1 disk sdc 8:32 0 256G 0 disk / sdd 8:48 0 119.2G 0 disk ├─sdd1 8:49 0 512M 0 part ├─sdd2 8:50 0 117.8G 0 part └─sdd3 8:51 0 977M 0 part $ sudo mount /dev/sdd2 /media $ ls /media/ bin dev home initrd.img.old lib32 libx32 media opt root sbin sys usr vmlinuz boot etc initrd.img lib lib64 lost+found mnt proc run srv tmp var vmlinuz.old
/dev/sdd
で認識されています。/dev/sdd2
が root になるので、mount してみるとちゃんと見えました。
これまで Hyper-V や Virtualbox に path through して作業していた事が WSL2 でも出来るようになりました。機会があれば試そうと思いますが、USB 接続でも可能だと思いますので、色々と応用範囲が広そうです。
後始末 :
WSL2:$ sudo umount /media PS> wsl --unmount \\.\PHYSICALDRIVE4
umount
ではなく unmount
です。
Virtualbox
Virtualbox は Windows10 の時と同じ Virtualbox-6.1.30 を install しました。raw disk を使用する場合に必要なので、Virtualbox の起動用ショートカットは「管理者として実行」する様にしておきます。
Windows Hypervisor Platform を有効にしておけば、Hyper-V や WSL2 と共存が可能です。Windows10 の時と同様です。
Windows10 側の folder を Windows11 の Documents\Virtualbox_VMs
に copy
Virtualbox にも export と import の機能 (仮想アプライアンスのエクスポート / インポート) がありますが、仮想 HDD の vdi 形式をいったん vmdk 形式に変換してから ova 形式にまとめて、import の際に vdi 形式に戻す、というやり方なので時間を要します。実際にやってみましたが import しても仮想マシンが起動できませんでした。
簡単な方法は、Virtualbox の VM と仮想 HDD は一つの folder にまとまっていますので、folder ごと Windows11 側に copy して、Virtualbox の menu ->「仮想マシン」->「追加」で該当 folder を読み込むやり方です。
これで Ubuntu64 と Android9、Android9_UEFI の3つの仮想マシンを Windows11 側に移す事が出来ました。
Virtualbox 仮想マシンの起動確認
仮想マシンが正常に起動するかどうか確認します。
問題なく起動できました。リモートデスクトップでも接続できました。
Virtualbox 仮想マシンの移行まとめ
Virtualbox の移行は、初めは仮想アプライアンスのエクスポートを使用していたのですが、仮想 HDD を vdi 型式からvmdk 型式に convert しているのが分かって早々に諦めました。
元の環境の仮想マシンの folder 一式を copy して持ってきて「追加」で取り込むのが簡単で速いです。
Hyper-V と同様に、必要なのは仮想 HDD なので、仮想 HDD なしで仮想マシンを作成し、後で仮想 HDD を追加すれば起動します。設定内容を覚えている場合には、此方の方が簡単かと思います。
qemu
qemu の場合は、仮想マシンの設定は command で指定しますので、必要なのは仮想 HDD (qcow2) と UEFI image になります。これまでは別々の場所に保管していましたが Documents\qemu_VMs
にまとめて保管する事にしました。
まとめ
Windows10 で使用していた各仮想マシンを Windows11 へ移行しました。
- Hyper-V 仮想マシンは export / import で移行
- WSL2 は新規に install
- Virtualbox は仮想マシンの folder を copy して「追加」
- qemu は仮想 HDD と UEFI image の copy と起動 script の変更
Virtualbox の 仮想アプライアンスのエクスポート / インポートで仮想 HDD の convert をしているのは予想外でした。folder を copy して「追加」の方が簡単で速く済みました。
これまで Windows10 では、仮想マシンの情報が各所に分散しているのが気になっていました。今回、Windows11 に移行するのを機に、決まった場所に保管するルールを決めましたので、更に移行する時には楽になると思います。
Windows11 の環境設定もほぼ完了しましたので、次は新しいネタを記事にしたいと考えています。