開完機變很慢 – svchost.exe 在搞鬼(因為在忙Windwos Update)
開完機變很慢 -> svchost.exe 在搞鬼
每個人都有類似的經驗,就是電腦剛買或重灌完還蠻快的,但用了一段時間,好像越來越慢,雖然說重灌治百病,
但是很多軟體也要重裝、資料還要備份其實還蠻累的。電腦用久變慢是一定的,但導致變慢的原因實在很多,
而且還會因人而異,所以不可能有無敵大絕招改善類似的狀況,也不會有通用的辦法解決所有的問題。
不過一般而言,電腦用久了會變慢大多是因為曾經安裝過什麼軟體反安裝後會留下渣渣、上網下載或被植入有的沒的(包括軟體、木馬和病毒),
這類症狀都可以透過防毒或防廣告軟體、一些免費工具花時間掃瞄減輕病情,更進階一點的也可以手動用 regedit 來「治病」。
不過最怕的不是這類「外來」的威脅,而是那些「內在」的隱憂,這些內在隱憂是來自 M$ Windows 設計上的問題,
你怎麼掃毒、防廣告都沒有用,最後真的只有重灌一途。
觀察發病時的症狀是在工作管理員裡有一隻 svchost.exe 佔用了大部分系統資源,也不知道它在幹嘛,如果把這個程序砍掉系統就正常了,但是音效卡、網路部分服務就可能會不能用(因為 svchost 是系統的一個程序,有些會掌管系統的週邊服務),
原來是 Windows Update 搞的鬼(該服務會綁在 svchost.exe 上面,而且,只要微軟發佈更新、Windows Update 跑起來才會變慢,難怪症狀是不定期發作)!
但是為了 Windows 好,Automatic Updates 的服務又不能整個關掉,那該怎麼辦呢?還好 Jas9 文章裡有提到解決辦法,
而作者的電腦服用後狀況也解除了(至少解決至今一段時間,都沒有發作過),所以這裡也再筆記整理一次,分享給同樣為此所苦的朋友。
(並不是每個人電腦都會有一樣的症狀)
步驟一:檢查本機服務
打開並檢查本機的服務(開始->執行->services.msc),檢查 Automatic Updates 和 Background Intelligent Transfer Service (BITS) 這兩個服務,
右鍵->內容並切換到登入的分頁標籤,確認目前登入身分為「本機系統帳戶」,而且底下的「允許服務與桌面互動」是不勾選的狀態,最後再確認這兩項服務已被啟用。
步驟二:修復 Windwos Update 執行元件
打開一個 DOS 視窗(開始->執行->cmd),然後貼下以下的命令依序執行:
REGSVR32 WUAPI.DLL
REGSVR32 WUAUENG.DLL
REGSVR32 WUAUENG1.DLL
REGSVR32 ATL.DLL
REGSVR32 WUCLTUI.DLL
REGSVR32 WUPS.DLL
REGSVR32 WUPS2.DLL
REGSVR32 WUWEB.DLL
這個動作是重新註冊 Windwos Update 會用到的 DLL 元件,成功的話會跳出一堆註冊成功的小視窗,一個個按確定關掉就好了。
步驟三:清除舊有 Windows Update 暫存目錄
這個步驟最關鍵,因為會慢應該是系統在比對更新狀況,比對的方法一定是和以前更新過的所有暫存記錄逐項來做,
這些檔案不見了的話可能就只會比對登錄表(只要以前有正常更新,這樣應該就夠了),檢查到當掉的情況也可以馬上改善。
所以先暫時停掉 Windows Update 的服務(以下命令在剛剛還沒關掉的 DOS 視窗執行):
net stop WuAuServ
然後切換目錄到 Windows 目錄,直接把這個暫存目錄 (SoftwareDistribution) 改名字
(以下範例是改成 SDBackup,如果有勇氣,整個殺掉也可以,還可以省不少空間,改名字是為了備份,出了包可以還原):
cd %windir%
rename SoftwareDistribution SDBackup
改完暫存目錄別忘了重新啟動 Windows Update 的服務:
net start WuAuServ