昨天下午開(kāi)始,之前用得好好的USB鼠標(biāo),突然不能用了,找到個(gè)PS/2鼠標(biāo),卻發(fā)現(xiàn)主板沒(méi)有鼠標(biāo)的PS/2口,只有鍵盤(pán)的PS/2口,真是奇葩,幸好在用的鍵盤(pán)是PS/2口的,費(fèi)了九牛二虎之力,用鍵盤(pán)操作,Win+R,compmgmt.msc進(jìn)入計(jì)算機(jī)管理,上下箭頭移到設(shè)備管理器,發(fā)現(xiàn)右邊的USB控制器前全是黃色嘆號(hào),嘗試卸載再安裝,卻怎么也裝不上,重新啟動(dòng)發(fā)現(xiàn)鼠標(biāo)在啟動(dòng)Windows前還是亮燈的,但到了顯示W(wǎng)indows徽標(biāo)的時(shí)候燈就滅了,應(yīng)該不是硬件問(wèn)題,而是驅(qū)動(dòng)問(wèn)題。
為了進(jìn)一步證實(shí)硬件沒(méi)問(wèn)題,找了個(gè)安裝系統(tǒng)的U盤(pán),插進(jìn)去啟動(dòng),能夠正常使用鼠標(biāo),于是目標(biāo)就聚焦在找回驅(qū)動(dòng)上。
開(kāi)始折騰:
1、首先是找官方驅(qū)動(dòng)啊,我這電腦是老機(jī),AMD7系列主板,找了半天,這個(gè)主板驅(qū)動(dòng)并沒(méi)有包含USB控制器,因?yàn)閁SB控制器都是Windows自帶的驅(qū)動(dòng),下載了一個(gè)南橋驅(qū)動(dòng),安裝后并沒(méi)有效果;
2、Windows自帶的驅(qū)動(dòng)原來(lái)都是放在C:\Windows\System32\DriverStore\FileRepository下,USB控制器相關(guān)的驅(qū)動(dòng),就在usbport.inf_amd64_xxxxxxxxxx文件夾里,xxxxxxxxx是一串16進(jìn)制數(shù)字,悲催的是,安裝這個(gè)驅(qū)動(dòng)時(shí)要不提示找不到指定文件,要不說(shuō)第三方INF沒(méi)有簽名;
3、自己折騰搞不定,找個(gè)軟件吧,第一個(gè)想到的是驅(qū)動(dòng)之家官方的驅(qū)動(dòng)精靈,下載下來(lái)發(fā)現(xiàn)是個(gè)全家桶啊,什么騰訊管家,金山毒霸,瀏覽器首頁(yè)修改一應(yīng)俱全,而且沒(méi)有鼠標(biāo)點(diǎn)擊,用TAB鍵根本移動(dòng)不到取消框,只好默認(rèn)全部安裝了,裝完啟動(dòng),檢測(cè),提示系統(tǒng)自帶驅(qū)動(dòng)缺失,于是回車修復(fù),但每次修復(fù)完,重新檢測(cè)還是那樣,而且沒(méi)有提示USB控制器驅(qū)動(dòng)安裝有問(wèn)題,有些功能用鍵盤(pán)無(wú)法操作,不知道是不是還有哪里可以操作一下,于是又搜了一下,如何用鍵盤(pán)代替鼠標(biāo),居然真的找到了!
4、按WIN鍵,輸入設(shè)置,回車,打開(kāi)設(shè)置主頁(yè):
置.PNG)
移到“輕松使用”,進(jìn)去后左邊選擇“鼠標(biāo)”,在右邊啟用“使用數(shù)字小鍵盤(pán)在屏幕上移動(dòng)鼠標(biāo)”(按空格鍵開(kāi)關(guān)),最好把三個(gè)開(kāi)關(guān)都打開(kāi),如果沒(méi)有啟用CTRL鍵加速功能,鼠標(biāo)移動(dòng)非常慢:
.PNG)
好了,現(xiàn)在可以用小鍵盤(pán)移動(dòng)鼠標(biāo)了;
5、繼續(xù)回到驅(qū)動(dòng)精靈,再次修復(fù),還是不行啊,這個(gè)東西除了帶來(lái)一堆垃圾,什么作用都沒(méi)有!于是把它帶來(lái)的垃圾以及它自己卸載了。
6、似乎360也有一個(gè)驅(qū)動(dòng)大師,于是就下載了一個(gè),這個(gè)倒是很純潔,但是功能太弱,完全沒(méi)發(fā)現(xiàn)問(wèn)題;
7、剛才搜索“安裝驅(qū)動(dòng) 找不到指定的文件”時(shí),發(fā)現(xiàn)一個(gè)論壇提到了這個(gè),是驅(qū)動(dòng)人生的論壇,好像還有解決方案,但要注冊(cè)才能下載,難道驅(qū)動(dòng)人生可以解決?于是就下載了一個(gè)驅(qū)動(dòng)人生,安裝的時(shí)候還是附帶全家桶,不過(guò)現(xiàn)在可以用鍵盤(pán)移動(dòng)鼠標(biāo)取消了,只安裝了驅(qū)動(dòng)人生自己,跟剛才兩個(gè)軟件不同的是,它提示USB外設(shè)驅(qū)動(dòng)沒(méi)有安裝,于是點(diǎn)修復(fù),結(jié)果反反復(fù)復(fù)出現(xiàn)等待光標(biāo),就是無(wú)法完成;
8、之前又搜索到,驅(qū)動(dòng)安裝的日志在C:\Windows\INF\setupapi.dev.log文件里,于是打開(kāi)這個(gè)文件,發(fā)現(xiàn)Driver package failed signature verification. Error = 0xE000022F,驅(qū)動(dòng)程序簽名有問(wèn)題,所以不能安裝成功;
9、Windows10有個(gè)高級(jí)啟動(dòng)選項(xiàng)是禁用強(qiáng)制驅(qū)動(dòng)簽名,如何進(jìn)入高級(jí)啟動(dòng)選項(xiàng)呢?以前是按F8,現(xiàn)在不行了,要在設(shè)置里面,更新和安全,恢復(fù),高級(jí)啟動(dòng),立即重啟,然后設(shè)置疑難解答,高級(jí)啟動(dòng),再重啟,就可以進(jìn)入高級(jí)啟動(dòng)菜單,按7進(jìn)入禁止強(qiáng)制驅(qū)動(dòng)簽名模式,重啟后再用驅(qū)動(dòng)人生修復(fù),果然成功了;
10、打開(kāi)驅(qū)動(dòng)人生下載目錄,DTLFolder\DriversDownLoad,發(fā)現(xiàn)它下載了USB驅(qū)動(dòng)目錄是USB_10.0.10240.16384_WHQL_107049,里面文件如下:
動(dòng)文件.PNG)
除了第一個(gè)xml文件是程序自己用的外,其他都是USB驅(qū)動(dòng)用到的文件,點(diǎn)右鍵發(fā)現(xiàn)那幾個(gè)sys文件,除了usbohci.sys和usbuhci.sys外,其他都有數(shù)字簽名,而usbuhci.sys我這里沒(méi)用到,問(wèn)題就出在usbohci.sys上:


11、難道是驅(qū)動(dòng)人生替換了未簽名的文件?圖謀不軌?為了驗(yàn)證一下,我又下載了一個(gè)Windows10安裝光盤(pán)(版本是當(dāng)前使用的1703版):
cn_windows_10_multiple_editions_version_1703_updated_march_2017_x64_dvd_10194190.iso
12、怎么提取安裝光盤(pán)中的內(nèi)置驅(qū)動(dòng)?找了一下,原來(lái)Windows的安裝盤(pán)從VISTA起,不再使用XP以前的I386目錄和Drivers.cab文件存放驅(qū)動(dòng),而是打包在一個(gè)Install.wim鏡像文件中,要找到驅(qū)動(dòng)文件,必須用工具提取,這個(gè)工具就是Imagex.exe,微軟自己做的命令行工具,但是我的電腦上沒(méi)有,于是下載了一個(gè)64位的,放在C盤(pán)根目錄,通過(guò)如下命令即可提取:
c:\IMAGEX_x64 /mount f:\sources\install.wim 5 i:\1703
其中F盤(pán)是在iso文件上點(diǎn)右鍵,打開(kāi)方式選“Windows資源管理器”打開(kāi)后虛擬出來(lái)的盤(pán)符,其實(shí)就相當(dāng)于系統(tǒng)自帶的虛擬光驅(qū),I盤(pán)是硬盤(pán),用來(lái)存放掛載的鏡像文件,5是選擇掛載哪一個(gè)版本的Windows(多合一版),如果不知道要掛哪個(gè),把這個(gè)數(shù)字改成100,會(huì)顯示xml文件內(nèi)容,并提示找不到這個(gè)索引號(hào),從xml文件內(nèi)容就能找到各版本的信息,然后再重新掛載正確的即可。這個(gè)掛載其實(shí)是個(gè)解壓縮過(guò)程,時(shí)間很長(zhǎng),提取完之后就跟安裝好了Windows一樣,目錄都列好了。
今天又發(fā)現(xiàn)另一個(gè)圖形化的工具,Dism++,比這個(gè)操作更簡(jiǎn)單。Dism是PowerShell內(nèi)置的命令,也是與鏡像有關(guān),也能掛載提取,但用了一下似乎提示權(quán)限有問(wèn)題,Dism++是國(guó)內(nèi)開(kāi)源愛(ài)好者自己開(kāi)發(fā)的圖形化工具,與Dism沒(méi)有關(guān)系。
13、好了,原版的Windows已經(jīng)準(zhǔn)備好,進(jìn)入Windows\System32\DriverStore\FileRepository目錄,搜索usbohci.sys,在usbport.inf_amd64_8e5f608c0111283d目錄下,點(diǎn)右鍵一看,也是沒(méi)簽名的:
這不是坑爹嗎?你自己帶的東西都沒(méi)簽名,然后又不給用!!!!
14、有點(diǎn)懷疑是Windows自己更新的時(shí)候修改了一些策略,導(dǎo)致之前可以用的不能用了,為了再次驗(yàn)證,又繼續(xù)下載了兩個(gè)版本的Windows10安裝光盤(pán),分別是早期的1607和最新的1709,找到usbohci.sys,如下所示:
從左到右依次為1607,1703,1709,均未簽名,基本可以判斷是Windows自己抽風(fēng)了。
15、昨天晚上搞到12點(diǎn)多,搞定鼠標(biāo)后沒(méi)有重啟測(cè)試,今天早上開(kāi)機(jī),果然發(fā)現(xiàn)鼠標(biāo)又不能用了,因?yàn)槲覜](méi)有選擇禁用強(qiáng)制簽名選項(xiàng)來(lái)啟動(dòng),系統(tǒng)發(fā)現(xiàn)那個(gè)沒(méi)簽名的驅(qū)動(dòng),就把它停了,嘗試卸載,結(jié)果再裝也裝不上,于是只好又設(shè)置高級(jí)啟動(dòng),重新禁止強(qiáng)制簽名,進(jìn)入系統(tǒng),裝上驅(qū)動(dòng),恰好這時(shí)Windows又在后臺(tái)偷偷摸摸地更新,不知道更新了啥,讓我重啟。
16、重啟之后,奇跡出現(xiàn),剛才明明提示沒(méi)有簽名強(qiáng)制安裝的驅(qū)動(dòng),現(xiàn)在居然正常啟動(dòng)也沒(méi)問(wèn)題了,而且查看驅(qū)動(dòng)詳情的時(shí)候出現(xiàn)了矛盾的一幕:
外面顯示數(shù)字簽名者:未經(jīng)數(shù)字簽名,里面的sys文件又顯示數(shù)字簽名者是Microsoft Windows,然而進(jìn)入C:\Windows\System32\drivers目錄,找到usbohci.sys,點(diǎn)右鍵,卻發(fā)現(xiàn)并沒(méi)有數(shù)字簽名:
好吧,你開(kāi)心就好,反正不要再禁我的鼠標(biāo)就行……
感謝這次蛋疼的折騰之旅,讓我知道了驅(qū)動(dòng)程序來(lái)自哪里,安裝日志在哪里,哪個(gè)軟件坑爹又沒(méi)用,怎么玩安裝盤(pán),怎么用鍵盤(pán)操作鼠標(biāo),怎么進(jìn)入高級(jí)啟動(dòng)界面……
我為什么要知道這些??????????????為微軟的疏忽買(mǎi)單啊!!!!!
啥都不說(shuō)了,它又提示我重啟了,不知道又有什么奇跡會(huì)發(fā)生……