VHD (file format) explained

Virtual Hard Disk
Extensions:.vhd, .vhdx (Virtual Hard Disk v2)
Magic:
  • vhdxfile (VHDX)[1]
Owner:Connectix / Microsoft
Genre:Virtual machine disk image

VHD (Virtual Hard Disk) and its successor VHDX are file formats representing a virtual hard disk drive (HDD). They may contain what is found on a physical HDD, such as disk partitions and a file system, which in turn can contain files and folders. They are typically used as the hard disk of a virtual machine, are built into modern versions of Windows, and are the native file format for Microsoft's hypervisor (virtual machine system), Hyper-V.

The format was created by Connectix for their Virtual PC product, known as Microsoft Virtual PC since Microsoft acquired Connectix in 2003. VHDX was introduced in Windows 8/Windows Server 2012 to add features and flexibility missing in VHD that had become apparent over time.

Since June 2005, Microsoft has made the VHD and VHDX Image Format Specifications available to third parties under the Microsoft Open Specification Promise.[2]

Features

A Virtual Hard Disk allows multiple operating systems to reside on a single host machine. This method enables developers to test software on different operating systems without the cost or hassle of installing a second hard disk or partitioning a single hard disk into multiple volumes. The ability to directly modify a virtual machine's hard disk from a host server supports many applications, including:

VHDX was added in Hyper-V in Windows Server 2012 to add larger storage capacity, data corruption protection, and optimizations to prevent performance degradation on large-sector physical disks.[3]

Supported formats

VHDs are implemented as files that reside on the native host file system. The following types of VHD formats are supported by Microsoft Virtual PC and Virtual Server:

Advantages

Significant benefits result from the ability to boot a physical computer from a virtual hard drive:

Native VHD Boot

Native VHD Boot refers to the ability of a physical computer to mount and boot from an operating system contained within a VHD. Windows 7 Enterprise and Ultimate editions support this ability, both with and without a host operating system present. Windows Server 2008 R2 is also compatible with this feature.[4] [5] Later, both Windows 10 Home and Windows 10 Pro are support the VHD/VHDX Boot feature.

Limitations

The VHD format has a built-in limitation of just under 2 TiB (2048 GiB) for the size of any dynamic or differencing VHDs.[6] [7] [8] This is due to a sector offset table that only allows for the maximum of a 32-bit quantity. It is calculated by multiplying 232 by 512 bytes for each sector.

The formula in the VHD specification allows a maximum of sectors. About 127 GiB is also the limit for VHDs in Windows Virtual PC.[9] For fewer than sectors (about 31 GiB) the CHS-value in the VHD footer uses a minimum of and a maximum of heads with sectors per track. The CHS algorithm then determines . The specification does not discuss cases where the CHS value in the VHD footer does not match the (virtual) CHS geometry in the Master Boot Record of the disk image in the VHD. Microsoft Virtual Server (also Connectix derived) has this limitation using virtual IDE drivers but 2 TiB if virtual RAID or virtual SCSI drivers are used.

Software support

Virtual Hard Disk format was initially used only by Microsoft Virtual PC (and Microsoft Virtual Server). Later however, Microsoft used the VHD format[10] in Hyper-V, the hypervisor-based virtualization technology of Windows Server 2008. Microsoft also used the format in Complete PC Backup, a backup software component included with Windows Vista and Windows 7. In addition, Windows 7 and Windows Server 2008 R2 include support for creating, mounting, and booting from VHD files.[11]

The Vista (or later) drive manager GUI supports a subset of the functions in the diskpart command line tool.[12] VHDs known as vdisk in diskpart can be created, formatted, attached (mounted), detached (unmounted), merged (for differencing VHDs), and compacted (for VHDs on an NTFS host file system). Compacting is typically a two step procedure, first unused sectors in the VHD are filled with zeros, . The virtual machine additions in older VPC versions and the virtual machine integration features in Windows Virtual PC contain precompact ISO images for the first step in supported guest systems.[13]

Third-party products also use VHD file format. Oracle VirtualBox, part of Sun xVM line of Sun Microsystems supports VHD in versions 2 and later. In 2017 Red Gate Software and Windocks introduced VHD based support for SQL Server database cloning.[14] [15]

Offline modification

It is sometimes useful to modify a VHD file without booting an operating system. Hyper-V features offline VHD manipulation, providing administrators with the ability to securely access files within a VHD without having to instantiate a virtual machine. This provides administrators with granular access to VHDs and the ability to perform some management tasks offline.[16] The Windows Disk Management MMC plugin can directly mount a VHD file as a drive letter in Windows 7/Server 2008 and newer.

For situations where mounting a VHD within the operating system is undesirable, several programs enable software developers to inspect and modify VHD files, including .NET DiscUtils, WinImage, and R1soft Hyper-V VHD Explorer. 7-Zip supports extraction and inspection of VHD files.

Virtual Floppy Disk (VFD)

Virtual Floppy Disk (VFD) is a related file format used by Microsoft Virtual PC, Microsoft Automated Deployment Services and Microsoft Virtual Server 2005.[17] [18] A VFD that contains an image of a 720 KB low-density, 1.44 MB high-density or 1.68 MB DMF 3.5-inch floppy disk can be mounted by Virtual PC.[17] [19] [20] Other virtual machine software such as VMWare Workstation and VMware Player can mount raw floppy images in the same way.[21]

Windows Virtual PC for Windows 7 (version 6.1) does not offer a user interface for manipulating virtual floppy disks; however, it still supports physical and virtual floppy disks via scripting.[22] Under Hyper-V, VFD files are usable through the VM settings for Generation 1 virtual machines. Generation 2 virtual machines do not emulate a floppy controller and do not support floppy disk images.

Virtual Hard Disk (VHDX)

VHDX (Virtual Hard Disk v2) is the successor format to VHD. Where VHD has a capacity limit of 2040 GB, VHDX has a capacity limit of 64 TB. For disk images with this newer format the filename extension vhdx is used instead of vhd. VHDX protects against power failures and is used by Hyper-V.[23] VHDX format is optimized for both HDD and SSD.

See also

Notes and References

  1. Web site: https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-VHDX/[MS-VHDX.pdf Virtual Hard Disk v2 (VHDX) File Format]. 12 September 2018. 3 November 2018. Microsoft Corporation.
  2. Web site: Virtual Hard Disk Image Format Specification . . Microsoft Corporation . 27 February 2009 . https://web.archive.org/web/20120202144328/https://technet.microsoft.com/en-us/library/bb676673.aspx. 2012-02-02. 2018-12-02. dead.
  3. Web site: Hyper-V Virtual Hard Disk Format Overview. Microsoft TechNet. 25 October 2016 . Microsoft. 1 December 2016.
  4. Web site: Frequently Asked Questions: Virtual Hard Disks in Windows 7 and Windows Server 2008 R2 . 12 November 2010 . Microsoft corporation . Microsoft TechNet . 15 October 2010 .
  5. Web site: Walkthrough: Deploy a Virtual Hard Disk for Native Boot . Microsoft TechNet . Microsoft corporation . 8 July 2010 . 12 November 2010 .
  6. Web site: Requirements and Limits for Virtual Machines and Hyper-V in Windows Server 2008 R2 . 12 April 2010 . Microsoft Corporation . 2009 . Microsoft TechNet .
  7. Web site: About VHD . 12 April 2010 . Microsoft Corporation . 2009 . .
  8. Web site: Virtual Hard Disk (VHD) Architecture Explained . 13 April 2010 . Microsoft Corporation . Ranjana . Jain . Microsoft TechNet Blogs . 23 March 2010 .
  9. Web site: Disk2vhd v1.63 . . 2010 . 14 July 2011 .
  10. Web site: Vanover. Rick. The anatomy of a Hyper-V 2012 R2 VM: A breakdown of the key files. hyperv.veeam.com. Veeam Software. 5 March 2015.
  11. Web site: PDC Day 2 – Windows 7, Windows Live, Mesh and Office Online . MSDN Blogs . Microsoft Corporation . Chris . Koenig . 28 October 2008 . 17 December 2010 .
  12. Web site: DiskPart . 25 October 2010 . Microsoft Technet . Windows Server 2008 and Windows Server 2008 R2 . 15 July 2011 .
  13. Web site: Modify a virtual hard disk . 25 June 2009 . Microsoft Technet . Windows 7 Technical Library . 15 July 2011 .
  14. Web site: Red-Gate SQL Clone . Red Gate . March 2017.
  15. Web site: Windocks Now Supports Database Cloning for SQL Server . IT Pro Today . 18 April 2017.
  16. Web site: Windows Server 2008 Reviewers Guide . Microsoft . 4 February 2008 .
  17. Web site: How to create a floppy disk image in Virtual PC for Windows versions 4.0 to 5.2 . Microsoft Support . Microsoft Corporation . 26 June 2011 .
  18. Web site: Virtual floppy disk overview . ADS Administrator's Guide . Microsoft Corporation . 26 June 2011 .
  19. Web site: Creating virtual floppy disks in Virtual Server. TechNet Library . Microsoft Corporation . 26 June 2011 .
  20. Web site: Armstrong . Ben . Floppy disk image formats supported by Virtual PC and Virtual Server. Virtual PC Guy's Blog . Microsoft Corporation . 3 July 2011 . 5 January 2007 .
  21. Web site: Virtual Floppy Disks with VMware . Petri.co.il . 8 January 2009 . 10 December 2011 .
  22. Web site: Armstrong . Ben . Using Floppy Disks with Windows Virtual PC . Virtual PC Guy's Blog . Microsoft Corporation . 26 June 2011 . 1 October 2009 .
  23. Web site: Hyper-V Virtual Hard Disk Format Overview. 25 October 2016 .