What is the VHDX file format?
.vhdx is a virtual disk image format - the successor to the .VHD format - introduced with Windows 8 and Windows Server 2012.
A .vhdx file can be used to store all the data from a single hard disk drive, an operating system, or files and folders selected by the user. It can therefore be used as a physical hard disk device because it contains an exact copy of the files and data file structure of the original disk, packaged as a single file image.
The VHDX format offers some important advantages over its older .vhd counterpart. The biggest is the extended maximum capacity of 64 TB, compared to the roughly 2 TB limit of the older VHD format. The newer format offers improved virtualization performance on volumes with large logical sectors, due to optimization in the dynamic volume structure. Another important feature is the addition of a write-ordering log built into the file itself, which acts as a journal to prevent data loss and corruption on sudden power failure.
Differencing disk snapshots are stored as .AVHDX files and can be chained into a parent-child hierarchy. The file starts with the 8-byte ASCII signature vhdxfile at offset 0. On Windows, a .vhdx file can be mounted directly using Disk Management, Hyper-V, or the Mount-VHD PowerShell cmdlet.
Security & safety
RISK: MEDIUMA .vhdx is a disk image, not directly executable on the host - but it can contain a full bootable OS, so a downloaded VHDX may harbour malware inside the guest. Run untrusted VMs isolated. Mounting/attaching a VHDX exposes its filesystem to the host, so scan unknown images before opening files inside. VHDX images hold whatever sensitive data the guest had (credentials, personal files) - handle as confidential. They can be very large (and WSL2/Dev Drive VHDX files grow over time - use Optimize-VHD/diskpart compact to reclaim space).
Format details
in a nutshellPrograms that open VHDX files
Technical details
deep spec| Container structure | Four regions: File Identifier (1 MB), Log (variable), Metadata (1 MB), Data (variable); all regions are 1 MB-aligned |
| Maximum virtual disk size | 64 TB (67,108,864 MB) |
| Supported disk types | Fixed, Dynamically Expanding, and Differencing (parent-child snapshot) |
| File signature | 8-byte ASCII string "vhdxfile" at offset 0, followed by a 512-byte UTF-16LE creator string |
| Default data block size | 32 MB; configurable in powers of 2 from 1 MB to 256 MB |
| Supported logical sector sizes | 512 bytes (512n / 512e emulation) or 4,096 bytes (4Kn native) |
| Write-ordering log | Circular journal in the Log region protects metadata and data against corruption on unexpected power loss |
| Block Allocation Table (BAT) | Interleaves payload entries and sector-bitmap entries; tracks which blocks are allocated or zero-initialized |
| Differencing chain | Child .avhdx files reference a parent via a Parent Locator entry in the metadata region; chains can be merged offline |
| GUID tracking | Each disk carries a unique data GUID updated on every write, enabling snapshot-chain validation |
| Physical sector size | Stored in the metadata region; typically 512 bytes or 4,096 bytes to match the underlying host storage |
| MIME type | application/x-vhd (shared with the older VHD container by convention) |
| PowerShell management | New-VHD, Convert-VHD, Resize-VHD, Mount-VHD, Dismount-VHD cmdlets via the Hyper-V PowerShell module |
| Maximum payload block count | Up to 2^32 − 1 data blocks per disk, enabling 64 TB addressable space at the default 32 MB block size |
| Released | Windows 8 / Windows Server 2012 (2012); spec [MS-VHDX] |
| Open standard | Yes · royalty-free |
| Specification | learn.microsoft.com |
VHDX conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about VHDX files.