【Hyper-V】仮想マシンに対してHyper-Vの機能を有効化する[Nested VM]

Microsoft Windows

物理マシンの Hyper-V に作成した仮想マシンに対し、Hyper-V の機能を有効化できるようになりました。仮想マシンに対し Hyper-V を有効にする手順について整理したいと思います。

スポンサーリンク

Nested VM の設定

Hyper-V 上の仮想マシンに対して Hyper-V の機能を有効化するためには、Windows Server 2016 よりサポートされた Nested VM 設定の有効化を行う必要があります。

Nested VM 設定とは、Hyper-V 上にたてられた仮想マシンに対し、「ExposeVirtualizationExtensions」という機能の有効化を行うことを指しています。

仮想マシン起動状態の確認

Nested VM の設定は仮想マシンが停止している状態で実行する必要があるため、まずは仮想マシンの起動状態を確認します。

Get-VM

実行結果例

PS C:\Users\Administrator> Get-VM

Name State CPUUsage(%) MemoryAssigned(M) Uptime Status Version

---- ----- ----------- ----------------- ------ ------ -------

HV01 Off 0 4096 00:00:00 正常稼働中 8.0

HV02 Off 0 4096 00:00:00 正常稼働中 8.0

対象の仮想マシンが起動中(Running)状態の場合は、シャットダウンを実施し、停止状態にします。

Nested VM の有効化

停止している仮想マシンに対し、「ExposeVirtualizationExtensions」機能の有効化を行い、Nested VM のフラグを立てます。

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

設定の確認

Get-VMProcessor -VMName * |ft VMName,ExposeVirtualizationExtensions

実行結果例

PS C:\Users\Administrator> Get-VMProcessor -VMName * |ft VMName,ExposeVirtualizationExtensions

VMName ExposeVirtualizationExtensions

------ ------------------------------

HV01 True

HV02 False

「ExposeVirtualizationExtensions」が”True”となっていることを確認します。

スポンサーリンク

ネットワークの設定

Nested VM を有効化した環境では、既定の構成のままだと仮想マシンは通信ができないため、追加でネットワークの設定が必要となります。

方法としては、「MAC アドレスのスプーフィング」もしくは「NAT ネットワーク」の 2 パターンの方法があります。ここでは MAC アドレスのスプーフィングの方法について記載します。

MAC アドレススプーフィングの有効化

Nested VM を有効化した仮想マシンから通信を行う場合は、仮想マシンの仮想 NIC の設定から MAC アドレススプーフィングを有効化する必要があります。

Get-VMNetworkAdapter -VMName <VMName> | Set-VMNetworkAdapter -MacAddressSpoofing On

設定の確認

Get-VMNetworkAdapter -VMName * |ft VMName,SwitchName,MacAddressSpoofing

実行結果例

PS C:\Users\Administrator> Get-VMNetworkAdapter -VMName * |ft VMName,SwitchName,MacAddressSpoofing

VMName SwitchName MacAddressSpoofing

------ ---------- ------------------

HV01 External On

HV02 External Off

以上で Nested VM を有効化し、Hyper-V 上の仮想マシンに対して Hyper-V の機能を有効化することができます。

 

参考にしたページ

入れ子になった仮想化
入れ子になった仮想化
タイトルとURLをコピーしました