Hyper-V と Virtualbox は共存できる 【断言】
qiita 初記事です。これまで幾度か qiita の記事から私の日記にリンクして頂いていて、そのうち1回は Hyper-V と VirtualBox の共存についての記事でした。
qiita にユーザー登録して改めて検索してみると、明確に Hyper-V と VirtualBox は共存できると書かれている記事がありませんでした。そこで改めて断言します。
Hyper-V と VirtualBox は共存できます!
現在の私の環境では、
- Hyper-V
- WSL2 & Nested VM qemu-kvm
- VirtualBox
- qemu-whpx
が同時に起動できる状態です。クライアントとしての使い方で外向きには公開していません。
過去に qiita からリンクして頂いた縁もありますので、取り組んだ内容を時系列で紹介したいと思います。
2018年12月 調査開始 (その1)
2018年12月から Hyper-V と VirtualBox が共存できるかどうかを試していました。きっかけは VirtualBox 6.0 から Hyper-V と共存できると ChangeLog に書かれていた為に、ホントに共存できるか試してみたかった為です
当時は Windows10 Pro 1809、CPU は Core i7-870 (Nehalem 世代)、DDR3 8GB memory、1TB HDD という貧弱な環境でした。
結果は撃沈。ダメな理由もはっきりせず、Windows10 なのか CPU なのか、それとも他に理由があるのかも分からない状態でした。
2018年12月 ~ 2020年8月 (その2 ~ その10)
この2年弱の間、
- PC 更新 (Ryzen 7 3800x, DDR4 32GB, 1TB SATA SSD)
- VirtualBox のバージョンアップ 6.0.0 ~ 6.1.4
- Windows10 のバージョンアップ 1809 ~ 1909
のタイミングで検証を続けましたが、どちらも撃沈でした。下記リンク先の下部には、その2 ~ その10のページへのリンク一覧があります。
この時点では CPU は更新しましたので、AMD Ryzen だとダメなのかなぁとも考えていました (それは杞憂でしたが)。
途中で WSL2 が Windows10 に Backport されましたが、WSL2 と VirtualBox も共存は出来ませんでした。WSL2 は軽量仮想マシン上で動作していますが、Hyper-V ベースですので VirtualBox と共存できないのは想定内でした。
2020年11月 (その11)
2020年11月に Windows10 Hyper-V と VirtualBox が共存できるようになりました。結果として WSL2 も共存できました。
- PC Ryzen 7 3800x, DDR4 32GB, 1TB SATA SSD
- Windows10 Pro 20H2
- VirtualBox 6.1.12
VirtualBox も新版が出る度にバージョンアップして試しましたが共存は出来ず。私の環境で共存できるようになったタイミングは、Windows10 Pro 1909 -> 20H2 のバージョンアップでした。
VirtualBox の亀アイコンを初めて見た時には感激ものでした。
2023年6月現在の状況
2020年11月以降も、Windows や VirtualBox のバージョンアップを重ねながら、Hyper-V と VirtualBox と WSL2 の共存は継続して可能な状態です。
現在の環境は以下の様になります。
【環境1】
- PC Ryzen 7 3800x, DDR4 64GB, 2TB NVMe SSD, 1TB SATA SSD, 128GB SATA SSD
- Windows11 Pro 22H2
- VirtualBox 7.0.8
【環境2】
- PC Intel Celeron J4125, DDR4 8GB, 250GB NVMe SATA SSD, 500GB SATA SSD
- Windows11 Pro 22H2
- VirtualBox 7.0.8
環境1では 64GB memory を載せていますので、Hyper-V と VirtualBox、WSL2 を同時に起動させても問題なく動作します。環境2は同時起動は少々厳しいですが、Hyper-V が起動できる状態でも VirtualBox はそのまま起動できます。
途中で qemu-whpx も使用できる事を確認しました。ただし BIOS 限定で UEFI では使えません。
各仮想マシンの速度比較
仮想マシンの速度を UnixBench で比較しました。(この比較は GUI の影響は含んでいません)
Ubuntu を実機で起動した条件を除くと、
Windows11 WSL2 = Windows11 qemu-whpx > Hyper-V > WSL2 Nested qemu-kvm > VirtualBox
という順番でした。qemu-whpx が思いのほか速く、逆に VirtualBox は Hyper-V と共存させている為か、他と比べて遅めでした。
Ubuntu の同じバージョンを起動させた場合も、Hyper-V と比べて、体感では VirtualBox の方が遅めです。これは、VirtualBox の共存の為の設定の他、Hyper-V が専用の kernel module を持っていて kernel が最適化されているからかもしれません。
各仮想マシン間の通信
Hyper-V、WSL2、VirtualBox の各仮想マシンを相互に通信できるようにする設定です。
別々の仮想マシン同士で通信させたい場合に参照下さい。
まとめ
qiita の記事では明確な結論が書かれていませんでしたので明言します。
Hyper-V と VirtualBox (と WSL2 と qemu-whpx) は共存できます!
2023年7月10日 追記 : 共存できない方は以下も参照下さい。