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:

  1. The unallocated space isn’t directly after the volume. On many systems a Recovery partition sits between C: and the new space.
  2. The volume is FAT32 (can’t be extended in Disk Management) — NTFS is required.
  3. 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:

  1. Open Disk Management (or run Get-Disk — Size should show the new total).
  2. If a recovery partition sits after C:, handle it as above.
  3. 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.

  • Windows
  • Storage
  • Partitions