Nested VirtualizationでWindows10が動くか試してみる

概要

Nested Virtualization は仮想マシンの上に仮想マシンを入れ子に作ることです。

VirtualBoxは AMD製CPU は 6.0から、Intel製CPUは6.1からNested Virtualization が使えるようになりました。

今回は、VirtuaBoxでUbuntu20.04を動かして、その上でKVMでWindows10を動かすことを目指します。



環境

ゲスト ハイパーバイザー KVM 4.2.1
OS Ubuntu 20.04.1
ホスト ハイパーバイザー VirtualBox 6.1.14
OS Windows 10 Pro 1903
CPU Core i7-8700


事前準備

ホストOS(Windows10)上のVirtualBoxにUbuntu20.04をインストールします。
今回はNested Virtualizationを試すのが目的なので、VirtualBoxの設定で「ネステッドVT-x/AMD-Vを有効化(V)」をチェックします。


次に、VirtualBoxの仮想マシンにUbuntu20.04とKVMをインストールします。

Ubuntu20.04のインストール

特にむずかしいところもないので省略。

KVMのインストール

最初にkvm-okをインストールして、KVMを確認します。
$ sudo apt install -y cpu-checker
$ kvm-ok
INFO: /dev/kmv exists
KVM acceleration can be used

次にaptでKVMとインストールします。
$ sudo apt install -y qemu qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager virtinst


Windows10をインストールする

KVMの仮想マシンにWindows10をインストールします。

仮想マシンの作成

仮想マシンマネージャーで、新しい仮想マシンを作成します。
仮想マシンマネージャー

メモリは12Gです。

設定はデフォルトのままです。
概要-基本的な情報 ハイパーバイザー:KVM アーキテクチャ:x86_64 チップセット:Q35 Firmware:BIOS


Windowsのインストール


1時間ぐらいかかって、下の画面になりました。更新プログラムで解決するとも思えなかったので更新プログラムは適用しませんでした。
PC が再起動したのはなぜですか? 問題が発生し、PCを使用する準備ができません。これは更新プログラムによって解決されるものと思われます。更新プログラムの取得方法は次のとおりで、 す。 1. PC が電源に接続されていることを確認します。 2. この PC でWi-Fi を使用する場合は、「次へ] を選択し、指示に従ってWi-Fi ネットワークに接続します。 3. この PCでWi-Fi を使用しない場合は、ネットワークケーブルを挿入してワイヤード(有線) ネットワークに接続し、[次へ] を選択します。 4. 接続した後、[次へ] を選択すると更新プログラムがインストールされます。

この後、再起動など繰り返したところ、下の「問題が発生しました」画面になります。この「問題が発生しました」画面でスキップしても結局また同じ「問題が発生しました」画面に戻ってしまいました。
問題が発生しました やり直すことも、今はスキップすることもできます。 OOBEREGION スキップ やり直す


UEIFモードでインストールする

上ではFirmwareはBIOSでした。FirmwareがUEFIなら動くかもしれないと思って試してみましたが結果はまったく同じでした。


Ubuntu20.04をインストールする

Nested Virtualization自体がうまくいっていないのか確かめるためにUbuntu20.04をインストールしてみます。

Ubuntu20.04はインストールに成功して、正常に起動しました。

Nested Virtualizationを無効にすると?

本当にVirtualBoxのNested Virtualizationが機能しているか確認してみます。

VirutualBoxの設定で「ネステッドVT-x/AMD-Vを有効化(V)」のチェックをはずしてNested Virtualization無効状態にします。次に、仮想マシンマネージャーでさっきインストールしたUbuntu20.04を起動してみます。

期待通り動きませんでした。Nested Virtualizationは期待通り機能しているようです。
エラーメッセージ
仮想マシンの開始中にエラーが発生しました。
unsupported configuration: Domain requires KVM, but it is not available. Check that virtualization is enabled in the host BIOS, and host configuration is setup to load the kvm modules.


まとめ

VirtualBoxのNested Virtualizationを有効にしても、VirtualBox上のUbuntu20.04 + KVMの上でWindows10は動かないようです。

script