首页 > 代码库 > 删除DriverStore\FileRepository文件夹后,设备驱动无法安装,提示“没有为设备信息集或元素选择驱动程序(代码 28)”的解决办法

删除DriverStore\FileRepository文件夹后,设备驱动无法安装,提示“没有为设备信息集或元素选择驱动程序(代码 28)”的解决办法

前言:

  我前几天手贱,整个FileRepository删除掉了,之后重启就出现了让人蛋疼的这个问题,因为出于各种原因不想重装系统,百度轮番换搜索词无果,虽然驱动装上了但新设备依然无法自动安装驱动等“一堆瑕疵”,重启无数次折腾3天之后才在百度一个帖子的一个字眼里发现了解决办法(说此方法的人自己说删了INFCACHE.1后也无效,所以没有引起注意),也因此有了这个随笔:

  1、首先你要恢复FileRepository文件夹,至于方法嘛,可以下载完整的WIN7系统镜像后提取出来,如果是原版则用GImageX或WinMount等工具提取install.wim,ghost文件则用 ghost explorer;

  2、进PE维护系统或一切你能用的办法,比如什么文件粉碎机啦,打飞机啦,删除System32\DriverStore(也就是FileRepository的父目录)下的 INFCACHE.1 drvindex.dat infpub.dat infstor.dat infstrng.dat 5个文件,重启解决。

  3、万一以上办法对你无效,那你只能用我上面说到的先把驱动装上,瑕疵不管它了,你自己再慢慢琢磨要怎么搞,不然像我连键盘都用不了,实在是很痛苦很痛苦的:

      打开设备管理器->对应设备右键->更新驱动程序软件->浏览计算机以查找驱动程序->将“在以下位置搜索驱动程序软件”的位置指定到%windir%\winsxs->下一步

 

再说下自己得出的废话经验:

  删除后会出现此问题的,都是INF文件中没有直接写着对应设备硬件ID的那些驱动安装程序,比如USB鼠标、键盘等这些太杂的东西,我的realtek PCI-E网卡驱动也是,查看INF文件后都是没有我的硬件ID的,而以前却依然安装得上。我不知道微软使用的是什么方法来判断这个设备需要用到的是这个驱动。但反正问题就是这种判断方式出现了问题,导致了驱动安装不上。

PS:删除INFCACHE.1这个文件后,已安装驱动程序的签名数据会丢失,设备管理器看到的非microsoft的驱动程序都是未经数字签名。