Posted on February 12, 2014 · Posted in Hyper-V, Windows Server 2012

How to Convert VHD into VHDX

VHDX is a new format of virtual hard disks that appeared in Windows Server 2012. Disks in VHDX format have a number of advantages and today I will describe several methods of converting a disk from VHD into VHDX.

Advantage of VHDX format

To begin with, there are a few words about the advantages of the new format:

  • VHDX format allows to create disks up to 64TB whereas VHD can handle 2TB max.
  • VHDX supports working with 4KB sectors. It allows to store VHDX files on large disks (over 2TB) using Advance Format (breaking into physical 4 KB sectors).
  • VHDX uses logging. All changes in the metadata are written to the log before making changes in the metadata table. If a failure occurs while making changes to the table, the log keeps the unfinished transactions that allow to complete changes in the table and restore file integrity. It makes the VHDX format more fail tolerant and prevents possible data loss during power outages.
  • Custom metadata are supported. VHDX has a special user section where you can store data on the contents of the virtual disk, e.g. information on the installed OS and apps. User section allows to store any descriptive metadata.
  • VHDX format supports unmap operations and allows to free the unused space dynamically after removing data from the virtual disk. It allows to use disk space on a storage device more effectively.

If you want to get all these advantages, there is an opportunity to convert the existing virtual disks from VHD into VHDX. You can do it in the graphic snap-in Hyper-V Manager or in PowerShell console. But before you start, remember that:

  1. When converting, a new file of the same size as the source file is created, so you have to check if there is enough free space;
  2. A downtime is inevitable during convertation process. If the disk being converted is connected to a virtual machine, the machine has to be stopped.

How to Convert into VHDX Using Hyper-V Manager

Open the snap-in Hyper-V Manager and click Edit Disk option in the Actions list.

edit disk in hyper-v 2012 r2

The Edit VHD Wizard is run. Specify the path to the VHD to be converted. select vhd path

Check Convert.

convert vhd into vhdx with hyper-v

Then choose the right disk format. As you can see, disks can be converted from VHD into VHDX and vice versa. select new virtual disk format

Select the disk type — fixed-sized or dynamically expanding. selet disk type: fixed or dynamic

Enter the name and the path to the new VHDX.

new vhdx name and pathThen check the information you have specified and click Finish to start the conversion. The process can take some time depending on the disk type and data size. start convertation from vhd to vhdx

After that we get a new disk that can be mounted to a virtual machine and used. Meanwhile, the old disk is not removed. You have to do it manually.

How to Convert into VHDX Using PowerShell

To convert a disk in PowerShell, use the following command:

Convert-VHD -Path ″E:\Hyper-V\winsrv2012r2.vhd″ -VHDType Fixed -DestinationPath ″E:\Hyper-V\new_winsrv2012r2.vhdx″ -DeleteSource

This command creates a new fixed-sized disk in the VHDX format and the -DeleteSource key deletes the source file.

Convert VHD to VHDX with powershell

You can convert in both directions. The backward conversion is possible using the following command:

Convert-VHD -Path ″E:\Hyper-V\winsrv2012r2.vhdx″ -VHDType Fixed -DestinationPath ″E:\Hyper-V\new_win2012.vhd″ -DeleteSource

To sum it up, I remind you that you can place any OS in the VHDX file, but this file can only be mounted in Windows Server 2012 / Windows 8 or higher. The earlier OSs do not support VHDX.

Related Articles