What can run VHDX?

The Virtual Hard Disk v2 (VHDX) file format was introduced by Microsoft in Windows Server 2012 and Windows 8 as an upgrade and replacement for the older VHD file format [1]. VHDX provides enhanced features for running virtual machines and storing virtual hard disks compared to VHD.

Key features of the VHDX format include [2]:

  • Support for virtual hard disk storage capacity up to 64TB
  • Protection against data corruption during power failures
  • Virtual hard disk resizing to expand storage on demand
  • Optimized performance for random IO operations

The VHDX format was designed to overcome limitations of VHD such as max capacity of 2TB and lack of built-in corruption protection. Microsoft developed VHDX to meet the growing storage and performance demands of virtualization workloads.

VHDX File Format Specifications

The VHDX file format was introduced in Windows Server 2012 as an evolution of the older VHD format. It provides several technical improvements over VHD:

  • Supports virtual hard disk storage capacity of up to 64 TB, compared to 2 TB limit for VHD.
  • Leverages 4 KB logical sector virtual disk format compared to VHD’s 512 byte format, improving performance.
  • Uses checksums for data integrity and corruption protection.
  • Includes logging capability to track and merge changes from parent-child disk relationships.
  • Optimized for solid state drives with TRIM command support.

Some key specifications of the VHDX format include [MS-VHDX]:

  • Logical Sector Size: 4 KB
  • Virtual Disk Logical Block Size: 2 MB to 256 MB
  • Metadata Region: Located at end of file
  • File System: NTFS or ReFS

Overall, the VHDX file format provides significant advantages over VHD in terms of performance, scalability, and data resilience for modern virtualization workloads.

What is Required to Run VHDX

There are certain hardware, software, and licensing requirements to run VHDX virtual hard disk files:

Hardware Requirements

To run VHDX files, you will need a physical computer with sufficient RAM, processor, and storage space. The specific requirements will vary based on the number and specs of the virtual machines you wish to run. As a general guideline:

  • For basic VMs, you’ll want at least 4GB RAM on the host computer.
  • For more resource intensive VMs, 8GB RAM or higher is recommended.
  • A multi-core processor is required, with more cores recommended for heavier workloads.
  • SSD storage or high RPM HDD is ideal for optimal performance.

The physical computer must also have virtualization capabilities enabled in the BIOS.

Software Requirements

To run VHDX files, you need to have hypervisor software installed. The main options are:

  • Windows – Hyper-V is built into Windows 8 Pro and later.
  • Mac – You can use a hypervisor like Parallels Desktop.
  • Linux – Options include KVM, VirtualBox, or Xen.

You’ll also need the necessary drivers to mount and interact with the VHDX file system on the host OS.

Licensing Requirements

Running VHDX files may also come with licensing requirements depending on the situation:

  • The host OS may require a specific edition for virtualization features.
  • Guest OS licenses are required according to Microsoft’s or other vendor’s terms.
  • Third party hypervisors often require paid licenses for full functionality.

It’s important to ensure you have the proper licenses to remain compliant when working with VHDX files.

Running VHDX on Windows

Windows has native support for running VHDX virtual disk files beginning with Windows 8 and higher. This allows VHDX files to be natively mounted and used like regular drives on Windows 8, 8.1, 10 and 11 without any additional software.

For older Windows versions like Windows 7 and Vista, Microsoft provides downloadable support to enable VHDX mounting. This provides backwards compatibility so VHDX can still be used on those platforms. The Microsoft Virtual Hard Disk package needs to be installed to enable VHDX mounting on Windows 7 and Vista (TechTarget).

On Windows Server platforms, the Hyper-V role provides integrated VHDX support. Hyper-V can create, manage and run VHDX virtual drives. Windows Server versions as early as 2012 support working with VHDX files through Hyper-V manager (Nakivo).

Running VHDX on Mac

Running VHDX virtual hard disks on Mac requires the use of third party virtualization tools like Parallels Desktop (https://www.parallels.com/blogs/parallels-desktop-apple-silicon/) or VMware Fusion (https://www.vmware.com/products/fusion.html). This allows Mac users to run Windows and other x86-based operating systems virtually while accessing VHDX files.

Performance considerations need to be made when running VHDX disks on Mac hardware, especially on M1-based Macs which use the ARM architecture instead of x86. Running x86-based operating systems through emulation introduces overhead and reduces performance compared to running natively. Utilizing Parallels’ experimental ARM virtualization engine for Windows 10 on M1 Macs helps improve performance.

Since VHDX is proprietary to Microsoft, alternative disk formats like VMDK may provide better performance for virtualization on Mac. VMDK is used by VMware products and can be accessed directly without needing emulation or conversion. However, VHDX offers features like resilience to power failures that VMDK lacks. The choice depends on the specific use case and performance requirements.

Running VHDX on Linux

Native Linux support for VHDX is available through KVM virtualization. According to https://www.sevenlayers.com/index.php/212-linux-mount-vhd-vhdx, the libguestfs tools allow mounting and accessing VHDX files in Linux. However, to run VHDX with other virtualization platforms like VirtualBox requires converting to a compatible format using QEMU.

Performance of VHDX on Linux depends on the virtualization setup. Native KVM support provides efficient access without conversion. But for solutions like VirtualBox, the extra conversion step can add minimal overhead according to https://gist.github.com/allenyllee/0a4c02952bf695470860b27369bbb60d. Overall, VHDX is designed for performance no matter the platform, with the caveat that native solutions like KVM will see the best speed.

Using VHDX in The Cloud

VHDX has limited support in major cloud platforms like Microsoft Azure, Amazon AWS, and Google Cloud.

Microsoft Azure supports uploading and using VHD files but not VHDX files. Azure only supports the older VHD format for virtual machine disks (Source 1). To use a VHDX file in Azure, you would need to convert it to VHD first using Hyper-V Manager or PowerShell (Source 2).

Amazon AWS does not directly support uploading or using VHD or VHDX files. However, you can convert a VHDX to a VMware VMDK file and then import that into AWS as an EC2 instance (Source 3).

Google Cloud Platform does not natively support VHDX files. You would need to convert the VHDX to a supported format like RAW or VMDK before importing it into Google Cloud.

So in summary, cloud support for VHDX files is limited. Microsoft Azure only supports VHD, while AWS and Google Cloud require converting VHDX to another format first.

Migrating from VHD to VHDX

Transferring existing virtual hard drives from the older VHD format to the newer VHDX format is straightforward using built-in tools in Windows and Hyper-V.

To convert a VHD file to VHDX, you can use the Convert-VHD PowerShell cmdlet in Windows 10 and Windows Server 2016 or later. This allows you to convert while retaining all existing data and configurations. For example:

Convert-VHD -Path C:\VMs\Disk1.vhd -DestinationPath C:\VMs\Disk1.vhdx

The Hyper-V Manager also provides an easy GUI for converting VHD to VHDX. Simply edit the settings of your VM, locate the virtual hard drive you want to convert, select “Convert” and pick VHDX as the destination format (Source).

On Linux, you can use QEMU’s qemu-img convert command to convert VHD to VHDX while preserving all data. For Mac, tools like StarWind V2V Converter provide an easy way to migrate from VHD.

Overall, Microsoft provides good backwards compatibility for transferring from VHD to the newer VHDX format across Windows and Hyper-V with minimal effort required.

Alternatives to VHDX

There are some alternative virtual disk formats that can be used instead of VHDX:

VMDK

VMDK (Virtual Machine Disk) is a disk image format used by VMware virtualization products such as VMware Workstation and ESXi. Like VHDX, VMDK support features like snapshots, Unicode text, and 2TB+ file sizes. VMDK is a widely used format but it’s mainly confined to the VMware ecosystem.

RAW

RAW disk image format is an uncompressed and unstructured disk image format. It allocates the maximum amount of space required for a virtual disk upon creation. RAW format is supported by most virtualization solutions including QEMU/KVM, VirtualBox, and VMware. However, RAW images do not support handy features like snapshots or compression.

QCOW2

QCOW2 (QEMU Copy-On-Write version 2) is an advanced disk image format supported mainly by QEMU and KVM hypervisors. It provides useful features like snapshots, compression, encryption, and small file sizes. A downside is that QCOW2 has lower performance compared to RAW disk images.

Conclusion

In summary, VHDX is the newer virtual hard drive format introduced in Windows Server 2012 and Hyper-V 3.0. It comes with several advantages over the older VHD format, including support for larger storage capacities up to 64TB, protection against data corruption during power failures, and performance optimizations through alignment of the virtual hard drive with the underlying physical storage.

The key advantages of using the VHDX format include its improved scalability for large storage and performance enhancements. It also provides built-in resiliency against data corruption. As Hyper-V continues to gain enterprise adoption, VHDX is becoming the default standard for virtual hard drive files.

Looking ahead, as virtualization expands further into the cloud and enterprises continue to virtualize larger workloads, the VHDX format will likely see increased adoption. Its ability to support larger virtual disks makes it well-suited for virtualizing large applications and databases. Overall, VHDX addresses key limitations of VHD and is poised to become the de facto virtual hard drive format for Hyper-V and Windows Server virtualization.