If you have a Macintosh or Linux based image; the tooling to shrink the hard drives is basically broken in the Gui (and/or, don't work). So to shrink these types of containers; the easiest method is to force the entire empty area to be Zero's, then defragment, and finally shrink all ..
First thing we need to do is Zero all blocks that are no longer used. Please note this will make your container grow to the maximum size your container is allowed to grow; so you might need a lot of disk space!
cat /dev/zero > zerofile; rm zerofile
Next you need to shutdown the client, so on linux it might be shutdown now -h
or clicking a couple buttons to shutdown cleanly. After the VM has been shutdown you need to run the following commands from the command line.
vmware-vdiskmanager -d <diskimage.vmdk>
This command will defragment the image; moving all the data to the front of the image and all the empty blocks to the end. You obviously need to point the <diskimage.vmdk>
at wherever the vmdk you are working with is located, and if the vmware-vdiskmanager
is not on your path; you will have to manually call it from wherever it resides. Finally you need to call
vmware-vdiskmanager -k <diskimage.vmdk>
As this will shrink the image; and if you are lucky, your 280 gig image will shrink to 80 gigs.