USB数据线插上手机,看到电脑有反应(有时候还能听到提示声音),但是在文件资源管理器中就是找不到手机。
电脑有反应,出现了 “安全删除硬件并弹出媒体” 标志,说明电脑知道有新的设备连接了USB。
资源管理器中没有手机的标志,不能查看手机中的文件。注意:这里默认手机以文件传输模式(MTP)连接电脑。
原因分析:三种可能:1.手机中没有MTP驱动程序;2.数据线有问题,最好使用原装的数据线;3.电脑未能正确地安装MTP驱动程序。
一个一个地看。1.手机中没有MTP驱动程序,这个可能性最小,因为几乎所有的手机都内置了MTP驱动。2.数据线有问题,这个容易解决,只要使用原装的数据线,就可以排除可能;最有可能的是3,因为我的系统不是纯净版,而是GHOST,盗版,你懂的~
至此,又有两种思路,1.重装系统,或者升级至更高版本(如 win 10),或者找一个纯净版的GHOST;2.针对性的分析并解决问题。 第一种方法可能需要重新安装所有应用程序,第二种方法需要具备驱动程序的相关知识。
本文只介绍第二种方法。我用的系统是 windows 8.1 ,手机是魅族 MX6 ,仅供参考~
第一步,找到对应的安装LOG文件
打开 C:\Windows\Inf,搜索“ setup” :
setupapi.dev.log 就是我们要寻找的 LOG 文件,里面记录着手机 MTP 驱动程序的安装过程,如果未能正确安装,也会记录详细的出错信息,根据这些出错信息,我们就能针对性的解决问题。
第二步. 打开LOG文件,找到出错信息
可以看到,这个LOG文件比较大,因为LOG文件是按照时间顺序记录的,所以可以从最后面往前找。
出错信息:
>>> [Device Install (DiShowUpdateDevice) - USB\VID_2A45&PID_0C02&MI_00\7&105006D8&0&0000]
>>> Section start 2016/11/01 19:19:13.223
cmd: "C:\Windows\system32\mmc.exe" "C:\Windows\system32\compmgmt.msc" /s
dvi: {DIF_UPDATEDRIVER_UI} 19:19:13.224
dvi: No class installer for 'δ֪Ƚ֯ԌѲɭݾԌѲѼ'
dvi: No CoInstallers found
dvi: Default installer: Enter 19:19:13.225
dvi: Default installer: Exit
dvi: {DIF_UPDATEDRIVER_UI - exit(0xe000020e)} 19:19:13.226
ndv: {Update Driver Software Wizard for USB\VID_2A45&PID_0C02&MI_00\7&105006D8&0&0000}
ndv: Driver package 'd:\mx6 driver\usb drivers\wpdmtp.inf' exists under 'C:\Windows\System32\DriverStore\FileRepository\wpdmtp.inf_amd64_ed4b0e8d88a686b3\wpdmtp.inf'.
dvi: Searching for hardware ID(s):
dvi: usb\vid_2a45&pid_0c02&rev_????&mi_00
dvi: usb\vid_2a45&pid_0c02&mi_00
dvi: Searching for compatible ID(s):
dvi: usb\ms_comp_mtp
dvi: usb\class_ff&subclass_ff&prot_00
dvi: usb\class_ff&subclass_ff
dvi: usb\class_ff
dvi: Class GUID of device changed to: {eec5ad98-8080-425f-922a-dabf3de3f69a}.
dvi: {Plug and Play Service: Device Install for USB\VID_2A45&PID_0C02&MI_00\7&105006D8&0&0000}
ndv: Driver INF Path: C:\Windows\INF\oem7.inf
ndv: Driver Node Name: wpdmtp.inf:ed86ca11c005ffe7:MTP:5.2.5326.4762:usb\vid_2a45&pid_0c02&mi_00
ndv: Driver Store Path: C:\Windows\System32\DriverStore\FileRepository\wpdmtp.inf_amd64_ed4b0e8d88a686b3\wpdmtp.inf
dvi: Searching for hardware ID(s):
dvi: usb\vid_2a45&pid_0c02&rev_????&mi_00
dvi: usb\vid_2a45&pid_0c02&mi_00
dvi: Searching for compatible ID(s):
dvi: usb\ms_comp_mtp
dvi: usb\class_ff&subclass_ff&prot_00
dvi: usb\class_ff&subclass_ff
dvi: usb\class_ff
dvi: Class GUID of device changed to: {eec5ad98-8080-425f-922a-dabf3de3f69a}.
ndv: {Core Device Install} 19:19:16.328
dvi: {DIF_ALLOW_INSTALL} 19:19:16.347
dvi: Using exported function 'WpdClassInstaller' in module 'C:\Windows\system32\wpd_ci.dll'.
dvi: Class installer == wpd_ci.dll,WpdClassInstaller
dvi: Using exported function 'CoDeviceInstall' in module 'C:\Windows\system32\WUDFCoinstaller.dll'.
dvi: CoInstaller 1 == WUDFCoinstaller.dll
dvi: CoInstaller 1: Enter 19:19:16.354
dvi: CoInstaller 1: Exit
dvi: Class installer: Enter 19:19:16.354
dvi: Class installer: Exit
dvi: Default installer: Enter 19:19:16.357
dvi: Default installer: Exit
dvi: {DIF_ALLOW_INSTALL - exit(0xe000020e)} 19:19:16.357
dvi: {DIF_INSTALLDEVICEFILES} 19:19:16.359
dvi: CoInstaller 1: Enter 19:19:16.359
dvi: CoInstaller 1: Exit
dvi: Class installer: Enter 19:19:16.360
dvi: Class installer: Exit
dvi: Default installer: Enter 19:19:16.360
! inf: Empty Section! [MTP.Files.Kernel]
! inf: Empty Section! [MTP.Files.XPRT_USB]
! inf: Empty Section! [MTP.Files.Core]
! inf: Empty Section! [MTP.Files.UMDFDDriver]
dvi: Default installer: Exit
dvi: {DIF_INSTALLDEVICEFILES - exit(0x00000000)} 19:19:16.363
dvi: {DIF_REGISTER_COINSTALLERS} 19:19:16.364
dvi: CoInstaller 1: Enter 19:19:16.365
dvi: CoInstaller 1: Exit
dvi: Class installer: Enter 19:19:16.366
dvi: Class installer: Exit
dvi: Default installer: Enter 19:19:16.366
dvi: {DIF_DESTROYPRIVATEDATA} 19:19:16.368
dvi: CoInstaller 1: Enter 19:19:16.368
dvi: CoInstaller 1: Exit
dvi: Class installer: Enter 19:19:16.369
dvi: Class installer: Exit
dvi: Default installer: Enter 19:19:16.369
dvi: Default installer: Exit
dvi: {DIF_DESTROYPRIVATEDATA - exit(0xe000020e)} 19:19:16.370
dvi: Default installer: Exit
dvi: {DIF_REGISTER_COINSTALLERS - exit(0x00000000)} 19:19:16.370
dvi: {DIF_INSTALLINTERFACES} 19:19:16.370
dvi: Using exported function 'CoDeviceInstall' in module 'C:\Windows\system32\WUDFCoinstaller.dll'.
dvi: CoInstaller 1 == WUDFCoinstaller.dll
dvi: CoInstaller 1: Enter 19:19:16.371
dvi: CoInstaller 1: Exit
dvi: Class installer: Enter 19:19:16.372
dvi: Class installer: Exit
dvi: Default installer: Enter 19:19:16.372
dvi: Default installer: Exit
dvi: {DIF_INSTALLINTERFACES - exit(0x00000000)} 19:19:16.373
dvi: {DIF_INSTALLDEVICE} 19:19:16.374
dvi: CoInstaller 1: Enter 19:19:16.374
dvi: CoInstaller 1: Exit
dvi: Class installer: Enter 19:19:16.406
dvi: {Install DEVICE}
inf: Processing REGISTERDLLS section [MTP.RegisterComServers]. Module: '%11%\wpdconns.dll', flags: 0x0001, timeout: 300s, Arguments: '(null)'.
!!! inf: Failed to load the OLE Control 'C:\Windows\system32\wpdconns.dll'.
!!! inf: Error 126: The specified module could not be found.
!!! inf: Failed to register OLE server 'C:\Windows\system32\wpdconns.dll'.
!!! inf: Error 126: The specified module could not be found.
inf: Processing REGISTERDLLS section [MTP.RegisterComServers]. Module: '%11%\wpdmtpus.dll', flags: 0x0001, timeout: 300s, Arguments: '(null)'.
inf: Processing REGISTERDLLS section [MTP.RegisterComServers]. Module: '%11%\wpdmtp.dll', flags: 0x0001, timeout: 300s, Arguments: '(null)'.
inf: Processing REGISTERDLLS section [MTP.RegisterComServers]. Module: '%12%\UMDF\wpdmtpdr.dll', flags: 0x0001, timeout: 300s, Arguments: '(null)'.
dvi: {Writing Device Properties}
dvi: Strong Name=oem7.inf:ed86ca11c005ffe7:MTP:5.2.5326.4762:usb\vid_2a45&pid_0c02&mi_00
dvi: {Writing Device Properties - Complete}
inf: AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall (wpdmtp.inf line 149)
dvi: Add Service: Modified existing service 'WUDFRd'.
inf: AddService=WpdUsb,0x000001f8,MTP.WpdUsb.AddService,MTPEventlog.AddService (wpdmtp.inf line 150)
!!! dvi: Add Service: Binary 'C:\Windows\system32\DRIVERS\wpdusb.sys' for service 'WpdUsb' is not present.
!!! dvi: Error while installing services.
!!! dvi: Error 0xe0000217: A service installation section in this INF is invalid.
!!! dvi: Cleaning up failed installation
!!! dvi: Error 0xe0000217: A service installation section in this INF is invalid.
dvi: {Install DEVICE exit (0xe0000217)}
!!! dvi: Cleaning up failed installation (e0000217)
!!! dvi: Class installer: failed(0xe0000217)!
!!! dvi: Error 0xe0000217: A service installation section in this INF is invalid.
dvi: CoInstaller 1: Enter (Post Processing) 19:19:16.449
dvi: CoInstaller 1: Exit (Post Processing)
dvi: {DIF_INSTALLDEVICE - exit(0xe0000217)} 19:19:16.450
!!! ndv: Error(e0000217) installing device!
! ndv: Queueing up error report since device installation failed...
ndv: {Core Device Install - exit(0xe0000217)} 19:19:16.453
dvi: {DIF_DESTROYPRIVATEDATA} 19:19:16.454
dvi: CoInstaller 1: Enter 19:19:16.454
dvi: CoInstaller 1: Exit
dvi: Class installer: Enter 19:19:16.454
dvi: Class installer: Exit
dvi: Default installer: Enter 19:19:16.457
dvi: Default installer: Exit
dvi: {DIF_DESTROYPRIVATEDATA - exit(0xe000020e)} 19:19:16.458
ump: {Plug and Play Service: Device Install exit(e0000217)}
!!! ndv: Device install failed for device.
!!! ndv: Error 0xe0000217: A service installation section in this INF is invalid.
ndv: Installing NULL driver.
dvi: {Plug and Play Service: Device Install for USB\VID_2A45&PID_0C02&MI_00\7&105006D8&0&0000}
! ndv: Installing NULL driver!
dvi: {DIF_ALLOW_INSTALL} 19:19:16.500
dvi: Using exported function 'WpdClassInstaller' in module 'C:\Windows\system32\wpd_ci.dll'.
dvi: Class installer == wpd_ci.dll,WpdClassInstaller
dvi: No CoInstallers found
dvi: Class installer: Enter 19:19:16.505
dvi: Class installer: Exit
dvi: Default installer: Enter 19:19:16.508
dvi: Default installer: Exit
dvi: {DIF_ALLOW_INSTALL - exit(0xe000020e)} 19:19:16.509
dvi: {DIF_REGISTER_COINSTALLERS} 19:19:16.509
dvi: Class installer: Enter 19:19:16.510
dvi: Class installer: Exit
dvi: Default installer: Enter 19:19:16.510
dvi: Default installer: Exit
dvi: {DIF_REGISTER_COINSTALLERS - exit(0x00000000)} 19:19:16.511
dvi: {DIF_INSTALLDEVICE} 19:19:16.511
dvi: No CoInstallers found
dvi: Class installer: Enter 19:19:16.511
! dvi: Installing NULL driver!
dvi: Install Null Driver: Removing device sub-tree. 19:19:16.518
dvi: Install Null Driver: Removing device sub-tree completed. 19:19:16.522
dvi: Install Null Driver: Restarting device. 19:19:16.530
dvi: Install Null Driver: Restarting device completed. 19:19:16.535
dvi: Install Device: Starting device. 19:19:16.536
dvi: Install Device: Starting device completed. 19:19:16.544
dvi: Class installer: Exit
dvi: {DIF_INSTALLDEVICE - exit(0x00000000)} 19:19:16.545
dvi: {DIF_DESTROYPRIVATEDATA} 19:19:16.546
dvi: Class installer: Enter 19:19:16.546
dvi: Class installer: Exit
dvi: Default installer: Enter 19:19:16.549
dvi: Default installer: Exit
dvi: {DIF_DESTROYPRIVATEDATA - exit(0xe000020e)} 19:19:16.550
ump: {Plug and Play Service: Device Install exit(00000000)}
ndv: {Update Driver Software Wizard exit(e0000217)}
<<< Section end 2016/11/01 19:19:22.532
<<< [Exit status: FAILURE(0xe0000217)]
呃,出错信息有点多,但是 不用担心,关键信息就几行。那么,怎么确定这一段就是MTP驱动安装的LOG呢?
方法:打开设备管理器:( 如果不知道,请自行百度,懒癌患者戳这个:http://jingyan.baidu/article/54b6b9c0d94c6e2d583b4783.html
)
带有黄色感叹号的“未知设备” 就是我们的手机了(注意,也许你的情况不一样,不在 “其他设备” 分类下面,也不叫 “未知设备” , 但是,肯定会有黄色感叹号标识!实在有疑问需要帮助,请留言)。右键-->属性-->详细信息-->硬件ID:
手机的硬件ID:VID=2A45 PID=0C02 (补充一下基础知识,硬件ID由VID和PID两部分构成),所以,回到我刚才贴出的出错信息:
因此,我们确信,这一段出错信息就是我们要研究的出错信息!
接着,寻找出错信息,瞄准带有ERROR的信息:
注意看:Failed to copy file 'd:\mx6 driver\usb drivers\WpdMtp.dll' to 'C:\Users\sam\AppData\Local\Temp\{2f83342d-8f7e-7d48-bfa0-ea76d88b7a37}\WpdMtp.dll' , 原因就是缺少 WpdMtp.dll !!!
尽管过程曲折,然而觅得真凶的痛快感也是无与伦比的!
解决方案:寻找另外一台可以识别手机的电脑,拷贝过来! ( C:\Windows\System32)
为了以防万一,我把 WpdMtp.dll , WpdMtpUS.dll , WpdMtpDr.dll , WpdMtpIP.dll 都拷贝到自己电脑的 C:\Windows\system32 下面。
第三步:更新驱动程序软件
回到设备管理器(刚才已经说过了,别忘了),选中“未知设备” (手机), 右键-->更新驱动程序软件,
D:\MX6 Driver 存放了 MX 6 的驱动程序。那么,我们如何确定这个文件夹呢?
方法:用USB连接手机,连接模式选择 “内置光盘” :
此时,电脑会弹出窗口:
USB Drivers 文件夹就包含了 MX 6 的驱动程序 ~ 复制到 D:\MX6 Driver 。
回到前面,我们继续 “更新驱动程序软件”,点击 “下一步” , 两种可能:1.成功识别手机
2. 报错。 “ INF包含无效的安装段落” 或者 "第三方INF签名无效“ 或者。。。
如果是 "第三方INF签名无效“ ,戳这个:http://jingyan.baidu/article/636f38bb415ce3d6b84610eb.html
如果是其他的,就打开 LOG 文件,继续找出错信息,看 ERROR 信息。
关键点:根据LOG文件中的 ERROR 信息,缺啥补啥!