中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-15 01:11
47,813 主题排行 / 349,902 发帖 / 今日 4 篇 / 48,257 会员排行
其它操作系统综合讨论区 » [原创]借助DevCon纯脚本备份驱动,兼容驱动精灵(2008-01-17)
可打印版本  82,477 / 72
第1楼 fastslz 发表于 2007-11-06 13:30
铂金会员 发帖 2,315 积分 5,493 来自 上海
[原创]借助DevCon纯脚本备份驱动,兼容驱动精灵(2008-01-17)
因会员要求利用纯脚本来安全删除U盘那贴,无意间发现DevCon命令就突发奇想,利用这个命令写个脚本来备份设备驱动。此脚本可以备份全部的设备驱动包括设备管理器中隐藏的设备,就备份项目上超过了大家熟悉的驱动精灵。


更新说明:
  不能说此脚本比驱动精灵更完美,但它确实弥补了驱动精灵的不足!
1、支持备份完整的WHQL数字签名(我手头的驱动精灵 2005专业版就不支持),其它更新版本未知,因为我不想为更高版本激活Key犯愁了:-)
2、兼容驱动精灵已备份的项目,也就是说运行一下脚本就还原所有驱动精灵曾经备份的项目,且路径是任意的,只要在硬盘上或U盘上统统搜出来并更新。
3、支持鼠标点击对话框任选单个设备还原驱动方式。
4、支持宁静默方式外挂安装更新驱动,方便系统集成、Ghost用户调用。
5、修正可能存在的复制错误,更新备份时屏幕显示方式,打印出包含WHQL数字签名的设备名
6、2008-01-17更新重复备份同一设备的问题,更新代码稳定性





附件
备份驱动.rar (91.35 KiB)
第2楼 hello547rf44 发表于 2007-11-06 20:24
初级用户 发帖 63 积分 172
COOL,刚刚从vkill师父那里知道有这个好东西,就马上用上了。测试结果如下:

正在备份驱动 ---> "Intel(R) 82845 Processor to I/O Controller - 1A30"
正在备份驱动 ---> "Intel(R) 82845 Processor to AGP Controller - 1A31"
正在备份驱动 ---> "Intel(R) 82801BA LPC Interface Controller - 2440"
正在备份驱动 ---> "Intel(R) 82801BA/BAM USB Universal Host Controller - 2442"
正在备份驱动 ---> "Intel(R) 82801BA/BAM SMBus Controller - 2443"
正在备份驱动 ---> "Intel(R) 82801BA/BAM USB Universal Host Controller - 2444"
正在备份驱动 ---> "Intel(r) 82801BA/BAM AC'97 Audio Controller"
正在备份驱动 ---> "Intel(R) 82801BA Ultra ATA Storage Controller - 244B"
正在备份驱动 ---> "Intel(R) 82801 PCI Bridge - 244E"
正在备份驱动 ---> "USB Root Hub"
正在备份驱动 ---> "USB Root Hub"
正在备份驱动 ---> "Unknown Device"
正在备份驱动 ---> "USB USB\VID_8086&PID_1122\5&16DC22A8&0&2
: Generic USB Hub"
正在备份驱动 ---> "WDC WD400BB-00JHC0"

已经备份了 17 个设备驱动

在复制过程中遇到错误
请检查日志文件 "Drivers\1.log"

请按任意键继续. . .

好像有一点重复备份了。
第3楼 hello547rf44 发表于 2007-11-06 20:27
初级用户 发帖 63 积分 172
期待还原驱动的作品!

附件
1.gif (5.23 KiB)
第4楼 fastslz 发表于 2007-11-07 13:26
铂金会员 发帖 2,315 积分 5,493 来自 上海
还原驱动不好搞定啊,想了几个方案,搞的现在满脑子符号,弄的完全没有头绪了。devcon install参数不适合已知硬件,devcon update必须要先获得硬件ID,硬件ID有一定规律但不好筛选,还要筛选些不必更新的。
第5楼 fastslz 发表于 2007-11-07 13:52
铂金会员 发帖 2,315 积分 5,493 来自 上海
这楼我就贴点Devcon相关参数及其它应用


常用类型:PCI PCIIDE USB USBSTOR IDE PCIIDE DISPLAY
Devcon hwids * 获取全部的硬件ID
Devcon hwids 常用类型\* 获取常用类型硬件ID
Devcon find 常用类型\* 查找常用类型硬件信息
Devcon find gendisk 只查找硬盘包括移动硬盘信息
Devcon find gencdrom 只查找光驱信息
Devcon update xxx.inf 硬件ID 更新驱动


查询:全球所有 PCI,AGP,PCI-X,PCIe 硬件ID及名称该站不断更新信息(如果你是OEM设备那就查查吧)



[ Last edited by fastslz on 2007-11-7 at 06:09 PM ]
第6楼 vkill 发表于 2007-11-07 21:49
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
devcon hwids * 后察看就有下面这段



正在备份驱动 ---> "RADEON 9550 "
请按任意键继续. . .

现在察看刚备份的文件夹下就有个inf文件




我想依次
Hardware ID's:
PCI\VEN_1002&DEV_4153&SUBSYS_41531FD3&REV_00
PCI\VEN_1002&DEV_4153&SUBSYS_41531FD3
PCI\VEN_1002&DEV_4153&CC_030000
PCI\VEN_1002&DEV_4153&CC_0300
把这四个都更新应该没有什么问题
谁测试下好了

[ Last edited by vkill on 2007-11-7 at 09:58 PM ]
第7楼 vkill 发表于 2007-11-07 22:09
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
C:\>cd C:\Downloads\Drivers\USB\USB Root Hub

C:\Downloads\Drivers\USB\USB Root Hub>devcon update "C:\Downloads\Drivers\USB\US
B Root Hub\usbport.inf" "USB\ROOT_HUB&VID10DE&PID00E7&REV00A1"
Updating drivers for USB\ROOT_HUB&VID10DE&PID00E7&REV00A1 from C:\Downloads\Driv
ers\USB\USB Root Hub\usbport.inf.
Drivers updated successfully.

C:\Downloads\Drivers\USB\USB Root Hub>devcon update "C:\Downloads\Drivers\USB\US
B Root Hub\usbport.inf" "USB\ROOT_HUB&VID10DE&PID00E7"
Updating drivers for USB\ROOT_HUB&VID10DE&PID00E7 from C:\Downloads\Drivers\USB\
USB Root Hub\usbport.inf.
Drivers updated successfully.

C:\Downloads\Drivers\USB\USB Root Hub>devcon update "C:\Downloads\Drivers\USB\US
B Root Hub\usbport.inf" "USB\ROOT_HUB"
Updating drivers for USB\ROOT_HUB from C:\Downloads\Drivers\USB\USB Root Hub\usb
port.inf.
Drivers updated successfully.

像这个更新 USB Root Hub 的就没有问题,一切正常
第8楼 fastslz 发表于 2007-11-07 23:00
铂金会员 发帖 2,315 积分 5,493 来自 上海

恩上面的都是硬件ID,有的少有的多,devcon update oem4.inf 上面10个都能成功更新,最通用是PCI\VEN_1002,也就是筛选出符号&第1次出现的前几位就行了,这个筛选是最通用的。但是在USB设备上有时就不通用如
"@USB\ROOT_HUB\4&1D255E7A&0"
"@USB\ROOT_HUB\4&84E02D0&0"
"@USB\ROOT_HUB\4&A6BADD5&0"


备份的时候已经生成了硬件ID保存在HardwareID.log
第9楼 fastslz 发表于 2007-11-08 13:04
铂金会员 发帖 2,315 积分 5,493 来自 上海
还原驱动已经写好了1楼打包下载,需要sed.exe,有问题跟贴
另外有SATA,SATAII,SCSI,IEEE1394设备的朋友麻烦告知下这些设备是否在常用类型里,谢谢



































[ Last edited by fastslz on 2007-11-8 at 05:10 PM ]
第10楼 hello547rf44 发表于 2007-11-08 13:56
初级用户 发帖 63 积分 172
NVIDIA GeForce4 MX 440 (Microsoft Corporation)
D-Link DFE-530TX PCI Fast Ethernet Adapter (rev.C) #3
D-Link DFE-530TX PCI Fast Ethernet Adapter (rev.C) #2
Intel(R) 82845 Processor to I/O Controller - 1A30
Intel(R) 82845 Processor to AGP Controller - 1A31
Intel(R) 82801BA LPC Interface Controller - 2440
Intel(R) 82801BA/BAM USB Universal Host Controller - 2442
Intel(R) 82801BA/BAM SMBus Controller - 2443
Intel(R) 82801BA/BAM USB Universal Host Controller - 2444
Intel(r) 82801BA/BAM AC'97 Audio Controller
Intel(R) 82801BA Ultra ATA Storage Controller - 244B
Intel(R) 82801 PCI Bridge - 244E
USB Root Hub
USB Root Hub
Unknown Device
USB USB\VID_8086&PID_1122\5&16DC22A8&0&2 : Generi
SB Hub
找不到文件 - input.inf
WDC WD400BB-00JHC0

请选择要更新的设备名,模糊输入连续5个以上字节↘








不会用
第11楼 fastslz 发表于 2007-11-08 14:03
铂金会员 发帖 2,315 积分 5,493 来自 上海
我也刚发现,全部备份的就会出现这个情况,汗啊,待修正....
模糊输入即NVIDIA GeForce4 MX 440 (Microsoft Corporation)只要输入NVIDIA

[ Last edited by fastslz on 2007-11-8 at 02:04 PM ]
第12楼 hello547rf44 发表于 2007-11-08 14:25
初级用户 发帖 63 积分 172
不错,不错。建意另外加个auto参数。能以静默方式还原Drives目录下的所有驱动。(即使个别错误也不提示)如果这个也能实现的话,再建意“备份驱动.bat”和“还愿驱动”加上个压缩包功能。把所有的驱动打包为mydirves.zip类似的一个文件。还原的话就先将它解开。哇,这样的话,不用过多久,那此GHOST系统之类的装机光盘又有的更新了。哈哈。
这么好的贴子为什么不加精呢?
第13楼 sh2288 发表于 2007-11-08 15:39
新手上路 发帖 2 积分 4
高手啊!!我只用这个工具切换网卡!!
一个网卡是boardcom,一个是8139的.因为一个是内部一个是外部所以手动麻烦啊!!

devcon disable *DEV_1677* >nul
devcon enable *DEV_8139* >nul
第14楼 fastslz 发表于 2007-11-08 17:56
铂金会员 发帖 2,315 积分 5,493 来自 上海
Originally posted by hello547rf44 at 2007-11-8 14:25:
不错,不错。建意另外加个auto参数。能以静默方式还原Drives目录下的所有驱动。(即使个别错误也不提示)如果这个也能实现的话,再建意“备份驱动 ...

还原还要驱动优化,这个就当是临时还原脚本吧。压缩是最简单的直接调用
start winrar.exe u -ep1 -m5 -r .\MyDrivers.rar .\*
至于ghost系统吧我是不感冒,但是驱动和硬件ID收集够多完全能做到,我倒喜欢系统安装时外挂脚本安装驱动

Originally posted by sh2288 at 2007-11-8 15:39:
高手啊!!我只用这个工具切换网卡!!
一个网卡是boardcom,一个是8139的.因为一个是内部一个是外部所以手动麻烦啊!!

devcon disable *DEV_1677* >nul
devcon enable *DEV_8139* >nul

确实是个好办法,象你这样的情况很普遍,呵呵现在有新招了。。。。
第15楼 fastslz 发表于 2007-11-13 14:07
铂金会员 发帖 2,315 积分 5,493 来自 上海


[ Last edited by fastslz on 2008-1-17 at 10:26 PM ]
1 2 3 45  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023