无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
123
返回列表 发新帖
楼主: sp_star
打印 上一主题 下一主题

在PE中快速的查找安装驱动程序

    [复制链接]
61#
发表于 2017-1-10 01:35:42 来自手机 | 只看该作者
我想了一下,应该可以先读取程序所在路劲,然后排查逗号,这样就可以了。

点评

又更新了,现在同一文件的多个相同ID也可以处理了。  详情 回复 发表于 2017-1-10 10:45
回复

使用道具 举报

62#
 楼主| 发表于 2017-1-10 10:44:50 | 只看该作者
红毛樱木 发表于 2017-1-9 22:47
之前那个分行,看上去比较靠谱一些。

在一行输出,方便FORX和MSTR处理。
回复

使用道具 举报

63#
 楼主| 发表于 2017-1-10 10:45:43 | 只看该作者
红毛樱木 发表于 2017-1-10 01:35
我想了一下,应该可以先读取程序所在路劲,然后排查逗号,这样就可以了。

又更新了,现在同一文件的多个相同ID也可以处理了。

点评

这个看起来有点模糊,能给出一个具体实例说明吗?  详情 回复 发表于 2017-1-10 12:09
回复

使用道具 举报

64#
发表于 2017-1-10 12:09:17 | 只看该作者
本帖最后由 红毛樱木 于 2017-1-10 12:13 编辑
sp_star 发表于 2017-1-10 10:45
又更新了,现在同一文件的多个相同ID也可以处理了。


这个看起来有点模糊,能给出一个具体实例说明吗?


假如a.txt
中有如下信息
HDAUDIO\FUNC_01&VEN_8086&DEV_2809&SUBSYS_80860101,IntcDAud.inf,06/19/2009 v6.0.1.6305
HDAUDIO\FUNC_01&VEN_8086&DEV_2809&SUBSYS_80860101,IntcDAud22222222.inf,06/19/2009 v6.0.1.6305
...

是不是这个意思?


---------------------------------------------------
试了一下确实是这样子,赞一个
回复

使用道具 举报

65#
发表于 2017-1-10 22:21:19 | 只看该作者
本帖最后由 红毛樱木 于 2017-1-10 22:33 编辑

AUTODRV_X64.7z (1.35 MB, 下载次数: 12)
AUTODRV_X86.7z (1.15 MB, 下载次数: 12)


更新了一下,适配了新的fdrv.exe,
实现下面一些功能:
假设本机未安装驱动的硬件ID为
HDAUDIO\FUNC_01&VEN_8086&DEV_2809&SUBSYS_80860101&REV_1000

在ID库中匹配到三个(或者多个,此处以三个举例)
  1. H:\cccccc\NT6x64\A.7z\IntcDAud.inf
  2. H:\cccccc\NT6x64\HDMI.7z\IntcDAud.inf
  3. H:\cccccc\NT6x64\Z.7z\IntcDAud.inf
复制代码
当第一条安装失败,自动跳转下一个匹配,直到匹配安装返回成功之后终止该硬件ID的驱动安装。然后继续下一个未安装驱动的设备。


程序退出后生成日志文件(%Temp%FIND_HWIDS.TXT\)如下:
  1. 设备ID:HDAUDIO\FUNC_01&VEN_8086&DEV_2809&SUBSYS_80860101&REV_1000    匹配到驱动文件:G:\USM\更新\PECMD.INI\在PE中快速的查找安装驱动程序(sp_star)\20170109\NT6x64\A.7z\IntcDAud.inf    匹配安装成功:No
  2. 设备ID:HDAUDIO\FUNC_01&VEN_8086&DEV_2809&SUBSYS_80860101&REV_1000    匹配到驱动文件:G:\USM\更新\PECMD.INI\在PE中快速的查找安装驱动程序(sp_star)\20170109\NT6x64\HDMI.7z\IntcDAud.inf    匹配安装成功:Yes
复制代码


回复

使用道具 举报

66#
发表于 2017-1-10 23:52:44 来自手机 | 只看该作者
楼主有没有新的驱动包给我一份!谢谢
回复

使用道具 举报

67#
发表于 2017-1-15 16:40:16 | 只看该作者
本帖最后由 红毛樱木 于 2017-1-15 19:33 编辑
sp_star 发表于 2017-1-9 19:30
更新的fdrv.exe,可以输出多个匹配的结果。匹配规则还和以前一样。

下载:  


能编译一个支持nt5.x运行的exe吗?03PE下有这个需求。
输出结果方便按版本高低顺序排列吗?

点评

试试这个: 排序用PECMD实现吧,用程序实现就要解释版本信息,这样就不灵活了。  详情 回复 发表于 2017-1-15 21:27
回复

使用道具 举报

68#
 楼主| 发表于 2017-1-15 21:27:09 | 只看该作者
红毛樱木 发表于 2017-1-15 16:40
能编译一个支持nt5.x运行的exe吗?03PE下有这个需求。
输出结果方便按版本高低顺序排列吗?

试试这个: fdrv_xp.7z (4.66 KB, 下载次数: 14)
排序用PECMD实现吧,用程序实现就要解释版本信息,这样就不灵活了。

点评

好的,谢谢。 驱动弄成wim挂载,再多线程安装,速度可以飞起了。  详情 回复 发表于 2017-1-15 21:31
回复

使用道具 举报

69#
发表于 2017-1-15 21:31:24 来自手机 | 只看该作者
sp_star 发表于 2017-1-15 21:27
试试这个:
排序用PECMD实现吧,用程序实现就要解释版本信息,这样就不灵活了。

好的,谢谢。
驱动弄成wim挂载,再多线程安装,速度可以飞起了。

点评

飞不起来吧。搜索,解压再快,安装驱动本身也要一些时间,这个省不了啊。  详情 回复 发表于 2017-1-15 21:45
回复

使用道具 举报

70#
 楼主| 发表于 2017-1-15 21:45:32 | 只看该作者
红毛樱木 发表于 2017-1-15 21:31
好的,谢谢。
驱动弄成wim挂载,再多线程安装,速度可以飞起了。

飞不起来吧。搜索,解压再快,安装驱动本身也要一些时间,这个省不了啊。

点评

在PE下,相对于之前的CAB方式安装应该快了很多。  详情 回复 发表于 2017-1-15 22:18
回复

使用道具 举报

71#
发表于 2017-1-15 22:18:36 | 只看该作者
sp_star 发表于 2017-1-15 21:45
飞不起来吧。搜索,解压再快,安装驱动本身也要一些时间,这个省不了啊。

在PE下,相对于之前的CAB方式安装应该快了很多。
回复

使用道具 举报

72#
发表于 2017-1-15 22:24:59 | 只看该作者
CreateInfDb2.rar (658.17 KB, 下载次数: 43)
能处理大部分INF,一些特殊的处理不了的列表出来。
生成索引方法,在程序当前目录和子目录(相对目录不用选)搜索INF生成DrvData.db索引文件。Unicode编码的,手动转下ANSI编码就可以用fdrv.exe了。

建议fdrv.exe能支持处理Unicode编码,这样就可以根据它的反馈信息做个窗体出来不至于乱码。

点评

厉害! 果然是方便! unicode就算了,一个是不会处理,一个是不想拖慢处理速度。  详情 回复 发表于 2017-1-15 22:54
回复

使用道具 举报

73#
 楼主| 发表于 2017-1-15 22:54:48 | 只看该作者
红毛樱木 发表于 2017-1-15 22:24
能处理大部分INF,一些特殊的处理不了的列表出来。
生成索引方法,在程序当前目录和子目录(相对目录不用 ...

厉害! 果然是方便!
unicode就算了,一个是不会处理,一个是不想拖慢处理速度。

点评

fdrv的结果方便按匹配ID结果的长短排序一次吗?长结果在前面,短结果在后面,这样应该更符合实际。 或者这个功能方便加个参数吗?需要的时候用,不需要的时候不用。嘿嘿  详情 回复 发表于 2017-1-16 15:09
回复

使用道具 举报

74#
发表于 2017-1-16 15:09:05 来自手机 | 只看该作者
sp_star 发表于 2017-1-15 22:54
厉害! 果然是方便!
unicode就算了,一个是不会处理,一个是不想拖慢处理速度。

fdrv的结果方便按匹配ID结果的长短排序一次吗?长结果在前面,短结果在后面,这样应该更符合实际。
或者这个功能方便加个参数吗?需要的时候用,不需要的时候不用。嘿嘿

点评

现在是匹配就直接输出了,没有存下来。所以不好对最后结果进行处理。  详情 回复 发表于 2017-1-16 16:38
回复

使用道具 举报

75#
 楼主| 发表于 2017-1-16 16:38:53 | 只看该作者
红毛樱木 发表于 2017-1-16 15:09
fdrv的结果方便按匹配ID结果的长短排序一次吗?长结果在前面,短结果在后面,这样应该更符合实际。
或者 ...

现在是匹配就直接输出了,没有存下来。所以不好对最后结果进行处理。
回复

使用道具 举报

76#
发表于 2017-1-17 18:35:04 | 只看该作者
本帖最后由 红毛樱木 于 2017-1-17 18:39 编辑

AUTODRV_X64.zip (1.36 MB, 下载次数: 54)
AUTODRV_X86.zip (1.16 MB, 下载次数: 53)

参数说明(总共三个参数):
第一参数是需要安装的HWID(如果安装所有类型就用*,为空则为*,如果指定某一类型可以用类似"PCI\CC_0300"这样的通用兼容ID,注意若要使用第二个参数则第一个参数不能为空)
第二个参数传递驱动包是否为7z格式(若参数为no7z,则表示驱动包类型不是是7z类型;参数为空或其他字符串则表示是7z类型,注意若要使用第三个参数,则第二个参数不能为空)
第三个参数是指定驱动包所在的路径(如C:\AAA,目录后面不要带\);


改进,代码重写(代码基本都是老五完工的),多线程赛选适配驱动,支持非7z压缩包(参见参数二),可以用于PE内把驱动打包成WIM,然后挂载,再用参数三来匹配搜索安装。















------------------------------
@sp_star 发了站内消息给你
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-6-30 19:34

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表