Windows Server 2012 R2から仮想マシンに世代という概念が導入されました。
第1世代である従来の仮想マシンは、古いアーキテクチャーをエミュレーションしていましたが、第2世代では、UEFIなど新しいアーキテクチャーがサポートされるようになりました。

第2世代の仮想マシンに対応しているOSは、今のところ Windows 8、Windows 8.1 、Windows Server 2012 、 Windows Server 2012 R2 となっています。

第1世代のマシンから第2世代のマシンに変換するには、以下のサイトから変換用スクリプトをダウンロードして実行します。
Hyper-V generation 2 VM conversion utility (Convert-VMGeneration)

変換は、以下の手順で行います。
※このスクリプトを実行するとハードディスクの構成が変更されますので、ご注意ください。

1.変換する仮想マシンで、以下のコマンドを実行し、Windows REの構成情報を確認します。
reagentc /info

PS C:\> reagentc /info
Windows 回復環境 (Windows RE) およびシステム リセット構成
情報:Windows RE の状態:         Enabled
Windows RE の場所:         \\?\GLOBALROOT\device\harddisk0\partition1\Recovery\xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
ブート構成データ (BCD) ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
回復イメージの場所:
回復イメージ インデックス: 0
カスタム イメージの場所:
カスタム イメージ インデックス: 0REAGENTC.EXE: 操作は成功しました。

2.以下のコマンドを実行し、Windows REの構成情報を変更します。
reagentc /disable

PS C:\> reagentc /disable
REAGENTC.EXE: 操作は成功しました。

3.再び以下のコマンドを実行し、Windows REの構成情報を確認(Disabled)します。
reagentc /info

PS C:\> reagentc /info
Windows 回復環境 (Windows RE) およびシステム リセット構成
情報:Windows RE の状態:         Disabled
Windows RE の場所:
ブート構成データ (BCD) ID: 00000000-0000-0000-0000-000000000000
回復イメージの場所:
回復イメージ インデックス: 0
カスタム イメージの場所:
カスタム イメージ インデックス: 0REAGENTC.EXE: 操作は成功しました。

4.仮想マシンをシャットダウンします。

5.仮想ホストで、ダウンロードしたスクリプトを実行します。
PS> .\Convert-VMGeneration.ps1 -VMName “仮想マシンの名前” -Path 出力先パス -NewVMName 新しい仮想マシンの名前

PS E:\tmp> .\Convert-VMGeneration.ps1 -VMName “Windows 8” -Path D:\VHD -NewVMName “Windows 8(Gen2)”Hyper-V Generation 2 Virtual Machine Conversion Utility. Version 1.04, 6th Dec 2013.
John Howard, Hyper-V Team, Microsoft Corporation (http://blogs.technet.com/jhoward)
http://code.msdn.microsoft.com/ConvertVMGenerationINFO:    Locating virtual machine ‘Windows 8’…
INFO:    Validating virtual machine configuration…
警告: This script has not been validated for VMs with replica enabled. Using the override check is experimental only.
Remember that *IF* the VM is successfully converted, you will need to re-enable replica once complete.
INFO:    Identified boot disk is ‘D:\VHD\Windows 8\Virtual Hard Disks\Windows 8.vhdx’
INFO:    Source drive letters are F G
INFO:    Found Microsoft® Windows® Operating System 6.2.9200.16384 (win8_rtm.120725-1247) x64 at G:\windows
INFO:    Creating ‘D:\VHD\Windows 8(Gen2)\Windows 8 (Generation 2).vhdx’…
INFO:    Disk 3 is mounted. Allocated drive letters are Y: and Z:Warning – Loss of data
CONTENT ON DISK 3 IS ABOUT TO BE DESTROYED.

Verify this maps to ‘D:\VHD\Windows 8(Gen2)\Windows 8 (Generation 2).vhdx’ in disk management (diskmgmt.msc) or
diskpart.exe before confirming.
Your confirmation accepts full liability for accidental data loss due to coding errors or otherwise.
[N] No  [Y] Yes  [?] ヘルプ (既定値は “N”): y
INFO:    Preparing disk…
INFO:    Capturing image. This will take some time…
INFO:    Image captured to C:\Users\Admin\AppData\Local\Temp\TEMP-2014-04-13 03-57-51 captured.wim
INFO:    Applying image. This will take some time…
INFO:    Configuring ‘Windows 8(Gen2)’. Baseline configuration from ‘Windows 8’…
INFO:     – Memory…
INFO:     – Processors…
INFO:     – Storage…
INFO:     – Notes…
INFO:     – Integration Services…
Enable-VMIntegrationService : パラメーターが無効です。指定された統合サービス名が無効です。ワイルドカードを使用するか、
次のいずれかの有効な統合サービス名を指定してください: ‘Time Synchronization’、’Heartbeat’、’Key-Value Pair Exchange’、’
Shutdown’、’VSS’、または ‘Guest Service Interface’。
発生場所 E:\tmp\Convert-VMGeneration.ps1:2001 文字:16
+                Enable-VMIntegrationService -Name $IC.Name -VM $NewVM
+                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (:) [Enable-VMIntegrationService]、VirtualizationInvalidArgumentExceptio
n
+ FullyQualifiedErrorId : InvalidParameter,Microsoft.HyperV.PowerShell.Commands.EnableVMIntegrationServiceCommand

Enable-VMIntegrationService : パラメーターが無効です。指定された統合サービス名が無効です。ワイルドカードを使用するか、
次のいずれかの有効な統合サービス名を指定してください: ‘Time Synchronization’、’Heartbeat’、’Key-Value Pair Exchange’、’
Shutdown’、’VSS’、または ‘Guest Service Interface’。
発生場所 E:\tmp\Convert-VMGeneration.ps1:2001 文字:16
+                Enable-VMIntegrationService -Name $IC.Name -VM $NewVM
+                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (:) [Enable-VMIntegrationService]、VirtualizationInvalidArgumentExceptio
n
+ FullyQualifiedErrorId : InvalidParameter,Microsoft.HyperV.PowerShell.Commands.EnableVMIntegrationServiceCommand

Enable-VMIntegrationService : パラメーターが無効です。指定された統合サービス名が無効です。ワイルドカードを使用するか、
次のいずれかの有効な統合サービス名を指定してください: ‘Time Synchronization’、’Heartbeat’、’Key-Value Pair Exchange’、’
Shutdown’、’VSS’、または ‘Guest Service Interface’。
発生場所 E:\tmp\Convert-VMGeneration.ps1:2001 文字:16
+                Enable-VMIntegrationService -Name $IC.Name -VM $NewVM
+                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (:) [Enable-VMIntegrationService]、VirtualizationInvalidArgumentExceptio
n
+ FullyQualifiedErrorId : InvalidParameter,Microsoft.HyperV.PowerShell.Commands.EnableVMIntegrationServiceCommand

Enable-VMIntegrationService : パラメーターが無効です。指定された統合サービス名が無効です。ワイルドカードを使用するか、
次のいずれかの有効な統合サービス名を指定してください: ‘Time Synchronization’、’Heartbeat’、’Key-Value Pair Exchange’、’
Shutdown’、’VSS’、または ‘Guest Service Interface’。
発生場所 E:\tmp\Convert-VMGeneration.ps1:2001 文字:16
+                Enable-VMIntegrationService -Name $IC.Name -VM $NewVM
+                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (:) [Enable-VMIntegrationService]、VirtualizationInvalidArgumentExceptio
n
+ FullyQualifiedErrorId : InvalidParameter,Microsoft.HyperV.PowerShell.Commands.EnableVMIntegrationServiceCommand

Disable-VMIntegrationService : パラメーターが無効です。指定された統合サービス名が無効です。ワイルドカードを使用するか、
次のいずれかの有効な統合サービス名を指定してください: ‘Time Synchronization’、’Heartbeat’、’Key-Value Pair Exchange’、’
Shutdown’、’VSS’、または ‘Guest Service Interface’。
発生場所 E:\tmp\Convert-VMGeneration.ps1:2005 文字:16
+                Disable-VMIntegrationService -Name $IC.Name -VM $NewVM
+                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (:) [Disable-VMIntegrationService]、VirtualizationInvalidArgumentExcepti
on
+ FullyQualifiedErrorId : InvalidParameter,Microsoft.HyperV.PowerShell.Commands.DisableVMIntegrationServiceCommand

INFO:     – Start/stop actions…
INFO:     – Networking…
INFO:     – Boot order…

SUMMARY:
· Virtual machine ‘Windows 8(Gen2)’ was created.
· Boot disk is ‘D:\VHD\Windows 8(Gen2)\Windows 8 (Generation 2).vhdx’.
· Configuration was cloned from VM ‘Windows 8’.

警告: Completed with 1 warning. Trace status code 1597

6.変換された仮想マシンを起動します。

広告