2022年1月15日 星期六

禁止 WindowsUpdate 自動更新 AMD 顯示卡驅動程式

禁用 AMD 顯示卡驅動的自動更新

不知道為什麼微軟釋出的更新會直接把AMD的驅動給蓋掉,就算AMD驅動程式版本比較新,微軟也會強制把舊版的覆蓋上去。

蓋上去之後是一回事,關鍵是AMD的面板版本跟驅動版本對不上的話,AMD面板就打不開了,打不開八成是被給自動更新給搞了。


依序有三個方法選一個就可以了

方法1
對系統的影響是最小的,不過不能根治隔一段時間微軟伺服器更新版本之後應該還會再來一次。其次兩個對系統有影響不過可以治本。

方法2
鎖定硬件ID讓系統不能動,間皆導致WindwosUpdate無法更新的,不過也會導致無法更新驅動就是,要先解綁。

方法3
停用WindowsUpdate中驅動更新模塊。往後部分新安裝的設備可能有機會會動不了,要手動載驅動來裝。不會影響到安全性更新推送。
受影響的設備大概是硬體變動的時候,網路卡音卡藍芽這些。USB設備滑鼠鍵盤等內建有通用驅動絕大多數不會影響到。

方法4 
第三方軟體禁用



方法1 回復上一版驅動

最直接的辦法是按回復驅動程式,在"WindwosUpdate驅動庫"版本被更新版本之前可以安寧一陣子。


要注意的是此時電腦上會有兩個版本的驅動,AMD版與Win版,目前套用AMD版這樣。Win版要留著卡位,如果把Win版本刪除那麼自動更新將會再次起作用把它安裝回來。


友情提示:可能要重複做2次因為自動更新有2個版本
  1. 自動更新版本
  2. 選用更新版本 (不要手濺按到不會自動安裝)


簡單講就是電腦要保留 Win版本 給 WindwosUpdate 檢查用,然後選擇 AMD板 給顯示卡使用,這樣就不會造成AMD面板打不開問題了。

如果同時存在多個AMD版驅動,要看面板是哪個版本號的,兩方版號對上才能正常開啟




方法2 禁用AMD的驅動程式自動更新


透過禁用裝置ID來達到間接讓WindwosUpdate更新不了的,包含自己手動更新也會裝不了驅動,要先解掉。


下載 Powershell的批次檔 雙擊執行

載點:https://mega.nz/folder/R8NT0aLS#8AA7F4vmWqbQVRdMK0buLQ




再次去檢查更新雖然還是有但不會被更新了會出現錯誤



注意禁用之後再也無法更新或重新裝驅動,執行AMD驅動安裝會失敗(錯誤代碼: 1603),要先解除禁用才能更新。




對應的登錄檔值設定方式有點複雜這邊就只給位置而已,詳細自行把位置丟Google搜尋可以找到微軟的技術手冊。


登錄檔位置是這裡:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions

直接從 PowerShell 執行的話是這兩條命令(需管理員權限):

# 禁用AMD顯示卡驅動更新
irm bit.ly/DisAMDUpdate|iex; DisableVideoDriverUpdate -Filter:Radeon

# 恢復所有設備的自動更新
irm bit.ly/DisAMDUpdate|iex; DisableVideoDriverUpdate -Recovery


程序運行邏輯

  1. 從硬體清單中搜尋 "Radeon" 字樣,找到要禁用的目標硬體,並獲取ID
  2. 將獲取的ID設置到上方的登錄檔位置


有Bug可以上原始碼存放的Github站上回報,或是在這邊留言回報。
不過程序的邏輯少到幾乎沒有應該是不會出狀況才是。





方法3 停用自動更新驅動的模組

直接停用自動更新驅動這個模塊,停用之後往後新插的部分設備可能會動不了,要手動載驅動才能動。


以下三個選一個做就可以了。


1. 命令新增登錄檔值的代碼

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v ExcludeWUDriversInQualityUpdate /t REG_DWORD /d 1 /f


2. 群組原則的位置


3. 對應的登陸檔值

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]
"ExcludeWUDriversInQualityUpdate"=dword:00000001






方法4 第三方軟體禁用



第三方的軟體,詳細使用說明可以參考作者的原文


關於禁用更新的說明在這一篇
【其他】安裝 ROPService 服務可啟用 Windows Update 自動更新並防止 GPU 硬體設備被 Windows Update 覆蓋 @電腦應用綜合討論 哈啦板 - 巴哈姆特 (gamer.com.tw)

根據這篇原作的說明,禁用的核心方法跟方法2一樣,只是多了一個在後台運行的服務監控系統行為。

受監控的項目有許多這邊列舉兩個比較重要的

  1. 當驅動被移除時會自動解鎖
  2. 當打開AMD官方安裝包時自動解鎖
  3. ...等




該選擇哪一個方案

有開發需求會經常變更驅動版本,方法4第三方即時監控可能會方便一些。不過這是優點也可能缺點,需要額外掛一個服務在背景運行。

不經常變更驅動的話,方法3安裝的時候手動開關一下也不會花費太多時間。缺點大概就是如果電腦不是只有自己在用,可能會發生驅動無法更新或是被移除後無法安裝的問題。

方法2直接禁用掉驅動模塊並不會直接干預到安裝驅動問題,不對如過有新的硬體設備被安裝可能需要手動裝驅動,會稍微麻煩一點。

方法1是最無事的不過也是最不能保證不會被騷擾,一旦微軟的驅動庫更新或是基於什麼原因,系統上檢查用的驅動被刪除又會再次被騷擾。


總結一下,如果自己有一定程度排除錯誤的能力,優先從2或3選擇可能比較好。如果是啥都不懂的小白,或許直上方法4啥事都不用考慮可能是最優解。




方法2實際運作狀況

大致的測試結果在這軟這邊會推送兩個版本的更新。

第一個版本會跟自動更新一樣權限相當不會經過你的同意就會自動更新。如果有設定手動更新可以擋住,但是當你想做安全性更新的時候無法選擇會一起更新。

第二個版本會比較新會出現在選用更新裡面,這個就算你設定自動更新也可以自己選擇要不要更,基本上不會煩到人,主要是第一個版本會擅自更新。





進入自動更新的頁面可以看到第一版已經開始更新了。





指令執行完畢之後會更不上去,像這樣的更新失敗圖。只是驅動版本沒套上去而已,實際上是已經載到系統裡面了,可以從應用程式看到版本增加了。





接著繼續把選用更新也一併跑完





結果是一樣的,出現錯誤並且又增加了第三個版本




兩個版本都跑完之後就不會再來煩你了,更新不會再次出現顯示卡的更新。不過電腦上倒是增加了兩個版本的驅動。這些版本不能砍掉,刪除之後更新會再次跳出來把驅動版本載回來。






參考

1. 【心得】Microsoft 的自動更新,未經使用者同意變更驅動程式版本 https://forum.gamer.com.tw/C.php?bsn=60030&snA=594166

2.  【心得】完全禁止 Windows更新 ( AMD 顯示卡) 設備驅動(https://forum.gamer.com.tw/C.php?bsn=60030&snA=593696




沒有留言:

張貼留言