微軟更新伺服器win7,[技巧]繞過微軟限制:讓基於新處理器的Win7/8.1系統繼續接收更新...
轉載 於 2021-08-09 23:10:16 發布 · 431 閱讀
· 0
·
0
文章標籤:
#微軟更新伺服器win7
開發人員zeffy發現了解決Windows7更新失敗的問題。通過分析.msu安裝包,他定位到IsDeviceServiceable(void)和IsCPUSupported(void)是問題關鍵。提出了兩種解決方案:一是修改dll文件的特定值來跳過CPU檢查,二是啟用註冊表項ForceUnsupportedCPU。這兩種方法都有潛在風險,建議在非生產環境中謹慎操作並備份。
8d8b6062fb962f4.jpg
一位名叫 zeffy 的 Github 開發人員發現,還是有辦法去突破微軟的封鎖的。
zeffy 先是下載了出現問題的 .msu 安裝包(其系統對應的是 windows6.1-kb4012218-x64_590943c04550a47c1ed02d3a040d325456f03663.msu),然後將它解壓出來、整理二進位文件、並與系統上已安裝的進行對比。
在經過大量的調查工作之後,他終於找到了罪魁禍首,它們是 —— IsDeviceServiceable(void) 和 IsCPUSupported(void) 。有鑑於此,zeffy 給出了如下解決方案:① 給動態連結庫(dll)打補丁,將 0x26C948 的 dword_600002EE948 值(見此行)從 0x01 改為 0x00,以便 IsDeviceServiceable(void) 跳過整個實體,並立即回復 1(表明 CPU 可支持)。
—— 這是首要推薦的方法,但請注意只能在 Windows 7 x64 版本中使用。
② 給動態連結庫(dll)打補丁,清理 IsDeviceServiceable(void) 中所有高亮的指令(見此行),以啟用註冊表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Test\Scan 下的 ForceUnsupportedCPU(類型為 REG_DWORD)。
—— 如果沒有,就自建一個,將設定值從 0x00000001(強制不支持 CPU)改為 0x00000000,以變更默認行為。之後可能需要重啟計算機,以應用此更改。
—— 需要注意但是,此行為暫無明文可證,未來版本中可能會被移除。
最後,修改有風險,操作需謹慎。為防意外,請不要輕易在生產環境中嘗試;且在修改 dll 文件前,請務必做好充分的備份工作。
https://blog.csdn.net/weixin_29290863/article/details/119561624