主题 : Win7/Win8.1/Win10教程:移除不兼容的驱动程序
千山同一月 万户尽皆春 千江有水千江月 万里无云万里天
级别: 总版主

UID: 998
精华: 0
发帖: 605028
威望: 529070 点
无痕币: 21 WHB
贡献值: 0 点
在线时间: 62164(时)
注册时间: 2008-12-25
最后登录: 2024-04-25

0 Win7/Win8.1/Win10教程:移除不兼容的驱动程序

在大多数情况下,很多驱动程序都会提供一个卸载程序来让你卸载驱动。但是,如果你装的驱动不提供卸载程序的话,想卸载整个驱动包就显得非常棘手了。
昨天我拿到一台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系统的位数一致。比如说你用的是Windows1064位,那么你也应该用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环境下使用,只需要勾上你要删除的驱动,然后删除驱动即可。

重启之后回来,冲突的驱动程序就不会再被调用了。

Total 0.046611(s) query 4, Time now is:04-25 16:09, Gzip enabled 粤ICP备07514325号-1
Powered by PHPWind v7.3.2 Certificate Code © 2003-13 秋无痕论坛