Windows has three built-in ways to manage partitions: the graphical Disk Management console, the classic DiskPart command-line tool, and PowerShell storage cmdlets. All three can create, extend, shrink and format partitions without third-party software.
Back up first. Partition changes are usually safe, but a mistake on the wrong disk can destroy data.
Disk Management
Open it with Win + X → Disk Management, or diskmgmt.msc.
- Initialize a new disk: a new disk shows as Not Initialized — right-click → Initialize Disk → choose GPT (recommended) or MBR.
- New volume: right-click unallocated space → New Simple Volume → size, drive letter, file system (NTFS; ReFS on some Server editions).
- Extend: right-click a volume → Extend Volume (needs unallocated space directly to the right).
- Shrink: right-click → Shrink Volume; the maximum is limited by unmovable files.
“Extend Volume” is greyed out
This is the most common problem, especially after a VPS disk upgrade. Causes:
- The unallocated space isn’t directly after the volume. On many systems a Recovery partition sits between
C:and the new space. - The volume is FAT32 (can’t be extended in Disk Management) — NTFS is required.
- On MBR disks, the space is beyond the 2 TB limit.
Fixing the recovery partition in the way
Options:
- Move or delete the recovery partition. Disable WinRE first, delete the partition, extend
C:, then optionally recreate WinRE:
reagentc /disable
diskpart
list disk
select disk 0
list partition
select partition 4 :: the Recovery partition — check carefully!
delete partition override
exit
Extend C: in Disk Management, then reagentc /enable (Windows may need a new recovery partition or will keep WinRE on the system volume).
Only do this if you understand which partition is which. On a server, a backup is essential.
DiskPart equivalents
Run diskpart as administrator:
list disk
select disk 1
convert gpt :: empty disks only
create partition primary size=51200 :: 50 GB
format fs=ntfs label=Data quick
assign letter=D
:: Extend the selected volume into adjacent free space
list volume
select volume 2
extend
:: Shrink by 10 GB
shrink desired=10240
PowerShell equivalents
Get-Disk
Get-Partition -DiskNumber 0
# Initialize and create a data volume on a new disk
Initialize-Disk -Number 1 -PartitionStyle GPT
New-Partition -DiskNumber 1 -UseMaximumSize -DriveLetter D |
Format-Volume -FileSystem NTFS -NewFileSystemLabel Data
# Extend C: to the maximum available size
$max = (Get-PartitionSupportedSize -DriveLetter C).SizeMax
Resize-Partition -DriveLetter C -Size $max
Get-PartitionSupportedSize tells you the minimum and maximum sizes possible — useful before shrinking or extending.
After a VPS disk upgrade
When your VPS plan gets a larger disk, Windows sees the extra space as unallocated at the end of the disk:
- Open Disk Management (or run
Get-Disk— Size should show the new total). - If a recovery partition sits after
C:, handle it as above. - Extend
C:into the free space.
No reboot is needed to extend an NTFS volume.
Tips
- Use GPT for new disks; it supports large disks and more partitions. See GPT vs MBR explained.
- Keep the system drive comfortably sized — Windows Server needs at least 50 GB, more with updates, apps and logs.
- Separate data onto its own volume or disk where possible, so OS reinstalls don’t touch it.
- Clean up before resizing: Windows temporary files.
Linux user too? See partitioning with GParted. Our Windows VPS plans can be upgraded by ticket when you need more disk.