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を確認します。
次にaptでKVMとインストールします。
Windows10をインストールする
KVMの仮想マシンにWindows10をインストールします。
仮想マシンの作成
仮想マシンマネージャーで、新しい仮想マシンを作成します。

メモリは12Gです。

設定はデフォルトのままです。

Windowsのインストール

1時間ぐらいかかって、下の画面になりました。更新プログラムで解決するとも思えなかったので更新プログラムは適用しませんでした。
![PC が再起動したのはなぜですか? 問題が発生し、PCを使用する準備ができません。これは更新プログラムによって解決されるものと思われます。更新プログラムの取得方法は次のとおりで、 す。 1. PC が電源に接続されていることを確認します。 2. この PC でWi-Fi を使用する場合は、「次へ] を選択し、指示に従ってWi-Fi ネットワークに接続します。 3. この PCでWi-Fi を使用しない場合は、ネットワークケーブルを挿入してワイヤード(有線) ネットワークに接続し、[次へ] を選択します。 4. 接続した後、[次へ] を選択すると更新プログラムがインストールされます。](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqp9DsKEzLS9O2KK3jPwplHgC0X-nTEpv2F7sMKT6LWJMehkgJxTbcwSA1ySqr4efSjc2j7d9wpYgR8jS2b2mNKczijNIdOUGZc7aUHf6GfIHtGwk5Ajv-0d7fJL7jNRlGMWHPFsJHSljK/w640-h464/windows10_bios_fail_1.1.21.webp)
この後、再起動など繰り返したところ、下の「問題が発生しました」画面になります。この「問題が発生しました」画面でスキップしても結局また同じ「問題が発生しました」画面に戻ってしまいました。

UEIFモードでインストールする
上ではFirmwareはBIOSでした。FirmwareがUEFIなら動くかもしれないと思って試してみましたが結果はまったく同じでした。
Ubuntu20.04をインストールする
Nested Virtualization自体がうまくいっていないのか確かめるために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は動かないようです。