Skip to content
David Galiata
Go back

Resizing a Windows 11 Disk in VMware Fusion

Resizing a Windows 11 Disk in VMware Fusion

I keep a Windows 11 VM in VMware Fusion on my Mac for compatibility reasons. I gave it 80 GB when I built it, which felt generous at the time. Then Visual Studio showed up, then a couple of SDKs, then the usual pile of Windows updates that never seem to clean up after themselves, and I was down to under 3 GB free.

Growing the disk is two separate jobs. Fusion makes the virtual disk file bigger, which takes about thirty seconds, and then you have to tell Windows to spread the C: volume into the new space. That second job is where I’ve watched people give up, because the button they need is greyed out and Windows doesn’t say why.

Before you start

A few things to get out of the way.

Delete your snapshots. Fusion will not resize a disk that has snapshots attached, and the option is just disabled in the UI with no real explanation. Go to Snapshots > Snapshots, delete them all, and let the consolidation finish before you touch anything else.

Shut the VM down, not suspend. A suspended VM still has a memory state tied to the disk and Fusion treats it the same as running.

Your Mac needs room to grow into. If you’re going from 80 GB to 150 GB and the disk isn’t pre-allocated, you don’t need 150 GB free this second, but you will eventually, because Fusion grows the file on demand.

Then copy the VM bundle somewhere safe. It all lives in a single .vmwarevm package under ~/Virtual Machines.localized/. The resize itself is safe enough, but there’s partition surgery further down that can ruin your afternoon if you pick the wrong number.

Growing the virtual disk

With the VM shut down, open Settings > Hard Disk. There’s a size slider and a text field next to it. Set the new size, click Apply, and wait. Fusion will sit there for a minute or two on a larger disk.

If you’d rather do it from the terminal, or the slider is misbehaving, Fusion ships a CLI tool:

Terminal window
/Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager \
-x 150GB \
~/Virtual\ Machines.localized/Windows\ 11.vmwarevm/Virtual\ Disk.vmdk

The -x flag means expand, and the size is the new total, not the amount you’re adding. Point it at the top-level .vmdk, not any of the -s001.vmdk split files sitting next to it.

You can grow a virtual disk this way but you can’t shrink one. If you oversize it you’re looking at a clone-and-migrate, so pick a number you can live with.

Getting Windows to use it

Boot the VM. Right-click Start and open Disk Management (or run diskmgmt.msc). You’ll see your C: partition and a block of unallocated space to the right of it.

Right-click C:, choose Extend Volume, and you’re done. That’s the happy path and it works maybe half the time.

When Extend Volume is greyed out

Windows 11 puts the WinRE recovery partition at the end of the disk, after C:. Disk Management can only extend a volume into unallocated space that sits immediately next to it, and your new space is on the far side of that recovery partition, so the menu item is disabled and you get no explanation.

You have to remove the recovery partition, extend C:, then put recovery back.

Start by seeing what you’re dealing with:

Terminal window
reagentc /info

Note the Windows RE location in the output. Then disable it so Windows stops holding the partition open:

Terminal window
reagentc /disable

Now find and delete the partition. Run diskpart from an elevated prompt:

Terminal window
diskpart
list disk
select disk 0
list partition

The recovery partition shows as type Recovery, usually 500 MB to about 1 GB, and it’ll be the last one listed before your unallocated space. Select it by number and delete it:

Terminal window
select partition 4
delete partition override

The override flag is required. Without it diskpart refuses, because it’s a protected partition type.

Be careful with the partition number here. Deleting the wrong one, particularly the EFI system partition at the start of the disk, means you’re restoring that backup you made.

Now extend C: while you’re still in diskpart:

Terminal window
list volume
select volume 2
extend

With no size argument, extend takes all the contiguous free space. Exit diskpart and re-enable recovery:

Terminal window
reagentc /enable
reagentc /info

Windows rebuilds the WinRE partition at the end of the newly extended disk and reagentc /info should show it as Enabled with a fresh location. If it comes back disabled, the usual cause is that there’s no unallocated space left for it to land in. Leave about 1 GB unallocated when you extend, then re-run reagentc /enable.

You can’t do the delete half of this from the Disk Management GUI, by the way. The context menu item is disabled on protected partitions, which is the whole reason delete partition override exists. Since you’re in diskpart anyway, do the extend there too and skip the window switching.

The part I got wrong the first time

I did this on a VM where I’d been lazy about snapshots, and I grew the disk in Fusion without deleting them first. Fusion let me set the size and reported success. What it actually did was grow the base disk underneath the snapshot chain, so the running VM was still reading the snapshot delta and saw the old size. Disk Management showed nothing new. I spent twenty minutes convinced the resize had silently failed before I went back and looked at the snapshot list.


Share this post:

Previous Post
Building a Security Engineering Platform from Scratch
Next Post
My Approach to AI in 2026