无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3590|回复: 84
打印 上一主题 下一主题

[教程] DriverIndexer 2.0已经发布

  [复制链接]
跳转到指定楼层
1#
发表于 2025-11-30 15:34:25 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 pda8888 于 2025-12-1 08:08 编辑

我只是搬运工,也不是作者哈,之前没有搜索到原作者发布的:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=425318 ,请移步。
比V1.1好用太多。
https://github.com/FirPE-Team/DriverIndexer/tree/main
简介
DriverIndexer 是一个高效、智能的驱动程序管理和安装命令行工具。它专注于解决传统驱动包安装速度慢、资源浪费的问题。
  • 按需解压 - 仅解压当前设备所需的驱动程序,大幅缩短安装时间。
  • 🎯 智能匹配 - 自动识别硬件 ID,精准匹配最佳驱动程序。
  • 📦 多格式支持 - 支持驱动程序目录、7z 压缩包等多种驱动包格式。
  • ⚙️ 高性能 - 利用多线程和智能索引技术提升安装和管理速度。
  • 🔄 离线支持 - 支持对离线 Windows 系统进行驱动程序的导入、安装与管理,不依赖 DISM 环境。
  • 🖥️ 命令行界面 - 支持静默安装和自动化部署,方便集成到维护脚本中。
  • 🛠️ 驱动管理 - 提供系统驱动程序的导入、导出和删除功能。
  • 🔧 驱动打包 - 可将驱动与程序合并为单一自解压可执行文件(EXE)。
DriverIndexer的价值?
传统的驱动包安装方式,需要将整个驱动包(可能包含几 GB 数据)全部解压,再调用 Dpinst 或类似工具进行安装,这不仅消耗大量时间,还浪费磁盘空间。
DriverIndexer 通过建立索引文件,实现了根据设备需求按需解压和自动安装的功能,极大地提升了安装效率。
索引文件是什么?
索引文件是 DriverIndexer 的核心。由于硬件 ID 列表存储在 INF 文件内部,我们首先需要创建 硬件 ID 列表 与 驱动包内驱动文件路径 的对应关系。这一关系即是索引(JSON 格式)。
通过索引,程序能够迅速确定设备所需的驱动程序,从而实现精准的按需解压和安装。
软件架构
使用Rust语言编写,调用 WindowsAPI 获取硬件信息、安装设备驱动。
驱动匹配规则
三次匹配(防止部分驱动未安装成功)
  • 匹配当前系统架构
  • 匹配当前操作系统版本
  • 匹配当前设备的硬件 ID
  • 匹配当前设备的兼容 ID
驱动排序规则
  • 签名状态(微软签名 > 其他签名 > 未签名)
  • 匹配分数(最强优先)
  • 驱动日期(最新优先)
  • 驱动版本(最新优先)
使用说明
本程序为命令行程序,故需要在其后面接参数运行,如直接双击程序将会出现“闪退”现象,您可通过cmd、PowerShell等终端来运行。
注意:请使用管理员身份运行终端。
创建驱动索引文件
索引文件通常在首次使用驱动包时创建,后续如驱动包内容发生变动,需要重建索引。
DriverIndexer.exe index <驱动包/目录路径> <索引文件保存路径>
  • 选项
    • --password <密码>:指定驱动包密码
  • 示例
    • DriverIndexer.exe index D:\netcard D:\index.json
    • DriverIndexer.exe index D:\netcard.7z D:\index.json
安装驱动程序
使用索引文件或直接指定驱动包路径进行安装。
DriverIndexer.exe install <驱动包/目录路径> [索引文件路径] [选项]
  • 驱动路径格式:压缩包(限 7zip 所支持的格式)、目录格式。
  • 支持通配符(*、?),用于匹配多个驱动包。
  • 不使用索引时将自动创建临时索引
  • 选项
    • --password <密码>:指定驱动包密码,用于解压驱动包。
    • --class <驱动类别>:指定驱动类别,仅安装指定类别驱动。
    • --missing-only:仅安装未安装驱动的设备,默认安装所有匹配设备的驱动。
    • --extract-path <解压目录>:仅解压驱动,不安装驱动。默认解压到临时目录。
  • 示例
    • DriverIndexer.exe install D:\netcard
    • DriverIndexer.exe install D:\netcard.7z
    • DriverIndexer.exe install D:\netcard\*.7z
    • DriverIndexer.exe install D:\netcard.7z netcard.json
    • DriverIndexer.exe install D:\netcard\*.7z D:\netcard\*.json
安装离线系统驱动
安装离线系统驱动库中的驱动,未指定系统盘则全盘搜索系统盘。
DriverIndexer.exe install-offline [系统盘路径]
  • 选项
    • --missing-only:仅安装未安装驱动的设备,默认安装所有匹配设备的驱动。
    • --class <驱动类别>:仅安装指定类别驱动。
查看驱动索引信息
查看索引子命令,用于查看驱动索引文件中的信息。
DriverIndexer.exe info <索引文件路径>
  • 示例
    • DriverIndexer.exe info D:\netcard.json
列举驱动
列出当前系统或离线系统的驱动存储中的驱动。
DriverIndexer.exe list <系统盘路径>
  • 选项
    • --class <驱动类别>:指定驱动类别,仅显示指定类别驱动。
    • --provider <驱动供应商>:指定驱动供应商,仅显示指定供应商驱动。
导入驱动
将驱动导入到系统驱动存储区。
DriverIndexer.exe import <系统盘路径> <驱动路径>
  • 选项
    • --password <密码>:指定驱动包密码,用于解压驱动包。
    • --match-device: 匹配当前系统设备,默认匹配所有设备。
导出驱动
从系统驱动存储中导出特定驱动。
DriverIndexer.exe export <系统盘路径> <导出目录>
  • 选项
    • --inf <驱动名称>:指定驱动名称,仅导出指定驱动。
    • --class <驱动类别>:指定驱动类别,仅导出指定类别驱动。
    • --provider <驱动供应商>:指定驱动供应商,仅导出指定供应商驱动。
删除驱动
从系统驱动存储中删除驱动。
DriverIndexer.exe remove <系统盘路径>
  • 选项
    • --inf <驱动名称>:指定驱动名称,仅删除指定驱动。
    • --class <驱动类别>:指定驱动类别,仅删除指定类别驱动。
    • --provider <驱动供应商>:指定驱动供应商,仅删除指定供应商驱动。
    • --all: 删除所有驱动。
创建自解压驱动程序包
将 DriverIndexer 与驱动包合并,生成一个单一的 EXE 文件。这个 EXE 将自动运行,并按需解压和安装内置驱动。
温馨提示:驱动包不能设置密码,否则会导致驱动安装失败。
DriverIndexer.exe pack <驱动包/目录路径> <输出EXE路径>
  • 示例
    • DriverIndexer.exe pack D:\netcard D:\netcard.exe
    • DriverIndexer.exe pack D:\netcard.7z D:\netcard.exe
驱动文件整理
将一个目录内的 INF 文件按照厂商、类别等规则进行分类和重命名。
DriverIndexer.exe organize <驱动路径> <导出目录>
  • 示例
    • DriverIndexer.exe organize D:\netcard D:\netcard-organized
全局选项
DriverIndexer.exe [全局选项] 命令 参数
[td]
参数短参数描述默认值
--debug调试模式,输出调试信息到控制台
--language设置程序语言 (En, zh-cn, zh-tw, ja-jp、ko-kr)自动识别
--log<日志文件路径>开启日志。将所有运行信息打印到指定文件中,方便排查问题。

驱动类别参考
以下是常见的驱动类别名称,可用于--class参数指定驱动类别。
注意:
  • 驱动类别名称不区分大小写,如Display和display效果相同。
  • 驱动类别名称可以由驱动厂商定义,故没有限制驱动类别名称,请确保类别名称正确。

类别名称描述
Display显示适配器
Net网络适配器
Media声音、视频和游戏控制器
System系统设备
HID人体学输入设备
USBUSB 控制器
Bluetooth蓝牙设备
Printer打印机
Imaging图像设备
SCSIAdapterSCSI 和 RAID 控制器
DiskDrive磁盘驱动器
Computer计算机
Processor处理器
Monitor监视器
Keyboard键盘
Pointer鼠标和其他指针设备
Modem调制解调器
Media多媒体设备
System系统设备



81#
发表于 2025-12-26 11:00:13 | 只看该作者
virgin 发表于 2025-12-12 15:12
我测试了导出命令,报错了,我确定吧程序已经改名成Driverindexer.exe 放到了X:\Windows目录
PS X:%user ...

V2.1.0修复了,可以再试下
回复

使用道具 举报

80#
发表于 2025-12-12 21:52:31 | 只看该作者
谢谢分享
回复

使用道具 举报

79#
发表于 2025-12-12 21:35:52 | 只看该作者
收藏备用
回复

使用道具 举报

78#
发表于 2025-12-12 20:06:33 | 只看该作者
谢谢分享
回复

使用道具 举报

77#
发表于 2025-12-12 20:00:15 | 只看该作者
834772509 发表于 2025-12-11 14:57
install 命令是匹配当前设备安装,虚拟驱动可以通过import命令导入驱动

哦?谢谢,改天试试
回复

使用道具 举报

76#
发表于 2025-12-12 15:12:07 | 只看该作者

我测试了导出命令,报错了,我确定吧程序已经改名成Driverindexer.exe 放到了X:\Windows目录
PS X:\Users\Administrator> X:\Windows\DriverIndexer.exe export C:\ C:\DriverBackup
  错误      open driver store failed
使用powershell 和 cmd都是一样的错误,我是在PE下使用的

点评

V2.1.0修复了,可以再试下  详情 回复 发表于 2025-12-26 11:00
回复

使用道具 举报

75#
发表于 2025-12-11 15:06:47 | 只看该作者
感谢分享
回复

使用道具 举报

74#
发表于 2025-12-11 14:59:13 | 只看该作者
感谢楼主分享
回复

使用道具 举报

73#
发表于 2025-12-11 14:57:15 | 只看该作者
flyingdancex 发表于 2025-12-1 13:11
好像不能安装虚拟驱动,比如TightVNC里的虚拟显卡驱动"dfmirage" "Mirage Driver"

install 命令是匹配当前设备安装,虚拟驱动可以通过import命令导入驱动
  1. DriverIndexer.exe import <系统盘路径> <驱动路径>
复制代码

点评

哦?谢谢,改天试试  详情 回复 发表于 2025-12-12 20:00
回复

使用道具 举报

72#
发表于 2025-12-11 14:55:10 | 只看该作者
virgin 发表于 2025-12-11 14:28
我不会用,大佬能不能帮我写个BAT,我在PE桌面上创建个文件夹叫     离线驱动    当我双击这个BAT的时候自 ...
  1. "%ProgramFiles%\DriverIndexer\DriverIndexer.exe" import C:\ "%desktop%\离线驱动"
复制代码

点评

我测试了导出命令,报错了,我确定吧程序已经改名成Driverindexer.exe 放到了X:\Windows目录 PS X:%users\Administrator> X:\Windows\DriverIndexer.exe export C:\ C:\DriverBackup 错误 open driver stor  详情 回复 发表于 2025-12-12 15:12
回复

使用道具 举报

71#
发表于 2025-12-11 14:28:36 | 只看该作者
我不会用,大佬能不能帮我写个BAT,我在PE桌面上创建个文件夹叫     离线驱动    当我双击这个BAT的时候自动把这个文件夹里面的驱动注入到C盘的离线Windows中。
DriverIndexer 我打算放在 X:\Program Files\DriverIndexer\DriverIndexer.exe

点评

"%ProgramFiles%\DriverIndexer\DriverIndexer.exe" import C:\ "%desktop%\离线驱动"  详情 回复 发表于 2025-12-11 14:55
回复

使用道具 举报

70#
发表于 2025-12-11 10:00:10 | 只看该作者
邪恶海盗 发表于 2025-11-30 15:52
试了下,不支持XP:

下版本修,可以支持
回复

使用道具 举报

69#
发表于 2025-12-11 09:00:25 | 只看该作者
感谢分享
回复

使用道具 举报

68#
发表于 2025-12-6 18:12:56 | 只看该作者
没有图形界面啊
回复

使用道具 举报

67#
发表于 2025-12-4 11:04:37 | 只看该作者
谢谢分享
回复

使用道具 举报

66#
发表于 2025-12-4 07:21:48 | 只看该作者
谢谢,感谢楼主分享。
回复

使用道具 举报

65#
发表于 2025-12-1 16:10:00 | 只看该作者
感谢分享
回复

使用道具 举报

64#
发表于 2025-12-1 15:53:10 | 只看该作者
邪恶海盗 发表于 2025-11-30 15:52
试了下,不支持XP:

我去github上面看了一下,代码是用rust写的,不支持xp很正常。xp还是建议用旧版。
回复

使用道具 举报

63#
发表于 2025-12-1 15:40:19 | 只看该作者
感谢分享
回复

使用道具 举报

62#
发表于 2025-12-1 15:00:47 | 只看该作者
纯命令行,先看看
回复

使用道具 举报

61#
发表于 2025-12-1 14:41:32 | 只看该作者
感谢辛苦分享!
回复

使用道具 举报

60#
发表于 2025-12-1 14:02:58 | 只看该作者
谢谢分享!!!
回复

使用道具 举报

59#
发表于 2025-12-1 14:01:21 | 只看该作者
谢谢
回复

使用道具 举报

58#
发表于 2025-12-1 13:54:43 来自手机 | 只看该作者
谢谢分享
回复

使用道具 举报

57#
发表于 2025-12-1 13:52:34 | 只看该作者
好。。。。。。。。。。
回复

使用道具 举报

56#
发表于 2025-12-1 13:33:33 | 只看该作者

谢谢回复  还有个问题

在没提前索引情况下。安驱动。会临时索引。但不会保存这次索引的文件么?
"%~dp0DriverIndexer-%bits%.exe" --debug --log "%~dp0install.log" install "%~dp0drv"

还一个问题就是 我索引了驱动后



"%~dp0DriverIndexer-%bits%.exe" --debug --log "%~dp0install.log" install "%~dp0drv" "%~dp0drv\index.json"

这命令安装 不清楚为什么报错。 用索引安装的话。只能是压缩文件么。不能是目录么。



回复

使用道具 举报

55#
发表于 2025-12-1 13:29:41 | 只看该作者
下载了,有时间来好好研究一下
回复

使用道具 举报

54#
发表于 2025-12-1 13:14:35 | 只看该作者
谢谢分享
回复

使用道具 举报

53#
发表于 2025-12-1 13:11:30 | 只看该作者
好像不能安装虚拟驱动,比如TightVNC里的虚拟显卡驱动"dfmirage" "Mirage Driver"

点评

install 命令是匹配当前设备安装,虚拟驱动可以通过import命令导入驱动  详情 回复 发表于 2025-12-11 14:57
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2026-1-15 19:29

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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