Home > Windows にまつわる e.t.c.

Windows Server 2016 Technical Preview 5 Nested Hyper-V


ざっと見る限り、Windows 10 Nested Hyper-V と変わっていないようですが、TP4 で Windows Update すると Nested Hyper-V がエラーになる問題が TP5 で解消されたので、TP5 Nested Hyper-V の構築手順を解説します。

Windows 10 Nested Hyper-V 解説はこちら

Windows 10 Insider Preview Build 10565 Nested Hyper-V
http://www.vwnet.jp/Windows/w10/NestedHyperV/Build10565Hyper-V.htm

 

MS ドキュメントはこちら

Nested Virtualization
https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/user_guide/nesting

 

MS ドキュメントを見ると、Windows 10 Nested Hyper-V と制限事項が若干違います。

・ホスト側の Device Guard が有効になっていると VM 側の Hyper-V が有効にできない

 

VM への Nested Hyper-V 許可

アーキテクチャーとかは Windows 10 のコンテンツ見てもらうとして、さっそく構築手順です。

まずは Nested Hyper-V する VM を構築します。

 

< VM 要件 >

Build 10565 以降の Windows 10 or Windows Server 2016 Technical Preview 5
Gen 2 VM
メモリー4GB以上固定割り当て
Guest 割り当て分を加えてた vCPU 割り当て
Guest 割り当て分を加えてた vSW 割り当て

 

VM の準備が出来たら Nested Hyper-V 設定スクリプトをダウンロードします。

Invoke-WebRequest https://raw.githubusercontent.com/Microsoft/Virtualization-Documentation/master/hyperv-tools/Nested/Enable-NestedVm.ps1 -OutFile ~/Enable-NestedVm.ps1

 

VM をシャットダウンしてダウンロードしたスクリプトを使って VM を Nested 指定します

~/Enable-NestedVm.ps1 -VmName "en-TP5"

 

PS C:\> ~/Enable-NestedVm.ps1 -VmName "en-TP5"
This script will set the following for en-TP5 in order to enable nesting:
    Virtualization extensions will be enabled
    Optionally enable mac address spoofing
Input Y to accept or N to cancel:Y
警告: 入れ子構造の仮想化は、サポートされていないプレビュー機能です。ゲスト仮想マシンで実行されている Hyper-V
ハイパーバイザー以外のハイパーバイザーでは、エラーが発生する可能性があります。さらに、Hyper-V
の一部の機能には、動的メモリ、チェックポイント、保存/復元などの入れ子構造の仮想化との互換性がありません。
Mac Address Spoofing isn't enabled (nested guests won't have network).
Would you like to enable MAC address spoofing? (Y/N)Y
PS C:\>

 

Nested Hyper-V VM が起動したら、VM の Hyper-V の役割を有効にし、割り当てた vSW を VM 側で vSW 設定すれば孫 VM 構築ができます。

 

Nested Hyper-V の確認と解除

どの VM が Nested Hyper-V になっているかを確認するには、確認用のスクリプトをダウンロードして実行します。

Invoke-WebRequest https://raw.githubusercontent.com/Microsoft/Virtualization-Documentation/master/hyperv-tools/Nested/Get-NestedVirtStatus.ps1 -OutFile ~/Get-NestedVirtStatus.ps1

~/Get-NestedVirtStatus.ps1

 

緑バックの YES になっている VM が Nested Hyper-V 設定になっています。

PS C:\> ~/Get-NestedVirtStatus.ps1
Getting system information...done.
Getting build information...done.
Validating host information...done.

The virtualization host WSTP5 supports nested virtualization: NO
The following host configuration errors have been detected:
Virtualization Based Security is running
Virtualization Based Security is partly installed on you system. To completely remove Virtualizaiton Based Security, ple
ase follow instructions under "Remove Credential Guard" found here: https://technet.microsoft.com/en-us/library/mt483740
%28v=vs.85%29.aspx


Computer                     : WSTP5
Manufacturer                 : ASUS
Model                        : All Series
ProccessorManufacturer       : GenuineIntel
Product Name                 : Windows Server 2016 Datacenter Technical Preview 5
Installation Type            : Server
Edition ID                   : ServerDatacenter
Build Lab                    : 14300.1010.amd64fre.rs1_release_svc.160415-2143
HypervisorRunning            : True
FullHyperVRole               : True
HostNestedSupport            : False
HypervisorLoadOptionsPresent : False
HypervisorLoadOptionsValue   :
IumInstalled                 : False
VbsRunning                   : True
VbsRegEnabled                : False
BuildSupported               : True
VbsPresent                   : True

Looking for VMs...found 2 VMs.
Validating virtual machines...done.

The virtual machine en-NanoServer supports nested virtualization: NO
The following VM configuration errors have been detected:
This VM is not configured to expose virtualization extensions.
The VM has Dynamic Memory enabled.


Name                           : en-NanoServer
SupportsNesting                : False
ExposeVirtualizationExtensions : False
DynamicMemoryEnabled           : True
SnapshotEnabled                : False
State                          : Off



The virtual machine en-TP5 supports nested virtualization: YES

Name                           : en-TP5
SupportsNesting                : True
ExposeVirtualizationExtensions : True
DynamicMemoryEnabled           : False
SnapshotEnabled                : False
State                          : Off


Press any key to continue...

PS C:\>

 

Nested Hyper-V を解除するには、Set-VMProcessor で解除します。

Set-VMProcessor -VMName <VM名> -ExposeVirtualizationExtensions:$false

 

PS C:\> Set-VMProcessor -VMName "en-TP5" -ExposeVirtualizationExtensions:$false
PS C:\>

 

 

back.gif (1980 バイト)

home.gif (1907 バイト)

Copyright © MURA All rights reserved.