Win7/Win8.1/Win10教程:移除不相容的驅動程式
感謝IT之家網友
洛克人EXE後援團光卡
的投稿
在大多數情況下,很多驅動程式都會提供一個卸載程式來讓你卸載驅動。但是,如果你裝的驅動不提供卸載程式的話,想卸載整個驅動包就顯得非常棘手了。
昨天我拿到一台Lumia 930,連接電腦發現無法像往常一樣在電腦上出現一個MTP設備,也不能測試離線推送更新包。打開裝置管理員發現報錯19。
在網上找到的針對此故障的方法(修改註冊表),測試發現毫無效果。但是偶然發現,手動更新驅動成“MTB USB設備”的話就可以正常使用了。在裝置管理員裡刪除硬體之後重新連接,故障重現,這就說明系統被裝入了不相容的驅動。
既然知道問題出在不相容的MTP USB驅動上,那麼只需要把MTP USB驅動卸載即可。但是MTP USB設備右鍵卸載驅動程式軟體並不會出現“刪除此設備的驅動程式軟體”,這麼一來就很麻煩了。
好在Win7和以上版本中,額外安裝的驅動程式可以使用“部署映射服務和管理工具”(Deployment Image Servicing and Management,DISM)來添加、刪除、查看。但是當你正在運行這個系統的時候,你無法使用DISM來添加刪除驅動。
因此,我們就需要使用PE來完成這個操作了。
如果你有一個自己的PE U盤,你可以使用你的PE U盤,但是你的PE U盤必須滿足這些條件:
-至少是Win8內核,推薦Win10內核
-使用的PE位數和你自己要處理的Windows系統的位元數一致。比如說你用的是Windows10 64位,那麼你也應該用64位的PE
如果沒有自己的PE的話,也可以使用系統自帶的WinRE環境。
以Win10為例,在設置裡,點更新和恢復,恢復裡選擇“立即重啟”。
然後選擇“疑難排解”、“高級選項”、“命令提示符”。
等重啟之後,選擇你的用戶名,然後輸入密碼(如果沒有就保持空白),確定,即可出現命令提示符。
進入PE之後,你可以看到,一般情況下系統都是裝到C盤上的。
請檢查你PE自帶的dism版本是否大於等於你裝的Windows版本,比如說如果你用的是Win10 Build 14393.726,那麼你就應該用至少10.0.14393的dism。如果低於此版本,請輸入此命令切換到你系統的盤符調用你原先系統上的dism:
cd /d C:\Windows\system32
在這裡輸入命令
dism /image:C:\ /get-drivers
你可以看到裡面會列出很多驅動,都是裝完系統之後額外安裝的驅動。
因為命令提示符輸出限制,你的驅動程式往往無法完全列舉出來,前面輸出的全部被擠出去了,看不到。
你這時可以輸入這個命令:
dism /image:C:\ /get-drivers>D:\getdrvlist.txt
等命令執行完成之後,打開D盤的getdrvlist.txt,你就會看見一個完整的已安裝驅動列表。
如果你用的是前面的純命令列PE,那麼在命令提示符輸入D:\getdrvlist.txt並執行即可。
假如說你想刪除衝突的MTP驅動,那麼在這裡查找mtp這個關鍵字,應該有一個驅動檔的原始檔案名是帶mtp的。然後我們看看,它的已發佈名稱是oemxx.inf。
在本例中,我需要刪除YunOS的USB驅動,這裡有一個yunos_winusb.inf的原始檔案名,對應的已發佈名稱是oem10.inf。
就執行這個命令:
dism /image:C:\ /remove-driver /driver:oem10.inf
這麼一來衝突的驅動程式就被卸載掉了。
除了使用dism命令列刪除驅動之外,你還可以使用來自初雨團隊的Dism++(www.chuyu.me)來刪除驅動,同樣的也需要在PE或WinRE環境下使用,只需要勾上你要刪除的驅動,然後刪除驅動即可。
重啟之後回來,衝突的驅動程式就不會再被調用了。