When extra storage is attached to a Windows Server VPS, it appears as an offline, unallocated disk. It needs to be brought online, initialised and formatted before you can use it. This takes a couple of minutes in Disk Management.
Before you start
- An RDP session as an administrator.
- The new disk attached to your VPS. If your existing C: drive was enlarged instead, follow extend a disk in Disk Management.
Danger: Initialising or formatting the wrong disk erases it. The new disk is the one marked Unknown / Not Initialized with Unallocated space.
Open Disk Management
Right-click Start → Disk Management, or press Win+R and run diskmgmt.msc.
Bring the disk online and initialise it
- If the new disk shows Offline, right-click its label on the left and choose Online.
- Right-click it again and choose Initialize Disk.
- Select GPT (GUID Partition Table) and click OK. GPT supports disks over 2 TB.
Create and format a volume
- Right-click the Unallocated area and choose New Simple Volume.
- Keep the maximum size, choose a drive letter (for example D:).
- File system NTFS, allocation unit Default, add a label such as
Data, tick Perform a quick format. - Click Finish. The drive appears in File Explorer.
Do it with PowerShell
Get-Disk | Where-Object PartitionStyle -eq "RAW"Initialize-Disk -Number 1 -PartitionStyle GPT
New-Partition -DiskNumber 1 -UseMaximumSize -DriveLetter D | Format-Volume -FileSystem NTFS -NewFileSystemLabel DataReplace 1 with the number the first command shows. More commands in PowerShell essentials.
Check afterwards
- The disk shows Online and the volume Healthy.
- Move data folders (backups, databases, uploads) to the new drive and update app paths.
Tip: Drive letter D: may be taken by a virtual CD-ROM. Change the CD drive to another letter first via right-click → Change Drive Letter and Paths.
Troubleshooting
- Disk not listed: choose Action → Rescan Disks, or restart the VPS.
- The disk is offline because of a policy: run
Set-Disk -Number 1 -IsOffline $false. - Disk read-only:
Set-Disk -Number 1 -IsReadOnly $false.
