在客戶中心的服務詳情頁把 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 的輸出,我們會從我們這邊協助檢查硬碟。