无忧启动论坛
标题: DriverIndexer - 驱动索引加载器 [打印本页]
作者: 834772509 时间: 2021-5-18 22:21
标题: DriverIndexer - 驱动索引加载器
本帖最后由 834772509 于 2021-5-20 19:07 编辑
介绍DriverIndexer 是用于创建、读取和安装驱动包索引的工具。
DriverIndexer 有什么用?
很多人为了安装方便,将多个驱动打包为一个驱动包,而一般安装驱动包需要全部解压,再调用Dpinst等工具进行安装驱动,这种方法非常消耗时间与性能。DriverIndexer的功能就是按需解压当前匹配的驱动,并自动安装。
使用说明本程序为命令行程序,故需要在其后面接参数运行,如直接双击程序将会出现“闪退”现象,您可通过cmd、PowerShell等终端来运行。注意:请使用管理员身份运行终端。
加载驱动
- DriverIndexer.exe load-driver 驱动路径/驱动包路径
- DriverIndexer.exe load-driver D:\netcard
- DriverIndexer.exe load-driver D:\netcard.7z
- DriverIndexer.exe load-driver D:\netcard\*.7z
更多帮助
为便于使用者快速体验,故此处仅列出基本使用,更多用法可前往 https://github.com/834772509/DriverIndexer 查看,项目开源,欢迎Star。
开源许可 DriverIndexer 使用 GPL V3.0 协议开源,请尽量遵守开源协议。
致谢
- Hydrogen
- Lightning
- Skyfree
- 红毛樱木
- 小鸭子
- 毛利
-
DriverIndexer.png
(33.8 KB, 下载次数: 208)
-
-
DriverIndexer-x64.exe
1.41 MB, 下载次数: 732, 下载积分: 无忧币 -2
-
-
DriverIndexer-x86.exe
1.26 MB, 下载次数: 397, 下载积分: 无忧币 -2
作者: rstart 时间: 2021-5-18 23:04
支持一下
作者: ynifcp12 时间: 2021-5-19 01:25
支持一下
作者: Lightning 时间: 2021-5-19 07:53
支持
作者: bfgxp 时间: 2021-5-19 08:07
好工具,这样对于自定义驱动来说非常有用。
作者: 潮流前线wdna 时间: 2021-5-19 08:08
与Lightning大佬的一块发出来了,棒棒的
作者: tingting 时间: 2021-5-19 08:16
好工具,支持了。
作者: 深谷憂狼 时间: 2021-5-19 08:25
谢谢分享好工具
作者: 826773297 时间: 2021-5-19 09:07
一直在用,很不错
作者: wondaol 时间: 2021-5-19 11:18
下载试用,感谢分享
作者: 狼人72105 时间: 2021-5-19 16:09
826773297 发表于 2021-5-19 09:07
一直在用,很不错
你就没用过,,,还说你一直再用,,差评。。差评,必须给差评。。。
作者: ksafei 时间: 2021-5-19 17:32
一直在用,必须支持
作者: rzp428 时间: 2021-5-19 19:58
老师辛苦了,有32位的吗?
作者: hhh333 时间: 2021-5-19 20:16
这个支持WIM格式吗?我一般都是小的包用CAB或7Z,大的包如显卡驱动用WIM,挂一下倒也快。
作者: 834772509 时间: 2021-5-19 21:23
rzp428 发表于 2021-5-19 19:58
老师辛苦了,有32位的吗?
32位之后会发布,现在还处于测试阶段
作者: 834772509 时间: 2021-5-19 21:24
hhh333 发表于 2021-5-19 20:16
这个支持WIM格式吗?我一般都是小的包用CAB或7Z,大的包如显卡驱动用WIM,挂一下倒也快。
文件格式不限制,只要能解压、里面有驱动就行了
作者: hhh333 时间: 2021-5-19 21:38
试了,确实对WIM也可以。这个是用什么工具编写的?
作者: hhh333 时间: 2021-5-19 21:52
本帖最后由 hhh333 于 2021-5-19 21:53 编辑
看了一下,工具是不是要调用7z来处理包里面的文件?只要7z能处理的包都可以安装。这样的话,如果系统里面已经有7z.exe/7z.dll/devcon.exe,是不是可以把这个工具做得很小?
作者: rzp428 时间: 2021-5-19 22:26
谢谢!期待中......
作者: 834772509 时间: 2021-5-19 22:29
hhh333 发表于 2021-5-19 21:38
试了,确实对WIM也可以。这个是用什么工具编写的?
使用Rust编写的(Rust是一门系统级编程语言,效率略高于C++,与C语言不相上下)
作者: 834772509 时间: 2021-5-19 22:32
hhh333 发表于 2021-5-19 21:52
看了一下,工具是不是要调用7z来处理包里面的文件?只要7z能处理的包都可以安装。这样的话,如果系统里面已 ...
是的,但是由于Rust程序体积很膨胀,即便外置7z、Devcon程序也有1MB+,所以还是内置好一些。
作者: hhh333 时间: 2021-5-19 23:35
哦,可是,然而7z就有1M+,我以为可减少1M+至0.5M左右。
作者: 834772509 时间: 2021-5-20 06:26
hhh333 发表于 2021-5-19 23:35
哦,可是,然而7z就有1M+,我以为可减少1M+至0.5M左右。
现在的1.4MB也是UPX压缩过的,压缩前有4MB左右
作者: xiaojinglf 时间: 2021-5-20 10:20
标题可以改成驱动安装器
作者: hhh333 时间: 2021-5-20 10:22
经过比较,确实要比PECMD DEVI *sub XXXXX要快,主要是PECMD安装成功后还会继续尝试扫描安装其他目录的驱动(dpinst.exe的逻辑也是这样的)。
作者: wynew8au 时间: 2021-5-20 10:37
推荐使用C语言,体积小,效率高。
作者: hhh333 时间: 2021-5-20 11:14
经过测试效率比较高,不错。
- @echo off
- echo.|time>t.log
- DriverIndexer.exe load-driver DRV_VGA.wim
- pecmd.exe kill explorer
- echo.|time>>t.log
复制代码 两个时间之间相差13''49
又把上述包解压后,把上述第三行改成DriverIndexer.exe load-driver DRV_VGA即直接指定驱动目录,安装驱动约耗时:11''76,解压与不解压只相差1''73,也即不到2秒,而这个包有250多M,解压后700多M,如果全部解压2秒时间绝对做不到
又用PECMD DEVI *sub比较,耗时要多一倍
作者: hhh333 时间: 2021-5-20 11:49
请尽快发布32位版,当然有空做一下调用工具外置版更好,再减点体积就更OK了。
作者: 834772509 时间: 2021-5-20 12:03
wynew8au 发表于 2021-5-20 10:37
推荐使用C语言,体积小,效率高。
Rust和C语言效率是差不多的,而且C语言没有Rust好写
作者: 834772509 时间: 2021-5-20 12:07
hhh333 发表于 2021-5-20 11:14
经过测试效率比较高,不错。
两个时间之间相差13''49
又把上述包解压后,把上述第三行改成DriverIndexer. ...
其实也可以用索引法,在GitHub上有详细的说明,可以使得速度介于压缩包与解包驱动之间,适用于大文件或固定的驱动包
作者: hhh333 时间: 2021-5-20 15:26
看了说明,确实使用很简洁,32位版呢,想测试一下
作者: 834772509 时间: 2021-5-20 19:08
32位程序已更新
作者: hhh333 时间: 2021-5-20 20:06
有了这个调用,我原来的脚本可以简化点,我先把固定的驱动建一个索引才
作者: hhh333 时间: 2021-5-20 20:20
其他都还满意,就是体积大了点,几十KB最多几百KB为好
作者: rzp428 时间: 2021-5-20 20:31
谢谢楼主,辛苦了!
作者: hhh333 时间: 2021-5-20 22:56
几个问题:
1、索引与包在同一目录下,索引是不是可以不写路径?如下效果是一样的?
DriverIndexer.exe load-driver D:\netcard.7z netcard.json
DriverIndexer.exe load-driver D:\netcard.7z D:\netcard.json
2、我的显卡包加--DriveClass Display反而驱动不了,是什么原因?
3、--DriveClass Display的命令行中的位置不固定吧
作者: 834772509 时间: 2021-5-21 17:20
1. 是的,不写路径会优先搜索当前路径,如果当前路径不存在则会尝试解压驱动包内的索引文件。
2. BUG,经排查是Devcon指定设备类别时,没有安装驱动的设备不会显示,下版本修复。
3. 需要在子命令(load-driver)的后面。
作者: Xongkoro 时间: 2021-5-21 17:44
如果支持路径目录内散放驱动会更好,建议支持散放驱动
作者: 834772509 时间: 2021-5-21 18:03
Xongkoro 发表于 2021-5-21 17:44
如果支持路径目录内散放驱动会更好,建议支持散放驱动
支持的,例如 DriverIndexer.exe load-driver D:\netcard
作者: 2011wolfsina 时间: 2021-5-22 00:51
DriverIndexer-x86.exe在WinXP(正常系统,非PE)下运行提示不是有效的win32程序。
作者: 834772509 时间: 2021-5-22 07:44
2011wolfsina 发表于 2021-5-22 00:51
DriverIndexer-x86.exe在WinXP(正常系统,非PE)下运行提示不是有效的win32程序。
还在研究VC-LTL编译32位程序,下版本修复
作者: hhh333 时间: 2021-5-22 10:15
刚才放8、8.1PE试了一下提示缺文件,从win10中补齐那几个文件,又提示装载点找不到,歇菜
作者: 834772509 时间: 2021-5-22 10:59
hhh333 发表于 2021-5-22 10:15
刚才放8、8.1PE试了一下提示缺文件,从win10中补齐那几个文件,又提示装载点找不到,歇菜
缺啥文件?截图看看
作者: hhh333 时间: 2021-5-22 12:09
"api-ms-win-crt-stdio-l1-1-0.dll"
"api-ms-win-crt-string-l1-1-0.dll"
"api-ms-win-crt-convert-l1-1-0.dll"
"api-ms-win-crt-heap-l1-1-0.dll"
"api-ms-win-crt-locale-l1-1-0.dll"
"api-ms-win-crt-math-l1-1-0.dll"
"api-ms-win-crt-runtime-l1-1-0.dll"
作者: 834772509 时间: 2021-5-22 12:19
hhh333 发表于 2021-5-22 12:09
"api-ms-win-crt-stdio-l1-1-0.dll"
"api-ms-win-crt-string-l1-1-0.dll"
"api-ms-win-crt-convert-l1- ...
是运行32位的DriverIndexer吗?
作者: hhh333 时间: 2021-5-22 12:29
目前测的是32位
作者: 834772509 时间: 2021-5-22 12:56
hhh333 发表于 2021-5-22 12:29
目前测的是32位
好的,因为32位是临时编译的,VC-LTL编译遇到了些困难,等整明白了再重新编译吧
作者: hhh333 时间: 2021-5-22 16:38
64位似乎没问题,刚才测试了
作者: hm1973 时间: 2021-5-22 17:53
谢谢楼主,提供分享!!!
作者: hhh333 时间: 2021-5-23 23:14
32位还没整明白?
作者: 神龍出海 时间: 2021-5-23 23:18
谢分享好工具
作者: seawaycao 时间: 2021-5-24 22:40
谢谢分享!很给力!辛苦了!试试怎么样。
作者: junyee 时间: 2021-7-31 20:20
感谢分享.
不久前才了解这个软件,
从源码看发现内置了 7z , 和18#层主的想法一样,想让其外置.
哪怕是 upx 也可以省一些空间,几百KB也没必要浪费嘛.
性能的话不同代码会有不同的结果,
https://benchmarksgame-team.page ... stest/rust-gpp.html
基本能和c++ 在一个梯队,不错,
就是语法糖和噪声太多,不是我喜欢的类型就不深入了解了.
作者: 贝壳iT 时间: 2021-12-2 20:37
先7z打包成压缩文件,然后再创建索引,索引文件和压缩包同目录,这种情况会自动优先读取索引吗
作者: dblwang 时间: 2021-12-2 20:58
赞一个!
作者: dblwang 时间: 2021-12-2 20:58
赞一个!
作者: wlwei 时间: 2021-12-2 21:47
下载试用,感谢分享
作者: cclgoo 时间: 2022-2-24 01:52
是不是说我把所有网卡驱动放一起会自动选择判断并安装呢,还是说像当前系统驱动一样,只能当前系统的每一零件单独的一个驱动,不能多,如网卡就只可一份驱动,不可其它的
作者: zhangzan30 时间: 2022-2-24 08:53
威利古德
作者: whshxl 时间: 2022-2-24 10:53
谢谢分享
作者: 928274096 时间: 2022-2-24 11:06
驱动随便加,智能加载设备需要的。
作者: cclgoo 时间: 2022-2-24 22:06
本帖最后由 cclgoo 于 2022-2-24 22:16 编辑
谢谢,这样就可以提取并只保留驱动做万驱了,弃掉万恶的推广插件等 当前目录/子文件夹的话DriverIndexer.exe load-driver 驱动路径/驱动包路径
DriverIndexer.exe load-driver netcard.7z
不加路径,直接文件名可行
作者: cclgoo 时间: 2022-3-4 02:31
封装,启动桌面前,DPInst.exe可以,这个没反应,桌面环境也是,驱动为Usb3.0/1通用驱动
作者: winterhope 时间: 2022-3-29 07:05
很不错,支持!
作者: 36D 时间: 2022-3-29 16:12
支持了
作者: 无垠 时间: 2022-11-12 16:29
本帖最后由 无垠 于 2022-11-12 16:39 编辑
测试在独立显卡驱动安装方面,显卡型号:NVIDIA GeForce GT705
1、用系统设备管理手动安装,速度很慢,可以安装上;
2、用 DrvIndex.exe来安装, 手动也安装不上;
3、用 DriverIndexer.exe来安装,我的PE中是右键指向文件夹或压缩包,安装成功!
DriverIndexer.exe还是很不错的,安装网卡驱动也很好用,就是没有读取硬盘系统无线联网密码功能;DrvIndex.exe胜在小巧方便,可以读取密码、可以备份驱动。就是有些硬件安装不成功。
期望更新!
-
sshot-2.png
(848.71 KB, 下载次数: 126)
-
sshot-1.png
(1.09 MB, 下载次数: 113)
作者: sunsmile23 时间: 2022-12-11 19:00
DriverIndexer.exe 和 pecmd 安装多个驱动比较,都有一些不能安装。相比较而言,DriverIndexer.exe成功的多一些。两样都来一遍,就把全部驱动装成功了。
作者: weiweidong 时间: 2022-12-16 20:06
好工具,支持了。感谢分享.
作者: woodee 时间: 2023-2-7 20:42
了解下
作者: vyuha 时间: 2024-5-4 02:37
888
欢迎光临 无忧启动论坛 (http://wuyou.net./) |
Powered by Discuz! X3.3 |