Have you ever created a Hyper-V virtual machine and later needed to change the size of the disk on the VM? When you initially create a virtual machine you provide a size for the virtual hard disk (as shown below).
It’s pretty straight forward to expand the size of this virtual disk but if you need to shrink the disk size there’s a few extra steps to make the change.
Here’s the simple steps for expanding a virtual disk:
To expand a disk you can go into the Settings of your virtual machine when it is attached to you Hyper-V Manager.
By clicking Edit on the Hard Disk you can select Expand and then provide the size that you would like to expand the virtual disk.
You’ll notice here there is no shrink option. Compact is not going to do the job because if you read the description it tells you that the storage capacity is not impacted by compacting it. So let’s focus on how shrink our disk.
Shrink the Disk Volume on the Virtual Machine
- Connect and login to your virtual machine operating system.
- Launch the Disk Management utility by doing a Run diskmgmt.msc.
- Right-click on the volume you wish to shrink and select Shrink Volume.
- Carefully fill out the property called Enter the amount of space to shrink in MB. I say carefully because it is easy to assume that this number is what you want to new disk size to be, but in reality this is the size to reduce your disk by.
- Every time I tried this I got an error on the first try. If this happens to you try to shrink it a again and it will likely work.
- Notice below I now have roughly 20 GB unallocated.
- With this change done you can now shut down the virtual machine.
- In the Hyper-V Manager right-click on the virtual machine and select Settings.
- Find your virtual hard disk and select Edit.
- Now that we’ve created the extra disk space on the volume inside the virtual machine you can select Shrink here. If you look back to the third screenshot of this blog you’ll notice the Shrink option was not available. It took us first reducing the volume of the disk inside the VM to make this appear. Select Shrink then click Next.
- Provide the new desired disk (notice the minimum). Then click Finish
- You can verify the disk size change by click Inspect.
I needed to personally do this because I was migrating many of my VMs to Azure. Unfortunately Azure will only let you use OS disk that is128 GB or less so this helped me change my disk size to something Azure could handle. Here’s my post on Using a Hyper-V VHD in an Azure VM.