VMWare Fusion Reclaim Free Space of OS X Guest: Difference between revisions

From Wurst-Wasser.net
Jump to navigation Jump to search
 
(4 intermediate revisions by the same user not shown)
Line 39: Line 39:
  sudo halt
  sudo halt
or
or
  diskutil secureErase freespace 0 /
  sudo diskutil secureErase freespace 0 /
  sudo shutdown -h now
  sudo shutdown -h now


2. Then shrink the sparse image:  
2. Then shrink the sparse image:  
  [ -d "/Library/Application Support/VMware\ Fusion" ] && alias vmware-vdiskmanager="/Library/Application Support/VMware Fusion/vmware-vdiskmanager" || alias vmware-vdiskmanager="/Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager";
  [ -d "/Library/Application Support/VMware\ Fusion" ] && alias vmware-vdiskmanager="/Library/Application Support/VMware Fusion/vmware-vdiskmanager" || alias vmware-vdiskmanager="/Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager"; vmware-diskmanager -k <path-to-disk-image-of-your-guest-os>
vmware-diskmanager -k <path-to-disk-image-of-your-guest-os>
or simply:
/Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager -k <path-to-disk-image-of-your-guest-os>
f.e.:
/Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager -k /Volumes/EsDeh/Documents/Virtual\ Machines/OS\ X\ 10.11.vmwarevm/Virtual\ Disk.vmdk


----
----

Latest revision as of 17:00, 14 November 2015

After installing OS X in a VMWare Fusion v6, I noticed that the disk images are continously growing. And VMWare Fusion won't let me reclaim the free space.

The Problem

As pointed out here and here, the OS X guest does not actually delete files, it just won't remember where the file is stored on the disk. So all the file's data is still stored on the disk. We need to permanently delete the file's data, and then the freed space can be reclaimed.

The Solution (more like a Workaround)

  • Startup your guest os
  • Log in as administrator
  • Get your root-device (the /):
Mac-OS-X-108-Mountain-Lion-VM:~ appleadmin$ mount
/dev/disk0s2 on / (hfs, local, journaled) 
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
.host:/VMware Shared Folders on /Volumes/VMware Shared Folders (vmhgfs)
Mac-OS-X-108-Mountain-Lion-VM:~ appleadmin$ 
  • Erase the free space:
Mac-OS-X-108-Mountain-Lion-VM:~ appleadmin$ sudo diskutil secureErase freespace 0 /dev/disk0s2
Started erase on disk0s2 Macintosh HD
Creating a temporary file
Securely erasing a file
Creating a secondary temporary file
Mounting disk
Finished erase on disk0s2 Macintosh HD
Mac-OS-X-108-Mountain-Lion-VM:~ appleadmin$

The Solution

Thanks to Marco, there is another way[1]:

sudo /Library/Application\ Support/VMware\ Tools/vmware-tools-cli disk shrinkonly

And one more method…

They claim[2] this might work:

1. Erase formerly used space on your guest OS' disk:

diskutil secureErase freespace 0 Macintosh\ HD
sudo halt

or

sudo diskutil secureErase freespace 0 /
sudo shutdown -h now

2. Then shrink the sparse image:

[ -d "/Library/Application Support/VMware\ Fusion" ] && alias vmware-vdiskmanager="/Library/Application Support/VMware Fusion/vmware-vdiskmanager" || alias vmware-vdiskmanager="/Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager"; vmware-diskmanager -k <path-to-disk-image-of-your-guest-os>

or simply:

/Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager -k <path-to-disk-image-of-your-guest-os>

f.e.:

/Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager -k /Volumes/EsDeh/Documents/Virtual\ Machines/OS\ X\ 10.11.vmwarevm/Virtual\ Disk.vmdk

Footnotes: