📖 What is a VMDK File?
A VMDK file is a virtual hard disk used by a VMware virtual machine. The name stands for Virtual Machine Disk, and it uses the .vmdk extension. It holds everything a virtual machine keeps on its disk, including the operating system, installed programs and all the user data, packaged as a single file on the host computer.
In practice a VMDK behaves like a physical hard drive, except it lives as a file rather than a piece of hardware. The virtual machine reads and writes to it the same way a real PC uses its C drive, which is what lets a whole computer run inside another one.
VMware created the format for its own products, but since 2011 it has been an open format, so other virtualization tools such as VirtualBox can use it too. That openness is why VMDK turns up well beyond VMware itself.
Key Characteristics
- A virtual hard disk, stored as a file
- Made by VMware, open format since 2011
- Fixed or growable, from megabytes to terabytes
- Also used by VirtualBox and other tools
What It Stores
- The guest operating system, Windows or Linux
- Installed applications, exactly as set up
- User data and files, the whole disk
- Partitions, the disk's structure
⚡ Quick Facts
| File Extension | .vmdk |
| Full Name | Virtual Machine Disk |
| Category | Virtual disk image |
| Developed By | VMware |
| Open Format Since | 2011 |
| Used By | VMware Workstation, Player, Fusion, ESXi, VirtualBox |
| Disk Types | Fixed (flat) or dynamic (sparse) |
| Maximum Size | Up to 62 TB since vSphere 5.5 |
| Predecessor | Early VMware used the .dsk extension |
| Related Files | .vmx, -flat.vmdk, .vhd, .vdi |
📦 The Descriptor and Data
A VMDK is not always a single file. How it is split depends on which VMware product made it, and knowing the pattern helps you spot which file is which.
On VMware Workstation, a virtual disk is usually one monolithic .vmdk file with the descriptor built in. On an ESXi server, the disk is split into two, a small descriptor file and a large data file that holds the raw contents.
disk.vmdk # small text descriptor, geometry and layout
disk-flat.vmdk # the large file with the raw disk data
# Snapshots add delta files:
disk-000001.vmdk # records changes since the snapshot
When a virtual machine has snapshots, VMware creates extra delta or redo-log files, named with a numbered suffix, that store changes made since the snapshot was taken. That is why one virtual disk can appear as several VMDK files in the folder.
📏 Thin vs Thick Provisioning
When a VMDK is created, VMware decides how it takes up space on the host in one of two ways. This is the reason behind the common question of why a virtual disk grows, or why it never seems to shrink.
Thin provisioned
The VMDK starts small and grows as data is written inside the guest, so it uses only the space it needs on the datastore. It saves room at first, but it does not shrink by itself when you delete files, since freed blocks stay claimed until they are zeroed out.
Thick provisioned
The VMDK is given its full size on the host the moment it is created, whether or not the space is used yet. It uses more room upfront but tends to give steadier performance, which suits busy servers.
💻 How to Open a VMDK File
A VMDK is meant to be used by a virtual machine, so the most complete way to open one is to run it in VMware. There are two clicks to it.
Open the VMX
In VMware Workstation or the free VMware Player, choose File and Open, then pick the .vmx file that sits beside the VMDK, not the VMDK itself.
Power on the VM
Start the virtual machine. VMware attaches the VMDK as the disk and boots the operating system stored inside it, just like a real PC.
Use it as a computer
Once the VM is running, everything on the VMDK is available inside it, the files, programs and settings, exactly as saved.
🔌 How to Mount a VMDK as a Drive
Sometimes you do not want to boot the whole machine, just to reach the files inside. VMware can mount a VMDK as an ordinary drive letter so you can browse it in Windows Explorer.
Map Virtual Disks
In VMware Workstation, go to File and Map Virtual Disks, then browse to the VMDK you want to reach.
Mount read-only
Tick the read-only option, which is recommended. It lets you copy files out without any risk of damaging a disk that belongs to a snapshot chain.
Browse and disconnect
The disk appears as a drive letter. Copy what you need, then disconnect the virtual disk when you are done.
🆓 How to Open a VMDK File without VMware
You do not always have VMware to hand. Because a VMDK is an open format that acts like a disk image, several other tools open, mount or extract one.
VirtualBox
Oracle's free VirtualBox imports a VMDK directly and can run it as a virtual machine, since it supports the format alongside its own VDI.
7-Zip or WinRAR
Archive tools can open a VMDK and pull individual files out of it, treating the virtual disk much like a compressed archive.
PowerISO or WinMount
These mount a VMDK as a drive letter in Windows without VMware, so you can browse, copy and edit the files inside.
Linux Reader
On Windows, tools like Linux Reader open a VMDK and read Linux file systems inside it, handy for pulling data out of a Linux VM.
⚔️ VMDK vs VHD and VDI
VMDK is one of three main virtual disk formats, each tied to a different virtualization platform. They do the same job in different ecosystems.
| Format | Platform | Made By | Snapshots | Best For |
|---|---|---|---|---|
| VMDK | VMware, VirtualBox | VMware | ✓ Yes | VMware virtual machines |
| VHD / VHDX | Hyper-V | Microsoft | ✓ Yes | Microsoft virtualization |
| VDI | VirtualBox | Oracle | ✓ Yes | VirtualBox virtual machines |
The practical rule is simple. VMDK is the VMware format, VHD and VHDX are Microsoft's for the Hyper-V hypervisor, and VDI is VirtualBox's own. VirtualBox is the flexible one, since it happily runs VMDK and VHD as well as VDI. Which disk format you meet usually tells you which hypervisor created the machine.
🔄 How to Convert a VMDK File
Moving a virtual machine to a different platform usually means converting its VMDK to another disk format. The common targets are VHDX for Hyper-V and VDI for VirtualBox.
Pick the target
Choose VHD or VHDX to move a disk to Microsoft Hyper-V, or VDI to keep it native to VirtualBox. OVF packages the whole VM for transport.
Use a converter
VirtualBox's command-line tool, VMware's own utilities and PowerShell can all convert a VMDK. Work on a copy so the original stays intact.
Attach and test
Attach the converted disk to a virtual machine on the new platform and boot it to check the operating system starts cleanly.
🔀 Related Files
A VMDK sits among the other files that make up a virtual machine, plus the rival disk formats you convert it to.
.vmx | The VMware configuration file that describes a virtual machine and points to its VMDK. You open this to start the VM. |
-flat.vmdk | The large data file holding the raw disk contents when a VMDK is split into descriptor and data. |
.vhd / .vhdx | Microsoft's virtual disk formats for Hyper-V, a common conversion target. |
.vdi | Oracle VirtualBox's own virtual disk format. |
.ovf / .ova | A package that bundles a whole virtual machine, disk and configuration, for moving between platforms. |
❓ Frequently Asked Questions
The complete way is to run it in VMware. In VMware Workstation or the free VMware Player, choose File and Open, pick the .vmx file that sits next to the VMDK, then power on the virtual machine. To just reach the files inside without booting, mount the VMDK as a drive, or open it in VirtualBox, 7-Zip or a mounting tool.
Use another tool that understands the format. VirtualBox imports a VMDK and can run it, 7-Zip and WinRAR extract files from it like an archive, and PowerISO or WinMount mount it as a drive letter in Windows. On Windows, Linux Reader can also read Linux file systems inside a VMDK. The format is open, so these all work.
A VMDK is the hard disk of a VMware virtual machine. It stores the guest operating system, installed applications and all the data, so the virtual machine can run as a self-contained computer inside your real one. It is used for running other operating systems, testing, servers and moving whole machines between hosts.
In VMware Workstation, go to File and Map Virtual Disks, browse to the VMDK, and tick the read-only option, which is recommended. The disk appears as a drive letter you can browse in Windows Explorer. Copy out what you need, then disconnect the virtual disk. The machine must be powered off and the disk must not be encrypted.
Yes. VirtualBox supports the VMDK format alongside its own VDI, so you can import a VMDK and either run it as a virtual machine or attach it to an existing one. This makes VirtualBox a common free way to open a VMDK without installing VMware, on Windows, Mac or Linux.
They are virtual disk formats for different platforms. VMDK is VMware's format, also read by VirtualBox, while VHD and its successor VHDX are Microsoft's formats for Hyper-V. Both store a full virtual disk and support snapshots. The main difference is which virtualization software they were built for, so moving between them usually means converting.
VMDK is VMware's virtual disk format and VDI is the native format of Oracle VirtualBox. VirtualBox can run both, but it manages VDI most fully. VMDK tends to perform well and supports incremental backups, while VDI is compact and portable. If a VM lives in VMware, it uses VMDK, and if it was made in VirtualBox, it usually uses VDI.
Common reasons are that its .vmx configuration file or -flat data file is missing, that the disk belongs to a snapshot chain and needs the other delta files, or that the disk is encrypted or corrupted. Keeping all the VM files together in one folder resolves most cases. A single VMDK moved away from its companions often will not open on its own.
When a VMDK is split into two, the small .vmdk is a text descriptor holding the disk's layout, and the -flat.vmdk is the large file holding the raw disk data. ESXi servers use this split. You need both files together, since the descriptor points to the flat file and neither is much use without the other.
Yes. VirtualBox's command-line tools, VMware's utilities and PowerShell can convert a VMDK to VHD or VHDX for Hyper-V, or to VDI for VirtualBox. Work on a copy, then attach the converted disk to a virtual machine on the new platform and boot it to check. To move a whole machine, export it as OVF or OVA instead.
In effect, its disk is. A VMDK holds everything a computer keeps on its hard drive, the operating system, programs and files, so when VMware attaches it to a virtual machine and powers it on, you get a working computer inside your own. The VMDK is the disk, and the .vmx file supplies the rest of the machine's configuration.
Most VMDK files are thin provisioned, so they grow as data is written inside the virtual machine. The catch is that they do not shrink on their own when you delete files, because the freed blocks stay marked as used until they are zeroed out. To reclaim space, zero the free blocks inside the guest, then compact the disk with a tool. VMware has no one-click shrink, and a disk can never be made smaller than the data it holds.
A thin-provisioned VMDK starts small and grows on demand, using only the space it currently needs, which saves room on the host. A thick-provisioned VMDK claims its full size the moment it is created, whether or not the space is used yet, which uses more room but tends to give steadier performance. Thin suits saving space, thick suits busy servers that need consistent speed.
📝 Summary
A VMDK file is the virtual hard disk of a VMware virtual machine, holding the guest operating system, applications and data in a single file with the .vmdk extension. Made by VMware and an open format since 2011, it is also read by VirtualBox, can be fixed or growable up to 62 TB, and may be split into a descriptor and a -flat data file. Open one by running it in VMware through its .vmx file, mount it as a drive to reach the files, or without VMware use VirtualBox, 7-Zip or a mounting tool. To move a VM elsewhere, convert the VMDK to VHDX or VDI, or export the whole machine as OVF.