无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 160928|回复: 506
打印 上一主题 下一主题

[分享] PE自动检测安装驱动 外置组件[01-17更新]

  [复制链接]
跳转到指定楼层
1#
发表于 2006-12-4 10:25:39 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
PE外置驱动组件包简单说明

01-17
1.解决了在某些情况下使用DEVCON UPDATE安装驱动失败的问题(比如在acoa 1月9日的版本)

01-13
1.免驱版添加了一个参数 /T
可以从驱动包中安装驱动(也就是将两个版本合在一起了)
驱动包支持将所有驱动文件放在同一目录下,安装时会自动解压有需要的文件.
(是为了直接使用FTP上木鸟的驱动包而设的.
将木鸟的驱动包直接运行(解开)再打包成DRIVERS_开头的文件名即可)
这个也支持以前的驱动包格式.不过速度会慢一点.

注:这个版本没有带解压程序,所以如果需要使用这个功能的需要将7Z的解压命令行程序复制过来.
不需要新功能的没有必要更新.

12.31
1.修正了手工选择目录找不到驱动的问题

12.29
1.免驱动版添加了备份驱动的参数.
2.在最初的版本上加上了删除安装的驱动.

12.25
1.去掉了免驱动安装程序里面的暂时命令.暂时没有发现什么问题了.

12.21
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1
219楼,测试.

12.19
免驱动包程序,修复了一些问题.

12.18
1.可从硬盘上的XP系统在PE中装驱动的SCANDRIVE.CMD
  去掉了INIFILE.EXE和它需要的一个DLL文件,纯批处理处理.减小文件大小.

12.17
1.可从硬盘上的XP系统在PE中装驱动的SCANDRIVE.CMD
无需驱动包就可以在PE中安装驱动.
根据strongchen的想法而做的一个批处理.

pe主要的原因一般就是维护windows,而windows肯定是会装好驱动的。可不可以用cmd从目标windows中提起需要的网卡驱动?(当然那个windows也是xp)

假想中的步骤如下:
1。把目标widnows的inf目录 定义入 DevicePath 中
2。用 bartpe -v -pnp 找到需要的inf。同时卸载驱动。
3。分析 inf 文件,得到需要的 sys ,dll 文件名。并在windows 下找到相关文件,拷贝到相应位置。
4。再安装。。。

其中第3步有些麻烦。。

如果这个成功,pe的延伸性就再进一步了。

注:这只是一个不成熟的作品,未经测试,因为我没有XP系统.
有兴趣的朋权可以研究一下.
http://bbs.wuyou.net/forum.php?m ... age%3D2&page=16
第160楼

12.15
1.修复了一个造成解压两次INF文件的错误,谢谢strongchen兄的提醒
2.修改了删除临时文件的命令的位置.


12.12
1.使用7Z做为解压缩程序.支持更多的压缩格式(7z,zip,rar,cab)需要其它的格式请自己添加.
2.添加了/S:<type>参数,只查找文件名中包含<type>的驱动.
scandrive /s:vga 只解压文件名中包含vga的驱动.

12.8
1.支持新的打包方式.可以将所有驱动文件打成一个包.
2.INF文件可不经过处理.


12.5
1.支持RAR压缩包

使用方法:

添加驱动方法1:

只需将驱动程序压缩存放在DRIVERS目录下(支持子目录)
例子
drivers\显卡驱动\ 存放显卡驱动
drivers\网卡驱动\ 存放网卡驱动

在PE中启动程序scandrive.cmd即可自动检测并安装驱动
可以将scandrive.cmd设为自动启动程序

驱动包创建要求:
1.文件名要和驱动程序的INF文件名一样.
例子:ialmnt5  这845G显卡驱动
inf文件名为:ialmnt5.inf
驱动包文件名就是:ialmnt5.cab 或ialmnt5.rar...
2.按INF内的要求将文件放在指定目录
一般情况下.
.inf -->inf目录
.sys -->system32\drivers
.dll -->system32
.exe -->system32
具体可以查看附带的NETRTSNT.cab这个8139网卡驱动的内容.

添加驱动方法2:
只需将驱动所需的全部文件放到一个文件夹中并将这个文件夹打包到一个以drivers_前辍的rar压缩包中即可.
每个存放INF文件的文件夹其所在的目录和其子目录下的文件均是该INF驱动所需的文件.
不清楚的请看附带的drivers_net.rar

可参考论坛.
[更新]光棍版+网络支持(12.04更新)[strongchen]的贴子里面的添加驱动方法
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D2



by chenall QQ:366840202                2006年11月4日

如果没有什么问题的话,应该可以适用于所有的PNP驱动程序.
使用老毛桃的1111版驱动我的8139网卡和845G显卡正常
其它的我没有条件测试.

还有一点启动后的X盘必需可写.可以使用IMG格式或有FBWF功能

[ 本帖最后由 chenall 于 2007-1-23 09:48 AM 编辑 ]

PEDrive[12-31].rar

108.47 KB, 阅读权限: 1, 下载次数: 2184, 下载积分: 无忧币 -2

免驱动版.[12-31]_FIX

Scandrive.rar

337.02 KB, 阅读权限: 1, 下载次数: 5219, 下载积分: 无忧币 -2

外置驱动组件 [01-02] _Fix

PEDrive[01-17].rar

108.72 KB, 阅读权限: 1, 下载次数: 1623, 下载积分: 无忧币 -2

免驱动版.[01-7]

PEDrivers[01-23].rar

108.77 KB, 阅读权限: 1, 下载次数: 2420, 下载积分: 无忧币 -2

免驱动版.[01-23]

评分

参与人数 1无忧币 +40 收起 理由
strongchen + 40

查看全部评分

2#
 楼主| 发表于 2006-12-4 10:37:49 | 显示全部楼层
驱动可以自己添加,什么驱动都可以,只要符合要求就行.
为了减小上传文件大小,里面只带了一个845G显卡的驱动
回复

使用道具 举报

3#
 楼主| 发表于 2006-12-4 18:12:44 | 显示全部楼层
原帖由 zhfzl2006 于 2006-12-4 01:42 PM 发表
老九120M网络版能够使用吗?

请注意看顶楼的说明和注意事项,只要符合要求都是可以用的.
回复

使用道具 举报

4#
 楼主| 发表于 2006-12-5 11:08:04 | 显示全部楼层
原帖由 zhfzl2006 于 2006-12-5 09:57 AM 发表

谢谢了,不知对系统要求怎样,128M内存能够运行吗?启动时间会变长吗?

这是一个外置组件,只要能启动到PE环境,并且X盘可写就可以用.
128M内存和这个无关
启动时间会变长吗?
这是外置的,也就是启动后才执行的.当然也就和启动时间没有什么关系了.
回复

使用道具 举报

5#
 楼主| 发表于 2006-12-5 11:09:14 | 显示全部楼层
原帖由 kaibiao 于 2006-12-5 10:34 AM 发表
不能用.我的电脑是845gl显卡,用这个工具不能加显卡驱动,而直接加在pe的镜像中就可以认到驱动,还有你里面的845g显卡驱动不能用.谁成功的说一下???


能否将你制作的驱动包传上来,我看一下.
还有INF文件需要经过InfCacheBuild处理一下.或者手工将里面的COPYFILE语句注释掉.
回复

使用道具 举报

6#
 楼主| 发表于 2006-12-5 11:25:25 | 显示全部楼层
11#12#
用cabarc可以.
因为用RAR格式.UNRAR占用的空间比较大,而我本来是要放在服务器上用PXE启动的,文件越小越好,就使用CAB格式了.
我等一下再修改成可以用RAR格式的.
13#14#
只要你添加了声卡驱动就可以啦.

17#
可以在XPEMENU.INI这个外置配置文件里添加.
具体添加方法,论坛已经很多了.
这只是一个外壳,里面有内容是由自己定的.想加什么驱动只要按要求添加就可以了
回复

使用道具 举报

7#
 楼主| 发表于 2006-12-5 13:18:12 | 显示全部楼层
已经上传更新.
支持RAR格式.
to 24#
这个可以自己做一下.方法.
1.下载这两个驱动包.
2.解压.
3.改名.
intel845g\I386\INF\ialmnt5.inf 改名为intel845g.inf
intelDisplay\i386\inf\ialmnt5.inf 改名为intelDisplay.inf
改名因为这两个驱动的INF文件名一样.也可以改成其它的,只要不重复就行.
4.打包.
将这两个驱动分别打包
intel845g\I386下的INF和SYSTEM32目录打包为  intel845g.RAR或intel845g.cab
intelDisplay\i386下的INF和SYSTEM32目录打包为 intelDisplay.RAR或intelDisplay.cab
5.放到DRIVERS目录下.或你的分类目录下
6.测试.
回复

使用道具 举报

8#
 楼主| 发表于 2006-12-5 14:56:55 | 显示全部楼层
InfCacheBuild论坛里找一下,
附手工处理方法:
用记事本打开INF文件.
CTRL+H (替换)
查找copyFiles=
替换为;copyFiles=
查找DellFiles=
替换为;DelFiles=
回复

使用道具 举报

9#
 楼主| 发表于 2006-12-5 16:39:51 | 显示全部楼层
未成功的网卡、声卡文件均已经拷贝到相应目录,不知为何未能加载?
不知是不是不符合要求.或你的INF没有经过InfCacheBuild处理.
未经处理的INF目前是会加载失败的.
启动时间增加20-35秒
这个是启动到桌面后才执行的.要解压所有驱动的INF文件,然后再检测正确的驱动进行安装.
如果驱动比较多,执行就会比较慢,不够这个应该没有什么关系.
你的附件都是可以正常使用的,所以看不出有什么问题.
可以将加载失败的驱动贴上来.

[ 本帖最后由 chenall 于 2006-12-5 04:43 PM 编辑 ]
回复

使用道具 举报

10#
 楼主| 发表于 2006-12-5 17:58:21 | 显示全部楼层
http://free.ys168.com/?chenall
这里可以下载,我刚上传的.
在SOFT目录下.
回复

使用道具 举报

11#
 楼主| 发表于 2006-12-5 23:57:49 | 显示全部楼层
33#
刚刚看了你上传的声卡和网卡驱动
发现你的驱动中的INF文件都没有经过处理。
使用InfCacheBuild处理,或手工处理一下。
附手工处理方法:
用记事本打开INF文件.
CTRL+H (替换)
查找copyFiles=
替换为;copyFiles=
查找DellFiles=
替换为;DelFiles=
回复

使用道具 举报

12#
 楼主| 发表于 2006-12-6 00:21:10 | 显示全部楼层
原帖由 lxl1638 于 2006-12-5 11:16 PM 发表
楼主,能否将你的 Find.EXE 和 ScanDrive.CMD 的工作原理说明一下,本人的批处理很菜,看那个 ScanDrive.CMD 头大了。如果有可能,这两个文件合二为一,做成一个.EXE 文件,可能会搞高执行效率和启动速度的。

我这个SCANDRIVE.CMD的工作原理
1.首先解压所有驱动的INF到某个特定的目录下.
2.在注册表中添加一个驱动的搜索目录(就是上面设定的目录)
3.使用BARTPE -V -PNP检测驱动并将结果存到一个日记文件中(下面需要用到这个日记文件) 这时安装的驱动是无法使用的,因为只有INF文件
4.从上面的日记文件中提取安装上去的驱动的INF文件名.并跟据文件名解压相应的驱动到系统中.
也就是为什么要求驱动包的文件名要和驱动程序的INF文件名一样的原因了.
5.从上面的日记文件中提取硬件ID,使用DEVCON更新驱动(到这里就驱动就正角装上去了)

附上SCANDISK.CMD我加了注释的版本.

[ 本帖最后由 chenall 于 2006-12-6 12:23 AM 编辑 ]

scandrive.rar

1.53 KB, 下载次数: 276, 下载积分: 无忧币 -2

SCANDISK 带注释版

回复

使用道具 举报

13#
 楼主| 发表于 2006-12-6 00:25:30 | 显示全部楼层
原帖由 l1982012800 于 2006-12-6 12:08 AM 发表
ATI显卡2006.11版,已用INF外理,但就是不能安装成功

不知你制作后的这个驱动程序的文件名是?
必需是CX_38529.RAR或CX_38529.CAB
上面已经有ATI成功驱动的了,有下载.如果你作的驱动符合要求,但还是不能使用,可以去下载下来试试.
回复

使用道具 举报

14#
 楼主| 发表于 2006-12-6 22:40:12 | 显示全部楼层
原帖由 l1982012800 于 2006-12-6 06:26 PM 发表
能不能把所有驱动放在一个文件夹里,INF文件都放在一个INF文件夹中,SYS文件都入在DRIVER文件夹中,DLL文件放在SYSTEM文件夹中

虽然可以实现,不过这个方案并不是很好。而且碰到像INTEL集成显卡那样(多种型号的驱动的DLL和SYS文件名一样,但不通用。就不好办了),利用目前的方案可以很好解决。
还要从INF文件中分析正确的SYS文件和DLL文件并复制到系统中,这个也比较麻烦。
回复

使用道具 举报

15#
 楼主| 发表于 2006-12-7 15:41:53 | 显示全部楼层
50#
这个很好实现.
将所有的INF文件复制到一个INF目录下.然后将这个INF目录打包放到DRIVERS目录下就可以了.
不过目前你的驱动包中还是需要有INF文件的.

[ 本帖最后由 chenall 于 2006-12-7 03:47 PM 编辑 ]
回复

使用道具 举报

16#
 楼主| 发表于 2006-12-8 08:04:51 | 显示全部楼层
54#和55#的应该都可以,
回复

使用道具 举报

17#
 楼主| 发表于 2006-12-8 10:12:16 | 显示全部楼层
因为你打包的方式不对.
不要将NV4NET这个目录也打包进去.只需打包INF和SYSTEM32这两个目录.
回复

使用道具 举报

18#
 楼主| 发表于 2006-12-8 12:20:10 | 显示全部楼层
DRIVERS目录或其子目录下有没有那个驱动文件.
或者你可以试试将
for /f "usebackq delims=*" %%i in (`dir /s /a-d/b "drivers\%1.*"`)  do (
这一句修改一下,分成两句来写试试.
dir /s /a-d/b "drivers\%1.*">"%temp%.\~getfile.txt"
for /f "usebackq delims=*" %%i in ("%temp%.\~getfile.txt")  do (

看看%temp%.\~getfile.txt这个文件里面有没有内容.

另,我看了贴图,你的INF文件为MACHINE.INF,那应该要有一个MACHINE.CAB在DRIVERS或其子目录下.
我猜可能压缩包的文件名和INF文件没有同名,所以就找不到文件了.

[ 本帖最后由 chenall 于 2006-12-8 12:31 PM 编辑 ]
回复

使用道具 举报

19#
 楼主| 发表于 2006-12-8 12:30:14 | 显示全部楼层
原帖由 l1982012800 于 2006-12-8 12:23 PM 发表

好像只有INTEL集成显卡才那样的吧,


INTEL集成显卡确实是那样,好像8139的网卡也有类似的.
回复

使用道具 举报

20#
 楼主| 发表于 2006-12-8 14:39:45 | 显示全部楼层
51#后面那一段你有看过的吗?
这就证明了你的DRIVERS和其子目录下都没有MACHINE.RAR或MACHINE.CAB.
你没有完全按照要求来做压缩包.

压缩包的文件名必需和INF文件名一样.

[ 本帖最后由 chenall 于 2006-12-8 03:09 PM 编辑 ]
回复

使用道具 举报

21#
 楼主| 发表于 2006-12-8 18:21:43 | 显示全部楼层
67#
你的修改是正确的,但是他不去从那里找驱动,具体我也说不上来.
我的检测程序中就有改这个路径让它从%TEMP%\INF中找驱动,正常.
68#
晕.这个是你自己打包的进去的,跟检测没有关系.
回复

使用道具 举报

22#
 楼主| 发表于 2006-12-8 18:30:52 | 显示全部楼层
12.8 新版测试

1.支持新的打包方式.可以将所有驱动文件打成一个包.
2.INF文件不可不经过处理.
3.驱动包文件名为drivers_xxxx.rar
XXXX可自定,为了方便区分驱动包.


添加驱动方法:
只需将驱动所需的全部文件放到一个文件夹中并将这个文件夹打包到一个以drivers_前辍的rar压缩包中即可.
每个存放INF文件的文件夹其所在的目录和其子目录下的文件均是该INF驱动所需的文件.
不清楚的请看附带的drivers_net.rar

可参考论坛.
[更新]光棍版+网络支持(12.04更新)[strongchen]的贴子里面的添加驱动方法
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D2
兼容strongchen的压缩包方式也就是说,只要从上面贴子中下载提取网络外置组件
并将里面的驱动文件改成用RAR压缩
并将压缩后的RAR文件改名为
drivers_xxxx.rar就可以了.
放到SCANDRIVE.CMD同一个目录下就可以使用这个驱动包了.:lol

[ 本帖最后由 chenall 于 2006-12-8 06:32 PM 编辑 ]

PE_DRIVE.part1.rar

292.97 KB, 阅读权限: 1, 下载次数: 197, 下载积分: 无忧币 -2

PE_DRIVE.part2.rar

292.97 KB, 阅读权限: 1, 下载次数: 182, 下载积分: 无忧币 -2

PE_DRIVE.part3.rar

244.48 KB, 阅读权限: 1, 下载次数: 175, 下载积分: 无忧币 -2

回复

使用道具 举报

23#
 楼主| 发表于 2006-12-8 23:20:35 | 显示全部楼层
72#
第一点,其实你可以采用之前的方法来实现.只要这个驱动包放在DRIVERS这个目录下,不管其在这个目录下的那一个子目录中都可以找到.
为了减小文件体积,我想压缩还是有必要的.并且压缩包可以防止一些意外破坏.
第二点.DRIVERS_xxxx.rar里面支持多级子目录.
73#
老猫1204版?
74#
75#正解.
回复

使用道具 举报

24#
 楼主| 发表于 2006-12-9 09:49:11 | 显示全部楼层
原帖由 wanghh 于 2006-12-9 07:22 AM 发表
是不是要把这几个文件放入光棍版系统中。

想要加到这个版本中,需要修改里面启动网络的批处理.
这个驱动包里面除了那些驱动的压缩包以外都是必要的文件,不可删除.
驱动包请自已添加.

[ 本帖最后由 chenall 于 2006-12-9 09:56 AM 编辑 ]
回复

使用道具 举报

25#
 楼主| 发表于 2006-12-9 09:51:36 | 显示全部楼层
原帖由 jxyun99 于 2006-12-9 09:05 AM 发表
请问LZ你是用什么软件把那些INF处理成一行接一行的啊?手工??

是指?
去除INF里面一些无用的东西,像空行.注释.论坛上好像有一个工具.
回复

使用道具 举报

26#
 楼主| 发表于 2006-12-10 12:15:34 | 显示全部楼层
原帖由 strongchen 于 2006-12-9 10:14 PM 发表
lz可以把新版的文件改为支持7z格式么?(感觉这个压缩率比较高)


7Z的命令行格式我不太清楚,如果你知道的话,可以直接修改里面的RAR解压命令行.改为7Z的解压命令就可以了.
回复

使用道具 举报

27#
 楼主| 发表于 2006-12-11 17:06:46 | 显示全部楼层
刚刚抽空下了一个7Z安装,发现一个7Z.EXE命令行程序竟然可以支持RAR.ZIP.CAB.7Z....的压缩包,
我明天再进行修改,使用7Z替换原来的UNRAR和EXTRACT文件.将支持更多的压缩格式.而且所需的文件/占用空间/解压所需的内存应该也会减小不少.
谢谢strongchen的意见.
回复

使用道具 举报

28#
 楼主| 发表于 2006-12-12 18:30:16 | 显示全部楼层
104#
只解压所有INF文件出来.
105#
应该是你的驱动有问题,或者方法不对.前面有可以使用的,可以去下载下来试试



12.12 更新
1.使用7Z做为解压缩程序.支持更多的压缩格式(7z,zip,rar,cab)需要其它的格式请自己添加.
2.添加了/S:<type>参数,只查找文件名中包含<type>的驱动.
scandrive /s:vga 只解压文件名中包含vga的驱动.

请到顶楼下载.
回复

使用道具 举报

29#
 楼主| 发表于 2006-12-12 21:45:50 | 显示全部楼层
原帖由 zts59 于 2006-12-12 08:39 PM 发表
呵呵,不错,

请问一下,如何用这个安装显卡的驱动?

驱动都有,SYSTEM32下面credui.dll和newdev.dll两个文件都更新成XP的.

可是PE就是不能显示256颜色以上, 总是4色,难看啊.

按照说明添加显卡驱动,如果安装成功屏幕会闪一下,在桌面右键属性可以修改成256色以上.
回复

使用道具 举报

30#
 楼主| 发表于 2006-12-13 10:57:00 | 显示全部楼层
请再看一下顶楼的说明,
新版本的INF文件不需经过任何处理.
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-16 16:50

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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