Hyper-Vの中でHyper-V Hypervisorを有効化

samatsu 9/10/2021 3881 N/A Hyper-V

Hyper-V上にインストールしたWindows 10にDocker for Windowsをインストールする際に、Hyper-V上のWindows 10でHyper-V Hypervisorサービスを有効化する方法を調べたのでその覚書です。

環境は次の通り

  • Hyper-Vホスト: Windows 10 Pro
  • Hyper-Vゲスト: Windows 10 Pro

Hyper-V上のWindowsで、Hyper-Vの機能を有効化する場合、Hyper-V をインストールする必要がありますが、このとき、Hyper-V Hypervisor がグレーアウトして選択できませんでした。

Hyper-V上でHyper-Vサービスを有効化する(Nested Virtualization)場合は、WindowsのバージョンとCPUが対応している必要があるそうです。Intel CPUの場合は、 VT-x および EPT(Extended Page Tables) に対応している必要があります。自分のPCがVT-x と EPT に対応しているかはIntelのサイトをご確認ください。

詳細については次のページを参考にしてください。

Run Hyper-V in a Virtual Machine with Nested Virtualization
https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization

条件を満たしている場合は、Hyper-Vの物理ホスト側のWindowsで管理者権限でPowerShellを起動し、次のコマンドを実行します。<VMName>は Nested Virtualizationを有効化したい仮想マシンの名前を指定します。コマンドは<VMName>で指定する仮想マシンの電源がOFFの状態で実行します。

Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true

うまくいくと、Hyper-V Hypervisor機能のインストールを行え、Docker for Windowsも仮想マシン上で動かせるようになります。

今回の説明は以上です。