Increase the size of a virtual disk in VMWare Fusion
January 12th, 2009
I’ve recently ran into a problem with my VMWare Fusion virtual machine: our favourite operating system, Windows XP Professional had outgrown it’s space. I use it for testing the HTML and CSS in different browsers, like (our favourite
) Explorer 6 and 7, Opera, Firefox, etc., but sometimes I also must provide some help to my friends and family, who stucked on Windows, with other applications. That’s why 6 gigabytes isn’t just enough.
I think it should be a common problem, but the solution is not so simple. VMWare doesn’t provide an option for extending the disk’s size in the virtual disk’s settings. (In addition you have to read three help support pages on VMWare’s site.) Maybe they’re afraid of dataloss. That’s not gratuitous, partitioning and formatting never was a safe procedure, so I also recommend a backup, and do this only on your own responsibility. Important: do not try to use this if you are using your Boot Camp partition inside WMVare Fusion.
Our first step is to locate the virtual disk files. If you did not move the virtual disk files, it should be in your Documents, inside the Virtual Machines folder.
home/username/Documents/Virtual Machines
If you don’t know where the files are, you have to run a search in the Terminal. Run the Terminal and type in this:
find / -name "*.vmdk"
Don’t bother with the “Permission denied” rows, in the results you will find the vmdk inside a .vmwarevm package file, like Virtual Disk’s Name.vmx. You can always abort the search with Ctrl+Z. Now if we have the file, copy it’s location, we need it in the next step. (Simply highlight it and press Command+C). Also do not close the Terminal yet.
The second step is to resize the virtual disk’s partition with VMWare’s Terminal-only utility, vmware-vdiskmanager. It’s located inside the Application Support folder.
The command has three parts. The first is the app with it’s location, the second is an option and the new size of the disk, and the third part is the location of our virtual disk file (the .vmdk). In every part we have to put an escape character before each spaces to tell the Terminal that it’s a space and it belongs together. So here it is, my command looks like this (without linebreak):
/Library/Application\ Support/VMWare\ Fusion/vmware-diskmanager -x 10Gb /Volumes/Work/Virtual\ Machines/Windows\ XP\ Professional.vmwarevm/Windows\ XP\ Professional.vmdk
You should replace the 10Gb with whatever you want your disk need to. You can also specify the size in Kb and Mb. Of course you have to replace the third part too, with the location of the .vmdk file, you found in the second step.
After succesful execution, you get a “Disk expansion completed succesfully.” message.
Now we have our virtual disk resized. But what now? It depends on the guest operating system. Because it works like a real hard drive. The new free space is not partitioned and it’s unformatted. If you’re system can handle it, you can now add the new space to the existing partition.
I have Windows XP, so I need a third party software to merge them. I recommend Acronis Disk Director, but I don’t know any reliable free software for this (please tell me if you know one). VMWare also recommeds a few other software. With this software you’ll be able to merge the unpartitioned disk segment with the existing one (actually it’s resizing the existing).
Good luck!




February 4th, 2010 at 6:54 am
There is an easier way! You should download and try fatVM http://www.gudgud.com/fatvm
fatVM is a reliable, robust, and safe, 1-click solution for extending the C drive of your VMware Fusion or Workstation virtual disk that is becoming full.
* It provides a simple, intuitive, interface and a reliable process that hides the technical complexity of extending a virtual disk.
* It is robust because it can extend virtual disks having snapshots and clones.
* It is safe because it preserves your original disk, which remains available to you for when the need ever arises.
February 4th, 2010 at 9:57 pm
thx, i'll give it a try next time