Open a VMDK, VDI or VHD file on a Mac
A virtual machine keeps its whole disk inside a single file. You can open that file on a Mac and take things out of it without ever starting the machine.
What a disk image is
When you run a virtual machine, the machine's hard disk is a single ordinary file sitting on your Mac. Its operating system, its programs and every document in it are all inside that one file.
Each program writes that file its own way. VMware uses VMDK, VirtualBox uses VDI, Hyper-V uses VHD and VHDX, and QEMU and UTM use qcow2. A raw image, usually ending in .img, is a straight copy of a disk with nothing wrapped round it.
Why getting a file out is awkward
The usual route is to start the virtual machine, wait for it to boot, find the file inside it and copy it across. That means the machine still has to work, and the program that runs it still has to be installed.
Finder is no use here either. Double-clicking a VMDK does nothing, because macOS does not know what is inside it.
How Lukotta opens it
Lukotta reads the image directly. It works out what format the file is in, finds the disk inside, and opens it in the small Linux system it runs in the background. What is inside then appears in Finder as an ordinary disk.
The virtual machine stays switched off. VMware and VirtualBox do not need to be installed, and opening the file does not change it.
Which files Lukotta opens
- qcow2, from QEMU and UTM.
- VMDK, from VMware.
- VDI, from VirtualBox.
- VHD and VHDX, from Hyper-V.
- Raw images, usually ending in .img.
Opening one
- Choose File, then Open Disk Image, and pick the file.
- If the disk inside is encrypted, type the password or passphrase.
- The contents appear in Finder under Locations.
One file often holds several drives
A disk image usually contains more than one partition: a small boot partition, the main one holding everything, and sometimes a recovery partition. Lukotta lists them and you open whichever you need, the same way you would pick a drive.
Copying files into an image
qcow2 is written the ordinary way and is safe to write to.
VMDK, VDI and VHD can be written to, but that is recent work and has not been used long enough to trust with anything you cannot afford to lose. Copy the file and work on the copy, or open it read-only and take files out instead.
VHDX opens read-only, as does the kind of VMDK found inside an OVA file. That sort is written straight through in one pass and cannot be changed in place afterwards.
Files that will not open
An image only opens if it is complete on its own.
A VMware snapshot chain spreads the machine's current state across an original file and a series of smaller ones recording what changed after it. A split disk divides one image into many pieces. A Hyper-V differencing disk holds only the differences from another file.
In each case the file you have is part of a set, and Lukotta opens one file at a time.
Download Lukotta
It is free to download and use.
brew install --cask clementrahula/tap/lukotta
Version 1.22.21 · Apple Silicon · macOS 15 Sequoia or later