How to mount a .vmdk image in Linux with AFFUSE

Mounting a .vmdk file in Linux makes life so much easier for CLI lovers. Affuse solves all the issues you could run into.

Mounting #

Create a vmdk mountpoint and mount the VMDK #

sudo mkdir /mnt/vmdk
sudo affuse /path/to/image.vmdk /mnt/vmdk

Check that the image mounted correctly
#

It should return /mnt/vmdk/yourimagename.vmdk.raw.

sudo ls -la /mnt/vmdk

Check Partition Table #

Look at the partition table to identify the starting offset of the partition of interest:

sudo mmls /mnt/vmdk/yourimagename.vmdk.raw


In this example, the Windows VM has two partitions. The main “C:/” partition starts at offset 206848. To mount it, you will have to multiply the offset by 512. In this case, 206848*512 = 105906176.

Create a mount point for the Virtual Machine and mount it as a logical drive #

sudo mkdir /mnt/VM
sudo mount -o ro,loop,offset=105906176 /mnt/vmdk/yourimagename.vmdk.raw /mnt/VM

Verify the mountpoint #

ls -la /mnt/VM

Unmounting #

Unmount the Virtual Machine #

sudo umount /mnt/VM

Unmount the .vmdk image #

sudo fusermount -u /mnt/vmdk
Updated on 17th May 2023
Table of Contents