在客户中心的服务详情页把 JUSTG Windows VPS 升级到 SSD 更大的套餐,或服务器添加了新硬盘之后,Windows 并不会自动使用新空间:它会以磁盘末尾的“未分配”空间,或一块全新的未初始化硬盘出现。本文说明如何在 Windows Server 2016、2019、2022 上,用磁盘管理与 PowerShell 扩展 C 盘,遇到恢复分区挡住“扩展卷”时该怎么处理,以及如何初始化并格式化新的数据盘。
步骤 1:重新扫描磁盘并确认新容量
以管理员身份打开 PowerShell,刷新存储缓存,再列出所有硬盘及系统硬盘(磁盘 0)上的分区:
Update-HostStorageCache
Get-Disk | Select-Object Number, FriendlyName, PartitionStyle, OperationalStatus, @{n='SizeGB';e={[math]::Round($_.Size/1GB,1)}}
Get-Partition -DiskNumber 0 | Select-Object PartitionNumber, DriveLetter, Type, @{n='SizeGB';e={[math]::Round($_.Size/1GB,1)}}磁盘 0 应该已显示升级后的容量。若仍是旧容量,请从 Windows 或客户中心重启一次后再运行。图形界面中对应的操作是 diskmgmt.msc → 动作 → 重新扫描磁盘。
步骤 2:在磁盘管理中扩展 C 盘(图形界面)
在“磁盘管理”中对 C: 右键单击,选择扩展卷。向导会列出所有相邻的未分配空间,保留默认值并按完成即可。这项变更是在线进行,不需重启也不会中断服务。若“扩展卷”呈灰色,代表可用空间不在 C 盘正后方,请参考步骤 4。
步骤 3:用 PowerShell(Resize-Partition)扩展 C 盘
在 Server Core 或需要写成脚本时,可以让 Windows 返回 C 盘可达到的最大容量,再直接调整:
$max = (Get-PartitionSupportedSize -DriveLetter C).SizeMax
Resize-Partition -DriveLetter C -Size $max
Get-Volume -DriveLetter CGet-PartitionSupportedSize 会以字节返回最小与最大值。若 SizeMax 与目前容量相同,表示未分配空间没有紧邻 C 盘。
步骤 4:恢复分区挡住扩展时的处理方式
部分 Windows Server 安装会在 C 盘后方放一个约 500 MB 至 1 GB 的恢复分区。分区只能往紧邻的后方空间扩展,所以尾端的新容量就用不到。常见解法是先停用 Windows RE、删除该恢复分区、扩展 C 盘,再重新启用 Windows RE(之后会存放在 C:\Windows 内)。请依步骤 1 的结果确认分区编号,Type 为 Recovery 的就是它。示例使用分区 4:
reagentc /info
reagentc /disable
diskpart
DISKPART> list disk
DISKPART> select disk 0
DISKPART> list partition
DISKPART> select partition 4
DISKPART> delete partition override
DISKPART> exit
# Extend C: (Step 3), then re-enable WinRE
reagentc /enabledelete partition override 无法撤销。请确认选取的是磁盘 0 上的 Recovery 分区,而不是 C 盘或数据分区。步骤 5:初始化并格式化新的数据盘
新挂载的硬盘会显示为未初始化(RAW)。磁盘管理通常会自动弹出“初始化磁盘”窗口,选择 GPT,再对未分配区域右键单击选新建简单卷。PowerShell 的做法如下,请使用 RAW 硬盘显示的编号:
Get-Disk | Where-Object PartitionStyle -eq 'RAW'
# If the disk is offline or read-only
Set-Disk -Number 1 -IsOffline $false
Set-Disk -Number 1 -IsReadOnly $false
Initialize-Disk -Number 1 -PartitionStyle GPT
New-Partition -DiskNumber 1 -UseMaximumSize -DriveLetter E
Format-Volume -DriveLetter E -FileSystem NTFS -NewFileSystemLabel "Data" -Confirm:$false超过 2 TB 的硬盘一定要用 GPT,MBR 无法寻址更大的空间。示例使用 E 盘,是因为 D 盘常被虚拟光驱占用。
步骤 6:确认结果
Get-Volume | Where-Object DriveLetter | Format-Table DriveLetter, FileSystemLabel, FileSystem, @{n='SizeGB';e={[math]::Round($_.Size/1GB,1)}}, @{n='FreeGB';e={[math]::Round($_.SizeRemaining/1GB,1)}}C 盘应已显示完整容量,新硬盘也会带着标签与可用空间出现。之后可视需要把数据、数据库或网站文件移到新卷。
常见问题
扩展 C 盘需要关机吗?
不需要。NTFS 卷可以在 Windows 运行中直接扩展。只有在重新扫描后仍看不到新容量时,才需要重启。
JUSTG 独立服务器也能用同样方式升级硬盘吗?
独立服务器由 JUSTG 团队负责配置。如需更多存储空间,请提交工单给销售/咨询部门(Sales/Inquiries),由其处理定制配置。云 VPS 则可在服务详情页升级到 SSD 更大的套餐。
删除恢复分区安全吗?
远程管理的服务器很少用到 Windows RE,而且用 reagentc /enable 重新启用后,它会存放在 C 盘内。无论如何,调整分区前请先做好备份。
如果看不到新空间或扩展失败,请提交工单联系 JUSTG 技术支持,并附上步骤 1 的输出,我们会从我们这边协助检查硬盘。