很多人對 Windows 更新都不友善,畢竟每次看到 Windows 彈出更新通知,自然就會想到系統等下可能要重開機。雖說不是每條更新都如此,但遇到累積性更新或大版本更新的時候,這種情況自然免不了要重開。視個人狀況不同,往往是停擺現有工作或程式的一大行為,早期的 Windows 甚至都不提醒一下,立刻就進入關機狀態。如果微軟有新技術將讓 Windows 更新能減少一點頻率,想必是許多人都歡迎的。
根據外媒 Windows Central 報導,他們發現微軟正在開發版 Windows 11 上測試一個新功能,該功能被稱做「Virtualization Based Security」,或稱 VBS,該功能將開發版直接分成啟用與未啟用兩個情況,主要是會收到不同版本的更新,啟用該功能的會是收到 Build 26058.1400(KB5036080),沒啟用的是 Build 26058.1300(KB5036082)。前者跟後者基本上只有一點不同,那就是開啟 VBS 的一方,更新的過程可能不需要重開。
更新不重開機,也許以後能在 Windows 11 上實現
這樣更新不帶重開的技術又叫做「Hot patch」,或稱熱修補,繞過重新啟動電腦的階段,更新好了就直接有效,不用再利用重新啟動電腦來更新一遍記憶體。至於為什麼不用?是因為這些 Hot patch 熱修補在更新過程中,是直接修補正在運行的進程的記憶體中的程式碼。因此修改完立刻運作。而微軟在開發版上測試,也意味著微軟打算以後都用 Hot patch 技術來進行每月安全性更新,不過,這不意味著每次更新都不用重開,Hot patch 依然依賴著基礎更新,因此或許更新重開的頻率會拉長到幾個月,甚至可能一季一次。
理想的情況下,或許這樣一弄,每年只有一月、四月、七月和十月的安全性更新需要重新啟動,其他月份靠 Hot patch 撐過去。但 Hot patch 也非萬靈丹,碰到重大安全性更新、錯誤修復和功能更新等狀況或許還不能用 Hot patch 這招。
Hot patch 這個功能本身就是 Server 用的功能,Server 主機通常能不關機就不關機,更新方面自然得考慮到用戶需求,在不關機的狀態下更新。另一方面,遊戲機的 Xbox 也用了這個功能,替遊戲機更新系統與韌體。微軟在一般 PC 上用的系統選擇讓它每次更新就有很大機會進行重開,很可能是考量一般用戶對不關機沒有那麼嚴格的需求,甚至因為使用頻率而會在一週內數度關閉或啟動電腦。因此在更新上自然容易看到重開。
使用 Hot Patch 也有一些好處,像是更少的檔案,更快的安裝速度,節省 CPU 資源,減少暴露於安全性風險等等。而 Hot Patch 在伺服器上的主要需求是用在安全性更新上,其他類型的更新不見得需要 Hot Patch 這樣的快速與免重啟動特性。
提到 Hot Patch 就會有人想到同樣在 Server 領域有著很大影響力的 Linux 系統,該系統絕大多數在更新動作上幾乎不需要額外的重新啟動,不過與核心(Kernel)有關的版本更新多半逃不過重新啟動。
然而,在 Linux 系統中,很多時候更新 Kernel 被視為非必要的,其中除了有 Server 主機不可能重新啟動的觀念外,一般 Kernel 更新通常是加入安全性的補強,增加 CPU 效率,新檔案類型的相容性和硬體支援,這些對 Server 主機來說意義不大,除非是非常嚴重的安全更新,否則 Linux Servcr 幾乎不停機。
不過,近年來也有針對 Linux Kernel 進行 Hot Patch 的研究,但還有待發展,如果這項技術足夠穩定,那麼 Linux Server 只剩下硬體故障這個停機原因。
就技術來說,熱修補已經是微軟在自家伺服器系統上用過的東西,要用在 Windows 11 上倒也不算意外。只是微軟在更新上吃了不少虧,甚至讓一些用戶對更新頗為失望,進而懷疑微軟的系統品質。新技術或許對微軟的名聲沒什麼幫助,至於會不會在測試結束後收錄到下一版或更未來的 Windows 上,目前仍須觀望。