How to shrink a Windows VM on VMWare Fusion for Mac

Here’s my procedure for shrinking a Windows virtual machine on VMWare Fusion for the Mac. I should give credit to “Mmc” who posted the original procedure back in March 2008, which continues to dominate in Google search results. That procedure is out of date, however, so I reckon it’s time for an update.

  1. Make a backup of the VM (just to be on the safe side).
  2. Remove any snapshots; you can’t reclaim disk space on a VM that has them.
  3. From within the Windows VM, clean up files and defrag the hard drive (Run Disk Cleanup, delete unused files, uninstall anything you don’t need, empty the recycle bin, delete the browser caches, etc., etc. Then defragment the hard-drive inside the Windows VM.)
  4. Zap the unused disk space
    – Download SDelete into the Windows VM. I like to put sdelete.exe directly in C: (root) on all my VMs so that I know it’s always there in that convenient spot when it’s time to compress the VM again.
    – In a command prompt, execute “sdelete -z c:” to zap all the free disk space on the C drive
  5. Shut down the Windows VM and quit VMWare Fusion.
  6. Go to Window > Virtual Machines Library, select the VM and then click the icon to Refresh Disk Space (as shown below)…
  7. Finally, go to Virtual Machines > Settings… > General and click the Clean Up Virtual Machine button to reclaim disk space (shown below)…