I had to increase the space allocated to a customer's WSUS server VM that had run out of capacity and was keeling over. So I powered off the VM, added the extra capacity to the virtual hard disk, powered it back on, and went into Disk Management to extend the C: drive partition. However, I discovered that because the Windows Recovery Partition was in between the C: partition and the new unallocated space (similar to the image below which I've copied from Woshub.com), I was unable to do an "Extend Volume" job.
Disable existing recovery partition:
You will need to disable the existing Windows recovery partition.
To do this, run this command from an admin command line/PowerShell: reagentc /disable
If you get the error message "REAGENTC.EXE: Operation failed: 70" then you may need to increase space on your C: drive.
This is because the disable command moves the recovery partition into a file named Winre.wim and puts it in C:\Windows\System32\Recovery.
Delete the existing recovery partition:
Now run diskpart...
Use "list disk" to see disks in use and whether they are GPT or MBR
Use "select disk 0" to select the disk you want (using disk 0 in this example, may be different on your system)
Use "list partition" to list the partitions on the disk you selected
Use "select partition 4" to select the recovery partition (number 4 in this example, may be different on your system)
Use "delete partition override" once you're sure you've selected the recovery partition - be carefull!!
Extend your partition into the new, accessible unallocated space:
Open up disk management and you should see that the recovery partition is gone and you are free to extend your Windows partition.
When you do so, leave an amount of at least 1024 MB unused (I went for 2048 MB) which you will use for the new recovery partition.
Create the new recovery partition:
Then create a new "simple volume" using that unused space. Format it but do not give it a drive letter.
Back in diskpart, use "list partition" to see the new recovery partition.
Select the new partition
On GPT disks you will need to change the partition ID to de94bba4-06d1-4d40-a16a-bfd50179d6ac which tells Windows that this is a recovery partition
To do this, run this command: set id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
You will also need to hide the drive and flag it as a required partition to do that we have to set a GPT attribute to 0x8000000000000001
To do this, run this command: gpt attributes=0x8000000000000001
On MBR disks you will need to change partition ID to 27 which will tell Windows that this is a recovery partition.
To do this, run this command: set id=27
Exit diskpart
Enable the new recovery partition:
Now you can re-enable the recovery partition.
To do this, run this command: reagentc /enable
This will move the Winre.wim file from C:\Windows\System32\Recovery into your new recovery partition.
Comments