It has been a while since Microsoft introduced a new format for their virtual disk files - VHDX. Before that, a relatively simpler format, VHD, was widely used in different systems.
VHD was used in file servers, some iSCSI target servers, but most of all, of course, in Hyper-V servers. It was used and abused for different purposes also as a general container and even some backup systems supported backing it up as a whole and restoring individual items from its insides.
Note: there are two basic types of virtual disks: fixed and dynamically expanding. In this article, since we are talking production systems, only fixed-size disks are considered.
The main problem, though, was VHD-management. It was not so easy to create and manage VHD-files on Windows XP or Server 2003, unless you had MS iSCSI Target at hand. Windows 7 / Server 2008/R2 partially solved the problem by incorporating the management into WMI and also in GUI, thus providing creation and expansion possibilities from Powershell, Disk Management MMC and Diskpart.
But the main problem remained: if you wanted to create a virtual disk of a decent size, say hundreds of gigabytes and more, the process of creating those disks took just so much time even on fast hardware, let alone on slow machines or disks. The reason for this was a potential security risk of recovering old data on the newly allocated VHDs and the mitigation of this risk was by zeroing out the whole new disk-payload. See
Ben Armstrong's blog on this.