I do a lot of software development and testing and commonly use a Windows virtual machine to work natively in Windows.

Usually I use bridged networking samba to transfer files between my Ubuntu Desktop and my XP virtual machine. The problem is that often I have a LARGE amount of development data to transfer and the speed stinks!

Vmware server comes with a little utility to mount the VMware virtual file systems called vmware-mount.pl. This utility works pretty well but mounts all NTFS partitions as Read Only!

Outlined below is a process to mount .vmdk files Read/Write.

  • vmware-loop
  • nbd module
  • ntfs-3g

Vmware-loop is provided by the free vmware server. Instructions for installing can be found HERE.
The nbd (Network Block Device) module should be provided already by Ubuntu.
Ntfs-3g can be installed using:
sudo apt-get install ntfs-config
Making It Work
1) Step one is to load the nbd module
sudo modprobe nbd
2) Next we use vmware-loop, the "Virtual Hard Disk to Network Block Device mapper". This is done using vmware-loop /path/to/VirtualDisk Partition# Device. For example:
sudo vmware-loop /home/MrFSL/VirtualDisk.vmdk 1 /dev/nbd0
3) Finally we open a new terminal and mount in the usual way:
sudo mount -t ntfs-3g /dev/nbd0 /mnt/
If you are having permission issues you might want to adjust permissions on the mount point or device:
sudo chmod 777 /mnt
sudo chmod 777 /dev/nbd0
When you are done unmount with a simple:
sudo umount /dev/nbd0
Hope this helps someone. I apologize if this has already been posted. I couldn't find it anywhere.