无忧启动论坛

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

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

  [复制链接]
151#
发表于 2006-12-16 09:04:48 | 只看该作者
回复

使用道具 举报

152#
发表于 2006-12-16 12:07:32 | 只看该作者
磁盘驱动有 asba做了,希望网卡驱动也有人健全。
回复

使用道具 举报

153#
发表于 2006-12-16 14:12:28 | 只看该作者
请楼主指点,这是甚么原因? (使用12.15版)不过点“确定” 后驱动还是安装了。

Snap1.jpg (27.45 KB, 下载次数: 168)

为什么?

为什么?
回复

使用道具 举报

154#
发表于 2006-12-16 14:38:36 | 只看该作者
原帖由 yjliu668 于 2006-12-16 02:12 PM 发表
请楼主指点,这是甚么原因? (使用12.15版)不过点“确定” 后驱动还是安装了。


先把支持网络的文件copy到pe中,然后再加载驱动,否则就会出现这个错误。
回复

使用道具 举报

155#
 楼主| 发表于 2006-12-16 14:41:26 | 只看该作者
应该是找到了驱动,但是INF文件可能没有经过处理.
有复制/删除文件的语句.就会出现这个错误,你可以看看安装后%SYSTEMROOT%\INF目录下的INF文件是否有复制文件的语句.
回复

使用道具 举报

156#
发表于 2006-12-16 18:34:59 | 只看该作者
set pnp_log="%temp%.\~pnpdrive.log"


%temp%后面为什么要加一个点,不加点可以吗
回复

使用道具 举报

157#
 楼主| 发表于 2006-12-16 20:12:40 | 只看该作者
不加的时候,当temp这个变量的最后一个字符是\时就会出错.例子
当temp=b:\
你自己试下吧.
回复

使用道具 举报

158#
发表于 2006-12-17 08:37:30 | 只看该作者
谢谢#155楼和#156楼的指点,不过“INF”文件肯定经过处理,因为是楼主提供的例子。
回复

使用道具 举报

159#
 楼主| 发表于 2006-12-17 18:23:10 | 只看该作者
根据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系统.
有兴趣的朋权可以研究一下.

批处理中set systemroot=c:\windows
是设置WINDOWS XP的安装目录,默认是C:\WINDOWS,可根据实际情况进行修改

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

PE驱动.rar

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

从C:\WINDOWS安装驱动

回复

使用道具 举报

160#
发表于 2006-12-17 18:24:45 | 只看该作者
原帖由 chenall 于 2006-12-17 06:23 PM 发表
根据strongchen的想法而做的一个批处理.


注:这只是一个不成熟的作品,未经测试,因为我没有XP系统.
有兴趣的朋权可以研究一下.

批处理中set systemroot=c:\windows
是设置WINDOWS XP的安装目录,默认是C:\ ...


马上测试一下 :D
回复

使用道具 举报

161#
 楼主| 发表于 2006-12-17 18:27:39 | 只看该作者
忘了说一下,
由于批处理里面的
if /i not "%class%"=="net" if /i not "%class%"=="Display" goto :eof
限制了,只能安装网卡和显卡.
回复

使用道具 举报

162#
发表于 2006-12-17 18:41:57 | 只看该作者
在虚拟机中安装网卡驱动成功。

这个过程中出现过一次文件错误的对话框(是bartpe -pnp的原因,应该是pe中缺少某些文件造成)

拷贝文件过程中出现 “确认XXX.SYS是文件还是目录"的字眼,没有人工干预,文件最后都完全拷贝。

我的步骤如下:

把 网络支持 的最小组件解压到 pe 中。

运行 检测的cmd(xp要的目录暂时只能是 c:\windows)

现在准备实机测试。。
回复

使用道具 举报

163#
 楼主| 发表于 2006-12-17 18:56:08 | 只看该作者
这个应该有一个可能的原因是,系统目录中的INF并未经处理,所以第一次安装会提示出错(这个没办法,因为不能去改到原体系统里面的INF文件,所以就暂时这样了,以后有好的方法再改了)
当然最后进行安装的INF是已经经过处理了的.
回复

使用道具 举报

164#
发表于 2006-12-17 19:06:01 | 只看该作者
在实机测试,网卡显示卡都正确安装了,哈哈。
回复

使用道具 举报

165#
发表于 2006-12-17 19:15:46 | 只看该作者
原帖由 chenall 于 2006-12-17 06:56 PM 发表
这个应该有一个可能的原因是,系统目录中的INF并未经处理,所以第一次安装会提示出错(这个没办法,因为不能去改到原体系统里面的INF文件,所以就暂时这样了,以后有好的方法再改了)
当然最后进行安装的INF是已经经过处 ...


比较拷贝到pe中的inf文件和我windows中的原文件。发现没有任何区别,连时间都是一样的。
回复

使用道具 举报

166#
 楼主| 发表于 2006-12-17 20:57:59 | 只看该作者
拷贝到pe中的inf文件有经过InfCacheBuild.exe自动处理过了.
你可以打开看一下,所有的COPYFILES都被换成了;CPYFILES
使用InfCacheBuild处理大小一样,时间一样,不注意还看不出来.

在实机测试,网卡显示卡都正确安装了,哈哈。

恭喜一下,:D

安装的过程应该比较慢吧,因为要用DIR /S查找所有需要的文件,然后用XCOPY复制过去.

[ 本帖最后由 chenall 于 2006-12-17 08:59 PM 编辑 ]
回复

使用道具 举报

167#
 楼主| 发表于 2006-12-18 13:10:53 | 只看该作者
免驱动包从硬盘上的XP系统中提取驱动在PE下自动安装的批处理更新
去掉了INIFILE.EXE和一个DLL文件,节省空间
回复

使用道具 举报

168#
发表于 2006-12-18 13:17:40 | 只看该作者
谢谢了,太好了...
回复

使用道具 举报

169#
发表于 2006-12-18 13:54:44 | 只看该作者
可从硬盘上的XP系统在PE中装驱动的SCANDRIVE.CMD
历史性的革命,好,辛苦
回复

使用道具 举报

170#
发表于 2006-12-18 14:22:06 | 只看该作者
太棒了,准备测试。
回复

使用道具 举报

171#
发表于 2006-12-18 15:36:33 | 只看该作者
用strongchen的12.17版,在实机上测试,解压这个scandrive.RAR文件到外置程序\pe_drive,删除DRIVERS_NET.7Z及DRIVERS_VGA.7Z,配置显卡正常(提示”系统无法在消息文本中为SETUPAPI.DLL找到消息号为0xea6b的消息文本“两次),配置网卡失败(8139网卡,VIA主板集成)。

[ 本帖最后由 zhaohj 于 2006-12-18 03:39 PM 编辑 ]
回复

使用道具 举报

172#
发表于 2006-12-18 15:42:30 | 只看该作者
原帖由 zhaohj 于 2006-12-18 03:36 PM 发表
用strongchen的12.17版,在实机上测试,解压这个scandrive.RAR文件到外置程序\pe_drive,删除DRIVERS_NET.7Z及DRIVERS_VGA.7Z,配置显卡正常(提示”系统无法在消息文本中为SETUPAPI.DLL找到消息号为0xea6b的消息 ...


先解压 setnet.7z 和 setvga.7z 到 wxpe目录中,再开始 认驱动。。

我要晚上回家才能测试新版。
回复

使用道具 举报

173#
发表于 2006-12-18 16:22:34 | 只看该作者
原帖由 strongchen 于 2006-12-18 03:42 PM 发表


先解压 setnet.7z 和 setvga.7z 到 wxpe目录中,再开始 认驱动。。

我要晚上回家才能测试新版。

配置网络=外置程序\PE_DRIVE\NETCFG.CMD||%PATHEX%\外置程序\PE_DRIVE\PENETCFG.EXE
netcfg.cmd已经有了:
cd /d %~dp0
7z x setnet.7z -y -aos -o%systemroot%\ >nul
call scandrive.cmd /s:net
cd /d %systemroot%\system32
call startnet.cmd
echo All done..................
pause
exit
回复

使用道具 举报

174#
 楼主| 发表于 2006-12-18 17:17:33 | 只看该作者
8139网卡系统自带,按理说应该是不会认不到的.
还有一点要注意,就是原系统中装的驱动必需是完整的,不能使用精简的INF文件.那样是会安装失败的.
如果安装失败,可以尝试将在执行之前del %pnp_log%语句注释.
然后将生成的.pnp_log.log和在CMD下执行以下命令的结果的文件一起打包传上来我看一下.还有在pnp_log.log中的INF文件也一并打包传上来,分析一下.
c:
cd\windows
dir /s/a/b>c:\dir_windows.txt


也就是需要传
pnp_log.log
c:\dir_windows.txt
和PNP_LOG.LOG里面包含的INF文件
将这些打包传上来,就基本可以确定问题所在了.

我觉得最有可能的还是INF文件.
回复

使用道具 举报

175#
发表于 2006-12-18 17:21:22 | 只看该作者
要是怎能这样就太好了...
回复

使用道具 举报

176#
发表于 2006-12-18 17:56:32 | 只看该作者
原帖由 chenall 于 2006-12-18 05:17 PM 发表
8139网卡系统自带,按理说应该是不会认不到的.
还有一点要注意,就是原系统中装的驱动必需是完整的,不能使用精简的INF文件.那样是会安装失败的.
如果安装失败,可以尝试将在执行之前del %pnp_log%语句注释.
然后将 ...


8139网卡应该系统自带,我先上传,你分析一下,辛苦了!

inf.rar

46.63 KB, 下载次数: 43, 下载积分: 无忧币 -2

log上传

回复

使用道具 举报

177#
发表于 2006-12-18 20:30:15 | 只看该作者
原帖由 chenall 于 2006-12-18 01:10 PM 发表
免驱动包从硬盘上的XP系统中提取驱动在PE下自动安装的批处理更新
去掉了INIFILE.EXE和一个DLL文件,节省空间

可是我却不能安装这个版本的驱动,160楼的旧版本却可以安装成功,为什么会这样??
回复

使用道具 举报

178#
 楼主| 发表于 2006-12-19 08:13:14 | 只看该作者
应该是新的版本中的INIFILE.CMD有点问题.
我再测一下.

使用新版安装不成功,我目前已经确定是新版INIFILE.CMD的问题.
可以用旧版先测,稍后我再修改上传.

[ 本帖最后由 chenall 于 2006-12-19 08:59 AM 编辑 ]
回复

使用道具 举报

179#
发表于 2006-12-19 10:13:37 | 只看该作者
看看,没有xp?
回复

使用道具 举报

180#
发表于 2006-12-19 10:32:31 | 只看该作者
楼主,有一个问题反映一下,我用的是12.16版,用XPE启动系统后如果立即执行scandrive.cmd则会有音量调节图标,如果过一段时间在执行scandrive.cmd则没有,真是奇怪!并且声卡驱动未能正常驱动,设备管理器里面已经有声卡驱动,需要重新更新一下才能正常驱动(INF文件夹里面有两个声卡INF文件,多了一个OEM0.INF的声卡驱动)。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-20 23:16

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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