跳到主要內容區塊

ntuccepaper2019

技術論壇

解決Win7無法更新(卡住)的問題
  • 卷期:v0041
  • 出版日期:2017-06-20

作者:傅潔瑩 / 臺灣大學計算機及資訊網路中心程式設計組資訊工程師


你的電腦多久沒有更新了?前些日子過年放長假回家一看,天啊,家中長輩使用的電腦超過半年沒有安裝更新,為避免因為沒更新衍生的災情(ex:中毒、綁架…)只好摸摸鼻子來做長工了。結果,一叫Win7更新,就繞了半天,甚麼東西都下載不回來,完全無法動彈。 最後做了多方嘗試終於更新成功,但是也花掉我超過24小時的工時,在這邊把各種修補的方式彙整如下,希望能夠幫有需要的人節省一點時間。

 

更新卡住的可能原因

1. 主要症狀:當你進入控制台,點選Windows Update後,畫面就一直維持如圖1,等到天荒地老都沒有改變…(這時你就應該有大事不妙的心理準備)

 


圖一 更新進度卡住

 

2. 併發症:請到工作管理員查看,會發現CPU間歇或持續有很高的負載(CPU使用率記錄呈現「很像心電圖模式」),此時應該可以發現是某一隻svchost.exe在作祟(可能會有三到四隻不等地svchost.exe正在跑,但是只會有一隻吃掉很多資源,如圖2)。 備註:綜合網路查詢的資料顯示,有些是同時CPU與記憶體被佔據大部分資源,有的是擇一佔走大部分資源)

 


圖二 資源被大量占用

 

針對這些症狀,微軟官方有提出說明原因,但是處理的先決條件是作業系統已經安裝過Win7 SP1。

 

幾種解決的方式

如果各位搜尋網路的文章,我幫大家彙整一下,會得到這樣的結論: 「安裝下列的Hotfix就可以解決問題」:
1. KB3087039
2. KB3102810
3. KB3172605

 

我自己的狀況是,安裝完這些之後,通通「沒有解決」!!原本卡住的照常卡住,最後還是要搭配「清空(或刪除)SoftwareDistribution」這個目錄之下的所有檔案,才控制這次的病情。

 

建議的處理方式(步驟)

依據這次自身的經驗,建議的做法如下:
1. 從工作管理員找到那隻吃掉最多資源的svchost.exe,點右鍵終止執行程序。
2. 停止windows update服務。
3. 清空C:\Windows\SoftwareDistribution之下的所有資料。
4. 安裝KB3087039、KB3102810、KB3172605這些更新。

 

1~3的處理方式,這邊有一篇文章介紹的滿詳細的,提供給大家參考。一定要停止Windows update服務,否則SoftwareDistribution之下的資料會被占用無法清除(如圖3)。

 


圖三 無法清空目錄

 

接下來就可以依序安裝第4項所提的那些更新。

 


圖四 安裝各項更新

 

安裝完一個更新後,保險起見我都還是不厭其煩重開機,再重複1~3,再安裝下一個更新。

 


圖五 依序安裝並重開機確認

 

待第4項中的三個更新都安裝完後,再清一次C:\Windows\SoftwareDistribution目錄下的所有資料,重開機,接著開始跑Windows Update。因為這次家裡電腦比較長時間沒有更新,所以執行後就不關機,讓它一整晚慢慢跑,第二天起床後就可以看到有更新項目可下載,並能進行後續的程序了。

結論

話說更新保平安(防毒也要記得安裝與更新…),希望這篇能夠幫助大家解決遇到的問題。