2019年10月6日 星期日

充電一下--設定 windows 更新失敗。正在還原變更。請勿關閉您的電腦

現在幾乎家家戶戶都有電腦

而且絕大多數都是安裝微軟的 Windows 作業系統

而 Windows 有個功能叫做 Windows Update

用來檢視您的作業系統是否跟上時代的潮流

是否相容目前市面上大多數的軟硬體配備

避免您在安裝新硬體或是新程式的時候出現問題

更避免您的電腦存在被駭客攻擊的安全性漏洞

這是一個很人性化的功能

既會自動搜索需要的更新程式

又能排程在不影響電腦工作的時候進行

通常是在您電腦關機時才進行安裝

不過您遇到過 Windows 更新失敗進入無窮盡循環的情況嗎?

*****************************************************************

公司近日買了一台新電腦

因為我的電腦一天會出現好幾次藍白畫面

已經嚴重影響到工作進度

而且進行程式的編譯

常常第一次要花費十幾分鐘才能完成

這對重視效率的我來說

是完全不能接受的事

礙於公司的經費問題

直到最近才真正換了新的電腦

DELL / Windows7 / 8G DDR / SSD硬碟

開機20秒完成

關機也20秒完成

效能測試 OK

於是開始移植原先使用的工作軟體到新電腦上

剛安裝的幾個環境都挺順利的

特別是剛剛提到編譯要花十幾分鐘的程式

到了新電腦只花了不到三分鐘就完成了

初估至少快了四~五倍的時間

心想這應該可以縮短超多的工作時間了

不過就在移植了六、七個環境後

電腦開始出現要更新的訊息

而且一次就要更新137個檔案!

天阿!新電腦的作業系統是有多老舊呀!

竟然要安裝這麼多更新檔

不過身為工程師

對細節特別講究

反正新電腦的速度那麼快

就讓他安裝吧!

我還是可以繼續做其他的事

*****************************************************************

就在第一次更新關機後

電腦重新啟動

然後出現 Windows 設定中

然後.......竟然不是設定完成進入系統

而是『設定 windows 更新失敗。正在還原變更。請勿關閉您的電腦』

這是什麼情況!

而且這一還原就耗掉半個多小時

如果是原來的電腦

大概半天就不見了.......

更慘的是

還原後要關機又會再更新一次

更新完重新開機又再還原一次

就這樣經歷了三輪

還是一個半天不見了!!!

你問我為什麼讓他經歷了三輪?

因為我姓李、不信邪......XD

*****************************************************************

不過雖然經歷了三輪

並不代表我完全沒有做任何的努力

第二次重新啟動時

我就已經找了相關的解決方法

最後得到的結論是重灌就一定能解決

不然問題可能存在137個檔案的任何一個檔案裡

更可能跟這137個檔案一點關係都沒有

而是電腦本身的相容性出了問題......

身為一個嚴謹的工程師

不能忍受一台新電腦表現出外強中乾的孬樣

而身為一個浪漫的詩人

更不能忍受這種掃興耍廢的違和感

網路上一大堆的介紹都只說了:

很花時間!別鬧了!重灌比較快!

我堅持一定要找出原因......

回歸解決問題的第一步

我將大問題拆成小問題

137個檔案或許有點多

那我一次更新5~10個檔案總不會也出問題吧?

於是我進入控制台的 Windows Update 中

自己手動選擇要更新的檔案

為了驗證這個想法的方向是對的

一開始我選了檔案大小不到1MB的更新檔先安裝

一次更新10個就好

*****************************************************************

第一次更新就有一個檔案安裝失敗 (KB971033)

不過卻沒有影響開關機

也沒有進行安裝設定又還原的動作

我覺得我應該找對方向了

於是又選了10個檔案進行更新

很遺憾這次又有一個檔案更新失敗 (KB3075220)

不過也沒有影響開關機

第三次我放大膽子

一次選了15個檔案(其中包含超過1MB但不足10MB的檔案)

這一次竟然全部安裝成功!

心想問題的範圍應該縮小了

又選了17個檔案進行更新

不過這一次很神奇

安裝時的總檔案大小在一開始顯示138.6MB

可是安裝到一半忽然跳成126.9MB

安裝完成後出現一個安裝失敗(KB3019978)、一個不需要(自動消失?)

我沒記下選取的檔案

所以也沒發現是哪一個被消失了

第五次選的全部安裝成功(但有一個不需要自動消失)

第六次又出現一個安裝失敗(KB2919469)

就這樣反反覆覆重新啟動電腦十次

最後兩次安裝失敗的檔案有些是比較大型的檔案

KB4516048--306.6MB

KB4516065--288.9MB

Intel Corporation ......(balabala......)

KB4490628

就這樣把所有的更新檔又安裝了一輪

剩下四個頑強的更新檔更新失敗還不會消失

又繼續出現在更新的清單中

好吧!已經開了頭就有頭有尾吧!

接下來就是單獨安裝

KB4490628 經過兩次單獨安裝後安裝成功!

KB4516048、KB4516065 在第二次的單獨安裝也成功!

*****************************************************************

在這些檔案完成更新後

又有新的更新檔案延伸出來

這些檔案並沒有為難我

讓我很順利地完成了安裝

然而 Intel Corporation ...... 這個更新檔安裝了三次依舊沒有完成安裝

後來查了錯誤碼 80070103 所代表的意思

簡單說就是現在所使用的驅動程式比 Windows Update 所提供的還要更好

所以就別安裝了

然後電腦出現了一個很詭異的現象

就是(KB4503548 -- 適用 Windows7 x64 的 Microsoft .NET Framework 4.8 -- 35.0MB) 這個更新檔

竟然在安裝完成後,連續三次出現在更新清單中

就在我安裝完 KB4516048 及 KB4516065 之後

更有甚之

之後新出現的 KB4524157 安裝完成後

KB4503548 又陰魂不散地冒出來要更新了!!!

最後解決的方法也還是自己隱藏掉這個檔案

*****************************************************************

經由上面一連串的更新檔安裝後

我得到了一個合理的結論

Windows 的每一個更新檔有相互依存的關係

如果安裝的先後順序不對

就會發生很嚴重的更新問題

舉例來說

今天出的更新檔修正了 A 問題

兩天後又出了一個修正 A+B+C 的相容問題

如果你前面的 A 問題沒有先進行修正

某些應該存在 A+B+C 的參數可能是錯誤或不存在

此時若先安裝了後面一個更新檔

就會導致作業系統連帶將 B 與 C 兩個裝置給癱瘓了

系統判斷這樣的問題無法解決

於是自動又幫您還原回去原來沒有安裝 A 及 A+B+C 的狀態

可是為什會出現這樣的問題?

第一

你的作業系統不是每天都在準備更新的狀態

所以先下載回來的檔案往往是最近更新的檔案

因此電腦也會將先下載回來的檔案優先進行更新

導致安裝的先後順序發生問題

第二

更新檔案的大小會影響下載的穩定

檔案越大的越容易在下載過程發生錯誤

特別是網路品質不太好的地方

因此我先選用檔案較小的進行更新是有特別的用意的

如果你的更新檔是數百MB的龐然大物

遇到更新失敗時請利用網路不塞車的時間進行更新

應該可以順利更新完成

第三

當硬體驅動程式版本太久沒更新的情況下

微軟的更新檔也很可能會發生無法更新的問題

針對硬體較新版本的驅動程式所修正的更新檔

很可能造成使用硬體的不穩定

但 Windows Update 本身並沒有檢查硬體的驅動版本是否需要更新檔

就自作主張幫你的電腦更新了

這是一直無窮迴圈鬼打牆的最可能的原因之一

所以才會有錯誤碼 80070103 的存在

此時需要有智慧的您手動將這個更新檔永久隱藏

不然這個更新檔就會一直自動出現在你的更新清單中

*****************************************************************

如果下次您有遇到這樣的問題

不妨耐著性子好好地面對處理

一定可以讓你的功力一下子提升很多

不單單只是電腦

還有處理事情的思路與解決問題的手段

都會連帶一起提升唷!

KP經常引用曾國藩說的一句話:

『做大事,最重要的是耐煩。居官以耐煩為第一要義。』

在此勉勵大家,一起『耐煩』!





延伸閱讀:
後來發現KB4516048--306.6MB這一類大型檔案
可以在 Microsoft®Update Catalog 中手動下載
下載時可能會被 Chrome 視為封鎖檔案
記得在Download處按右鍵另存連結
並在下載檔案的地方選擇保留(預設是捨棄)
祝大家更新順利~~~