VMware Communities
RickCAZ
Contributor
Contributor

Reducing free space

Apparently in Fusion one can't reduce free space once it is allocated.  I discovered that after I extended it.  Is there any work around?  I'd like to reclaim some of that space for my Mac.

3 Replies
wila
Immortal
Immortal

Hi,

It is very easy to reclaim space. But ...

You have to shutdown your VM.

Then go to menu "Virtual Machine" -> Settings -> General -> Cleanup Virtual machine.

This works better/faster if your disk is split.

It works when you have a snapshot, but if you want to reclaim most space then it is best to commit your snapshot before running the cleanup.

There's also ways to reclaim space when you can't shutdown, but usually it isn't a problem to shut down.

PS: Please note that it only can reclaim disk space for a partition that is supported on reclaim, such as NTFS, FAT and ext2.

--

Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva
0 Kudos
RickCAZ
Contributor
Contributor

I think I misspoke.  When I set up my VM (Win10) I let Fusion set up with default settings.  The HD was allocated to be 60 GB NTFS partition with 450 MB recovery partition.  Recently I extended the virtual disk by another 60 GB for something I was going to so in Win10.  I am no longer going to do that.  So I have 60 GB unallocated space within the virtual disk.  I would like to reclaim that 60 GB and return it to my Mac (Mac OS extended, journaled and encrypted).  The Fusion help says that isn't possible, that once a virtual disk is extended it can't be reduced in size.  I am looking for a work around so I can shrink the virtual disk and return the space to my Mac. 

0 Kudos
wila
Immortal
Immortal

Hi,

Ok, it helps that you are explaining the specifics.

First off though, if you did stick to the defaults when you resize a VM disk to something bigger, it won't actually use that space at the host.

The default for a virtual disk is to:

- not pre-allocate the disk space

- be split in multiple files

Both are very sensible defaults and hardly ever worthwhile of changing. In fact usually people end up hurting them self by changing these defaults.

Let's explain what it does.

To not pre-allocate the disk space means that the disk space at the host is only used when the virtual machine starts using it. So if you have a 120GB disk, but your guest is only using 45GB out of that disk then at your macOS you only see about 45GB used (a bit more due to overheads) not 120GB.

There's some factors that muddy the water a bit, like when you make a snapshot, no more changes are made to the base disk and all changes are written to a new disk. In theory with 1 snapshot your disk could now use up to 90GB even with only 45GB used in the guest during the life of that snapshot.

There's also a memory disk backing file that mirrors the RAM size you have set to a disk file, so 8GB of RAM means that the disk backing file is 8GB in size.

The story is a bit longer here, but that's the gist of it.

You also want your disk file to be split as then disk operations such as shrink (reclaim the zero's) and snapshots are much more performant and pose less risk on disk corruption when things go wrong.

With all of that out of the way, the documentation is correct, you cannot undo your disk size increase from within the Fusion GUI.

There are some ways around that, but the easiest way to do so would be to use the free VMware Converter and create a new VM.

One of the steps is setting the target VM disk size.

I don't know if this will affect Windows activation or if it does not.

--

Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva