−25%

Windows 年繳方案適用,至 10 月 31 日。 檢視方案

EQVPS
開始使用

如何在 VPS 上更新 Windows Server:點哪裡、要多久、怎麼收回磁碟空間

透過設定、sconfig 或一支 PowerShell 指令碼安裝 Windows Server 2022 更新,安全地重新啟動,並清掉每次更新留下的好幾 GB。時間與磁碟數據都來自我們從 2022 年映像一路更新到 2026 年 10 月更新的伺服器。

Windows Server 2022 每月會收到一個大型累積更新,另外還有針對 .NET 和 Defender 的小更新。在我們的映像上,Windows 會替你下載,然後等你決定何時安裝,所以重新啟動永遠不會突然發生。反過來說:你不裝,就沒有人會裝。本文介紹三種安裝方式、重新啟動時會發生什麼,以及如何收回更新留下的磁碟空間。為了取得這些數字,我們把一台 Windows Server 2022 從 2022 年 3 月的初始版本,一步步更新到 2026 年 10 月的更新。

1. 查看目前的版本

開啟 PowerShell 並執行:

$v = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'
"{0}.{1}" -f $v.CurrentBuild, $v.UBR

第二個數字是更新層級。我們的伺服器從 2022 年 3 月的 20348.587 起步,全部更新後變成 20348.5761,也就是 2026 年 10 月的累積更新。現在向我們訂購的 Windows 伺服器也從這個版本開始:2026 年 10 月 25 日,我們正是依照這些步驟更新了映像。Get-HotFix 可以列出已安裝的內容:

Get-HotFix | Sort-Object InstalledOn | Select-Object -Last 5

2. 安裝更新

選你順手的方式。三種方式用的都是同一個 Windows Update。

設定。 Start → Settings → Update & Security → Windows Update → Check for updates,然後點 Install now。如果頁面提示部分設定由你的組織管理,那是我們的「僅下載」原則,並不會妨礙你安裝。

sconfig。 在 PowerShell 輸入 sconfig。選項 6) Install updates 會問要搜尋什麼:選 All quality updates,然後安裝。選項 5) Update setting 在我們的映像上顯示 Download only。也可以在這裡改成 Automatic,之後 Windows 會依自己的排程安裝並重新啟動。

同一個選單還有 Feature updates。除非你有較新 Windows Server 的授權,否則別碰它。sconfig 會警告:功能更新需要新的產品金鑰,並會停用你目前的版本。

PowerShell。 若要寫指令碼或排程工作,Windows Update 本身的 API 不需額外模組就能完成所有工作。我們執行的是這段:

$session  = New-Object -ComObject Microsoft.Update.Session
$result   = $session.CreateUpdateSearcher().Search("IsInstalled=0 and IsHidden=0 and Type='Software'")
$updates  = New-Object -ComObject Microsoft.Update.UpdateColl
foreach ($u in $result.Updates) { $u.AcceptEula(); [void]$updates.Add($u); $u.Title }
if ($updates.Count -gt 0) {
    $d = $session.CreateUpdateDownloader(); $d.Updates = $updates; [void]$d.Download()
    $i = $session.CreateUpdateInstaller();  $i.Updates = $updates
    $r = $i.Install(); "Result: $($r.ResultCode)  Restart needed: $($r.RebootRequired)"
} else { "Nothing to install" }

請在系統管理員身分的 PowerShell 中執行。結果代碼 2 代表成功;在已是最新狀態的伺服器上,它只會顯示 Nothing to install。

3. 重新啟動,並讓它完成

累積更新之後 Windows 需要重新啟動,有時會重新啟動兩次。我們看到的情況如下:

輪次安裝了什麼安裝時間重新啟動
12026 年 9 月累積更新、.NET 更新、Defender、惡意軟體移除工具22 分鐘2 分 51 秒,約一分鐘後 Windows 又自行重新啟動一次
22026 年 10 月累積更新、Defender17 分鐘約 2 分鐘,包含第二次自動重新啟動
3Defender 平台與定義33 秒無
4已沒有剩餘更新——

有兩件事要知道:

  • 第二次重新啟動是正常的。 我們重新連上大約一分鐘後,Windows 為了完成更新又自行重新啟動一次。如果遠端桌面工作階段在你剛登入就中斷,多半就是這個原因。等一分鐘再連線。
  • 畫面顯示「Working on updates」時不要強制關機。 從開始功能表或用 Restart-Computer 重新啟動,然後耐心等待。在替換系統檔案時強制斷電,是更新後 Windows 無法開機的常見原因。

接著再檢查一次。落後好幾個月的伺服器會分層收到更新:我們是在 9 月的更新裝好之後,才看到 10 月的更新。一直重複,直到搜尋不到任何更新為止。

4. 收回磁碟空間

更新會讓磁碟用量變大。Windows 會保留每個被替換的系統檔案的舊版本,讓你之後可以解除安裝更新。在我們 50 GB 的伺服器上:

階段已用空間
2022 年的原始映像12.6 GB
第一次累積更新期間20.8 GB
兩次累積更新之後24.5 GB
StartComponentCleanup 之後17.3 GB
/ResetBase 之後15.7 GB
清空更新下載快取之後14.6 GB

在系統管理員 PowerShell 中清理:

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Dism.exe /Online /Cleanup-Image /StartComponentCleanup

第一個指令顯示可以收回多少空間。第二個會刪除已被新更新取代的元件舊版本。在我們的伺服器上它執行了 14 分鐘,釋放 6.9 GB。加上 /ResetBase 又在約一分半內釋放 1.6 GB,但之後已安裝的更新就無法再解除安裝。在正在使用的伺服器上我們會略過這一步,留到真的缺空間時再用。

Windows Update 下載的檔案也可以刪掉。我們這裡占了 1.1 GB:

Stop-Service wuauserv
Remove-Item C:\Windows\SoftwareDistribution\Download\* -Recurse -Force
Start-Service wuauserv

想知道除了更新之外還有什麼在占用磁碟,可以看磁碟空間那篇文章,裡面有 Windows 和 Linux 的數據。

5. 養成習慣

微軟會在每月第二個星期二發布安全性更新。每月執行一次 sconfig 第 6 項或上面的指令碼,重新啟動後再檢查一次。大型更新之前,把重要的東西複製到伺服器以外的地方。如果還沒做,記得強化 RDP:更新能補上 Windows 的漏洞,但擋不住別人猜中弱密碼。

選哪個方案

更新需要空間。我們測試用的是 Windows-Small(4 vCPU、4 GB、50 GB,每月 $11),兩次累積更新後仍有超過 25 GB 可用。如果你打算安裝大型軟體,Windows-Medium 每月 $19,提供 60 GB。四個 Windows 方案都在 Windows VPS 頁面,付款方式為 Base、Ethereum 或 Polygon 網路上的 USDT、USDC 或 ETH。

常見問題

Windows Server 會自動安裝更新嗎?

在我們的映像上,它會自動下載,但會等你來安裝。更新原則是「僅下載」,所以伺服器絕不會在沒有預告的情況下重新啟動。這也表示安裝要靠你自己。在微軟每月第二個星期二發布之後,每月安裝一次是不錯的節奏。

更新 Windows Server 要多久?

一個每月累積更新在我們 4 vCPU 的伺服器上安裝花了 17 分鐘,另外約兩分鐘重新啟動。落後好幾年的伺服器需要好幾輪:我們的伺服器跑了四輪,總共約一小時。

畫面顯示「Working on updates」時可以關機嗎?

不要。這個畫面代表 Windows 正在替換系統檔案,中途強制關機可能讓它無法開機。請等它完成。在我們的伺服器上,最久的一次重新啟動也不到三分鐘。

sconfig 提示有功能更新,要裝嗎?

只有在你擁有較新版本 Windows Server 授權時才裝。sconfig 自己會警告:功能更新需要新的產品金鑰,並會停用舊版本。安全性修正只需要品質更新。

為什麼更新後磁碟滿了?

Windows 會保留它替換的每個系統檔案的舊版本。在我們的伺服器上,兩次累積更新後已用空間從 12.6 GB 增加到 24.5 GB。以 DISM 清理元件並清空下載快取後,又回到 14.6 GB。

評論

目前還沒有評論。歡迎成為第一位。

發表評論

評論在顯示前會經過審核。