Nested Hyper-V環境構築を行う

Windows 10 Insider Preview ビルド10565でNested Hyper-Vを使用する手順は、こちらの公式ブログにまとめられている。こちらでもNested Hyper-Vの仕組みを図で示しているので引用しておこう。ご覧のとおりNested Hyper-Vは入れ子構造で動作する仕組みだが、これは従来のHyper-V上で動作する仮想マシンに、Intel-VTなどに代表されるハードウェア仮想化支援機能を見せることで実現している。最終的にMicrosoftはコンテナ型仮想化機能の実現を目指しているので、その第一歩を踏み出したところだ。

公式ブログによるHyper-Vの説明。ハイパーバイザー上で仮想CPU(仮想マシン)を作成し、その上でゲストOSを実行する

公式ブログによるNested Hyper-Vの説明。仮想CPU上でHyper-Vを実行し、その上でさらに仮想CPUを作成している。まさにNested(入れ子)だ

そのためWindows 10 Insider Preview ビルド10565のNested Hyper-Vはいくつかの制限がある。先の公式ブログの説明をまとめると「動的メモリーは無効」「動作中のメモリーサイズ変更は不可能」「動作中のチェックポイントは作成不可能」「ライブマイグレーションも不可能」「<保存><復元>も不可能」だ。なお、ネットワーク機能を使うためには<MACアドレスのスプーフィングを有効にする>のチェックを外さなければならない。それでは仮想マシンを作成し、先頃リリースしたWindows 10 Insider Preview ビルド10565をインストールする。

仮想マシン作成時は動的メモリー機能を無効にする

仮想マシン作成後、設定を開いてMACアドレスのスプーフィング機能を有効にする

仮想マシン上にWindows 10 Insider Preview 10 ビルド10565をインストールした状態。ご覧のとおり<Hyper-Vプラットフォーム>は選択できない

続いて仮想マシンを一度終了し、公式ブログからPowerShellスクリプトをダウンロードしたら、先ほど作成した仮想マシン名を指定してスクリプトを実行すればNested Hyper-Vが有効になる仕組みだ。この際確認メッセージが現れた場合は[Y]キーを押して有効化を実行する。なお、執筆中に公式ブログの内容が更新され、Nested Hyper-Vに関する情報はMSDNのページで更新するそうだ。

公式ブログからNested Hyper-Vを有効にするPowerShellスクリプトをダウンロードした

続いてPowerShellスクリプトを使って仮想マシンの設定を変更する。こちらは管理者権限が必要だ。確認メッセージには[Y]キーを押して応答する

続いて仮想マシンを起動したら、その上でHyper-Vを有効化して仮想スイッチを作成する。こちらもPowerShellで制御できると先のMSDNに書かれていたが、前準備が必要だったため、素直に仮想マシン内で操作した方が簡単だろう。

仮想マシンを起動すると先ほどまでと異なり、Hyper-V機能の有効化が可能になっている

再起動後は仮想スイッチを作成し、仮想マシン内仮想マシン用ネットワークを準備する

仮想マシンのWindows 10 Insider Preview ビルド10565上で動作する仮想マシンに、Windows 10 Insider Preview ビルド10565をインストールした状態

少々煩雑だが上図のように、仮想マシンのWindows 10 Insider Preview ビルド10565上で動作する仮想マシン上で、Windows 10 Insider Preview ビルド10565が動作する環境が完成した。繰り返しになるが、MicrosoftはHyper-V Containerを構成する機能の1つとしてNesting Hyper-Vの完成を目指している。現時点でWindows 10をクライアントOSとして使っているユーザーにとって、大きなメリットにならないものの、Windows 10 Insider Previewの進捗状況として今回紹介することにした。

最後に余談だが、一連の検証を終えてHyper-Vを無効にするためPCを再起動したところ、PROCESS1_INITIALIZATION_FAILEDエラーが発生し、セーフモードの起動もできなくなってしまった。現時点で原因は不明だが「Update Windows 10 Insider Preview October Update for x64-based Systems(KB3105208)」を提供するとセキュアブート環境で正しく動作しないようである(筆者の環境だけかもしれない)。

Hyper-Vとの関係は不明だが「KB3105208」をインストールすると、セキュアブートが有効な環境ではOSが正しく起動しないトラブルを確認した

一方のWindows 10 Insider Preview 10565 PCはUEFIからセキュアブートを無効にすると、Windows 10が起動することを確認できたため、もう一方のPCは回復ドライブからコマンドプロンプトを起動し、「dism /Image:C:\ /Remove-Package /PackageName:Package_for_KB3105208~31bf3856ad364e35~amd64~~10.0.1.0」でアンインストールを実行。合わせて「dism /Image:C:\ /Disable-Feature /FeatureName:Microsoft-Hyper-V」を実行して、Hyper-Vの削除も行うことで無事起動を確認できた。

その後セキュアモードを無効にして起動を確認したPCも、再びセキュアモードを有効にしてKB3105208を再適用してみたが、再び起動しないトラブルに出くわした。redditなど海外のBBSに目を通すと、問題が発生しない環境もあるようだが、当方の環境では再現性を確認したので、万が一トラブルが発生した場合は上記の手順を試してほしい。

阿久津良和(Cactus)

前回の記事はこちら
・Windows 10 Insider Previewを試す(第33回) - Windows 7/8.xのプロダクトキーで製品化も1年限り?
http://news.mynavi.jp/articles/2015/10/16/windows10/
バックナンバー 一覧へのリンク
http://news.mynavi.jp/tag/0021413/
Windows 10 すべてがわかる特集記事はこちら
【特集】~インストールから設定・活用まで~ すべてが分かるWindows 10大百科
http://news.mynavi.jp/special/2015/windows10/