How to convert between VHD and VHDX formats in System Center 2012 Virtual Machine Manager

Applies to: System Center 2012 Virtual Machine Manager

Symptoms


Certain situations may necessitate converting VHD files to VHDX, or VHDX files to VHD. For example, a Virtual Machine Manager VMM template referencing a VHDX cannot be deployed to a Windows Server 2008 Hyper-V server, therefore this template will need to be recreated using a VHD file. 

Cause


Windows Server 2008 Hyper-V servers are not aware of the VHDX file format and System Center 2012 Virtual Machine Manager SP1 relies on the Hyper-V host to read the header of the file.

Resolution


Use one of the following methods to convert between formats:

1. Use the Hyper-V UI in Windows Server 2012, select to edit the VHDX or VHD file and choose to Convert to either VHD or VHDX.
2. Use the new Convert-VHD PowerShell cmdlet referenced here:

Convert-VHD: http://technet.microsoft.com/en-us/library/hh848454.aspx

NOTE VHD conversion must be done when the VM is shut down.

More Information


When you encounter this issue you may see one or more of the following:

- When you create a virtual machine template from a cloned hard disk for the Windows Server 2012 operating system and attempt to place it on a Windows Server 2008 R2 library server it fails with the error below:

Error (802)
The VirtualHardDisk file <name> is already in use by another VirtualHardDisk.


- During virtual machine creation from a Windows Server 2012 template, the host rating explanation shows the following status:

scvmm cannot locate an available physical instance of the equivalence group for the virtual disk with ID <name>

-----

For additional information on how to convert VHD files to the newer VHDX format please see the following:

Converting a VHD to a VHDX: http://blogs.msdn.com/b/virtual_pc_guy/archive/2012/10/02/converting-a-vhd-to-a-vhdx.aspx

Using PowerShell to Convert a VHD to a VHDX: http://blogs.msdn.com/b/virtual_pc_guy/archive/2012/10/03/using-powershell-to-convert-a-vhd-to-a-vhdx.aspx