Skip to content

移除 Windows 的更新程式

有人會笑著說,微軟簡直就像白牌的流氓,也有人會笑著說微軟作業系統的更新,簡直就比病毒還要可怕。

當然這都是玩笑話,也可能是因為曾經因為莫名原因,更新了 Windows 導致作業系統無法正常啟動,而講出的氣話,不論什麼情況,如果因為更新了 Windows 而導致完全無法進入 Windows,真的會讓人起抓狂!

移除可能有問題的 Windows 更新很難嗎?好像沒很難,因為有些人會試著以安全模式進入 Windows,但有效嗎?或許要看狀況吧?至少我最近碰到的情況,是無效的。先廢話一下,在四月中公司 Server 因為有人更新了 Windows,其兩台 Server 完全沒事,但另一台就此陷入了無限重開機的迴圈。然後,這問題就又丟我這自稱為公司的救火隊身上了。

先用安全模式(無網路功能)開機,失敗~再用安全模式(含命令提示字元),也是失敗~一直找不出原因,最後先把 Windows 啟動失敗時,自動重開機功能停用(正常情況,Windows 若啟動失敗時,會自動重新開機,否則會卡在藍底白字的畫面)

醬~醬~出現久違的藍底白字,錯誤訊息很明確地指出,找不到 CSRSRV.DLL(位於 C:\Windows\System32\),拿出安裝光碟進修復主控台,真見鬼了,明明 CSRSRV.DLL 是存在的呀!很不死心地把舊檔改名,再從光碟拉一份進系統,重開機仍然是找不到 CSRSRV.DLL(此時我心中開始問候別人的祖宗三十六代)

再進修復主控台,開始找更新記錄(這位於 C:\Windows\),檔名格式是「KB???????.log」,找出幾個最近更新的記錄,開始準備要將這些更新移除掉,不過因為沒有 GUI 介面,一律都要下指令,所以就順便記錄一下。

因為我後來有找出有問題的更新,也確定是因為某一個更新造成的,所以我就以移除這個更新當例子,有些步驟會稍稍略過:

  1. 先拿原本的安裝光碟開機
  2. 然後進入修復主控台
  3. 輸入 Windows 的帳號及密碼
  4. 會直接進入 C:\Windows
  5. 再輸入「cd $NtUninstallKB3045999$」
    (即進入 C:\Windows\$NtUninstallKB3045999$\ 該資料夾)
  6. 輸入「cd spuninst」
    (即進入 C:\Windows\$NtUninstallKB3045999$\spuninst\ 該資料夾)
  7. 裡頭固定會有「spuninst.txt」這個檔案
    再輸入「batch spuninst.txt」
  8. 會出現一堆複製檔案的訊息,複製完成後,重新開機即可

「$NtUninstallKB?????$」這樣格式的資料夾,會放著某一個 Windows 更新的舊檔案,以避免出問題時,可以用來回復到更新前的檔案狀態。

而這資料夾內的 spuninst 裡的 spuninst.txt 其實就是把舊檔案複製到原本的地方去,但因為它是 txt 類型(也算是批次檔),不是一般的 cmd 或 bat 格式,所以我們就要用 batch 這個指令來執行。

Published in問題筆記學習筆記軟體

Be First to Comment

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *