无忧启动论坛

标题: AutoDrv命令行版的驱动备份工具!(新版支持直接在PE下搜索并加载驱动) [打印本页]

作者: wang6071    时间: 2008-10-20 23:39
标题: AutoDrv命令行版的驱动备份工具!(新版支持直接在PE下搜索并加载驱动)
Autodrv.exe命令行版的GetPEDriver
备份文件名MyDrvbak.Cab,存放在Autodrv.exe的相同位置(所以你需要将AutoDrv放在一个可写的环境中运行)
参数说明:
  -PE 默认备份搜索到的第一个非活动Windows备份其驱动(不一定要在PE下,双系统用此参数可备份非活动系统的驱动)。
  -Lbak 备份时将去除文件扩展名为.exe .chm .hlp .cpl的文件,此选项是专为PE下加载驱动准备的,有此参数时会处理INF文件。
  -cabname:"xxxx.cab" 指定备份的cab文件路径及名字,指定路径无效时使用默认的autodrv所在路径及默认文件名MyDrvbak.cab。
  -InsPeDrv 加此参数后忽略其它参数,在PE下提取XP驱动并直接安装。
使用示例:
Autodrv  无参数或-PE未搜索到非活动windows将备份当前系统的驱动。
Autodrv -pe -Lbak 为PE准备驱动,使用默认文件名MyDrvbak.cab
Autodrv -CabName:"d:\work\olddrv.cab' 使用指定的文件名备份(注意不要掉了-CabName后的冒号)
Autodrv -InsPeDrv PE下直接提取XP驱动(只包括声卡、显卡、网卡)并安装。

提醒一下的是,某些PE精简掉了cabinet.dll,请复制此文件在AutoDrv目录,否则无法运行AutoDrv打包驱动。
                                                      Wangsea 20081025
                                                      Wang6071@sina.cn
V1.2 略降低一点CPU占用。
v1.3 添加参数-InsPeDrv,加此参数后忽略其它参数,在PE下提取XP驱动并直接安装。(用这个软件运行速度就很快啦)
     添加参数-cabname:"xxxx.cab",可以招定备份的cab文件路径及名字。指定路径无效时使用默认的autodrv所在路径。
     示例:autodrv -cabname:"d:\work\olddrv.cab'
v1.31 修复v1.3在复制Inf主文件时遇到同名文件时自动重命名的bug。
v1.32 修正当cab中创建子目录时因子目录名不合理可能停止压缩的问题。
v1.33 修正优化INF时可能产生的程序死循环的BUG。
v1.34 扩展-inspedrv参数,使其能自动添加所需要的基本文件以便驱动安装成功。安装过程中如跳出某某文件找不到,请指定路径的窗口时,
      .sys指定到x:\wxpe\system32\drivers\
      .drv .dll等指定到x:\wxpe\system32\  
      应该可以找到文件并安装。(我的机器上安装声卡要指定:drmk.sys和wdmaud.drv,具体原因未知,Inf中未找以相关描述。)

v1.35 将修改的INF文件与BARTPE安装服务兼容,使其可以直接使用Autodrv提供的INF文件。
      另外,新版好象同时解决了偶尔安装时提示要求指定文件路径的问题。
v1.36 修正了-inspedrv判断硬件时不为兼容硬件安装驱动的问题。
测试代码如下:
copy credui.dll x:\wxpe\system32\.
copy newdev.dll x:\wxpe\system32\.
Echo 使用AutoDrv在PE下自动安装驱动
AutoDrv -inspedrv
Echo del x:\wxpe\inf\*.pnf  如果安装不成功,再次安装可能需要本行命令执行后才能成功。
NET START EVENTLOG
ECHO 安装网络设备...
BARTPE -pnp -cn WinPE -wg WORKGROUP
ECHO 安装网络组件...
REGSVR32 /S NETCFGX.DLL
REGSVR32 /S NETSHELL.DLL
REGSVR32 /S NETMAN.DLL
BARTPE -c p -i MS_TCPIP
BARTPE -c c -i MS_MSCLIENT
BARTPE -c s -i MS_SERVER
BARTPE -c p -i MS_L2TP
BARTPE -c p -i MS_PPTP
BARTPE -c p -i MS_PPPOE
BARTPE -c p -i MS_WANARP
BARTPE -c p -i MS_NDISWAN
BARTPE -c s -i MS_RASCLI
BARTPE -c s -i MS_RASSRV
BARTPE -c s -i MS_RASMAN
BARTPE -c s -i MS_STEELHEAD
BARTPE -v -c p -i MS_NDISUIO
BARTPE -v -c s -i MS_WZCSVC
ECHO 启动网络服务...
NET START TCPIP
NET START DHCP
NET START NLA
NET START LMHOSTS
NET START SERVER
NET START NETMAN
NET START TAPISRV
NET START RASMAN
NET START WZCSVC
Copy PENETCFG.EXE x:\wxpe\system32\.
PENETCFG.EXE

[ 本帖最后由 wang6071 于 2008-11-18 23:12 编辑 ]

驱动备份.jpg (68.62 KB, 下载次数: 211)

驱动备份.jpg

Autodrv(1.35).rar

74.5 KB, 下载次数: 865, 下载积分: 无忧币 -2

Autodrv(1.36).rar

74.65 KB, 下载次数: 1327, 下载积分: 无忧币 -2


作者: pseudo    时间: 2008-10-20 23:51
shafa
shishi
作者: zhangze    时间: 2008-10-21 01:07
优点在哪里呢
它太耗资源
cpu全被他占用
作者: dzy    时间: 2008-10-21 07:21
怎么运行速度很慢啊?
作者: wang6071    时间: 2008-10-21 07:36
优点:搜索的驱动文件较全(用其它工具备份的驱动无法使用时可以试试此工具),在没有驱动情况下安装新系统前做一个备份要求搜集的驱动完整以确保安装硬件。
它太耗资源,cpu全被他占用:可能原因是你的杀软占用的资源较大,况且备份过程中一般不会做其它工作,所以备份是全速进行的。
运行速度很慢:搜集与打包成cab的压缩过程要占一定的时间,运行时间与智能判断出的需要备份驱动的多少有关。

[ 本帖最后由 wang6071 于 2008-10-21 07:40 编辑 ]
作者: bsplin    时间: 2008-10-21 08:10
GetPeDrver已经很不错了,感谢分享!
作者: lsj0416    时间: 2008-10-21 09:07
GetPeDrver的确有的驱动不能备份,甚至出错,试试这个。
作者: junyee    时间: 2008-10-21 10:09
哈……Wangsea可以在深夜发出来的哦
Http://Wangsea.ys168.com

谢谢啦!
作者: dos时代菜鸟    时间: 2008-10-21 10:16
cab包 没有进行 inf 处理。
有的显示卡安装成功,但是不能进行设置。
我把cab 打开,重新用 xcab 处理inf 方式压缩后,可以安装成功。

[ 本帖最后由 dos时代菜鸟 于 2008-10-21 10:29 编辑 ]
作者: dos时代菜鸟    时间: 2008-10-21 12:47
cab包 没有进行 inf 处理。
当通过 pecmd devi 的方法安装驱动程序的时候,会出现问题的。
作者: xubo1971    时间: 2008-10-21 14:23
CPU资源占用率确实太高!
作者: dos时代菜鸟    时间: 2008-10-21 14:38
这种涉及到驱动程序方面的东西,必然要求在运行的时候不能并行运行其他大型程序,所以就算是cpu占用率高,也是无所谓的。
关键是,备份出来的 cab 包,不能通过 pecmd devi 方式成功安装显示卡(即使安装成功了,也无法进行设置)。
希望LZ更新,在制作CAB包的时候 增加 处理INF功能参数。
作者: guies    时间: 2008-10-21 17:13
花了一分钟转成繁体版。

[ 本帖最后由 guies 于 2008-10-21 23:20 编辑 ]

Autodrv.rar

64.05 KB, 下载次数: 123, 下载积分: 无忧币 -2


作者: 紫狐    时间: 2008-10-21 18:13
好东东,楼主又出手了。
作者: zhangze    时间: 2008-10-21 18:30
命令行的还是没有GetPeDriver方便,功能也少了些
楼主的工具是为PE而制,因此处理inf文件的功能还是很重要的,CPU占用过高与压缩有关,因此这个自动压缩成CAB文件的功能倒是有点多余,因为安装的时候,无论在pe还是XP,都要先解压才可以,要使用PECMD的DEVI来安装驱动也要先解压处理后重新打包才可以,是不是变得麻烦
作者: wang6071    时间: 2008-10-21 19:34
原帖由 zhangze 于 2008-10-21 18:30 发表
命令行的还是没有GetPeDriver方便,功能也少了些
楼主的工具是为PE而制,因此处理inf文件的功能还是很重要的,CPU占用过高与压缩有关,因此这个自动压缩成CAB文件的功能倒是有点多余,因为安装的时候,无论在p ...


本工具主要是为新装系统时备份原系统驱动所作,兼容PE加载仅是其中一个选项。
驱动备份仅是备份一次使用多次的工具,故对CPU占用可以无视了。

v1.1版
   按xcmd的约定将主INF放在了文件夹下的物理第一位上。
   使用-Lbak作备份时增加了自动处理INf,兼容了PE下使用PECMD加载驱动。
作者: 千里独行    时间: 2008-10-21 19:41
谢谢更新,再下来用用。
作者: lxl1638    时间: 2008-10-21 22:18
原帖由 wang6071 于 2008-10-21 19:34 发表

本工具主要是为新装系统时备份原系统驱动所作,兼容PE加载仅是其中一个选项。
驱动备份仅是备份一次使用多次的工具,故对CPU占用可以无视了。

v1.1版
   按xcmd的约定将主INF放在了文件夹下的物理第一 ...


网上有个Delphi做的DriverBuckUp.EXE V1.1版(含源码),不知是不是楼主的大作?
作者: wang6071    时间: 2008-10-21 22:36
原帖由 lxl1638 于 2008-10-21 22:18 发表


网上有个Delphi做的DriverBuckUp.EXE V1.1版(含源码),不知是不是楼主的大作?


不是偶的,GetPeDriver参考了该代码的思路 ( 注意:DriverBuckUp不支持Unicode的INF读取 )。

[ 本帖最后由 wang6071 于 2008-10-21 22:40 编辑 ]
作者: lxl1638    时间: 2008-10-21 22:46
的确,Delphi在处理Unicode字符有很多不足:
用API可能处理Unicode字符,但大多数使用Delphi的人很不习惯,
如果从 Unicode ==> Ansi ==>Unicode 来回转换,效率会降低,WimTool 就用这个办法(WimgAPI.DLL的出入口参数全是Unicode字符串,所以很多人提到 WimTool 比 ImageX 慢,慢在大量的带通配符文件目录的匹配比较)。
从网上掏到了一个 WStrList.PAS (Unicode版的TStringList) ,不知你有了没有,可能你有用得到的时候。

[ 本帖最后由 lxl1638 于 2008-10-21 22:49 编辑 ]

WStrList.rar

5.26 KB, 下载次数: 125, 下载积分: 无忧币 -2


作者: 七仙花    时间: 2008-10-21 23:01
老九就是强人一个,好老师。
作者: wang6071    时间: 2008-10-21 23:04
原帖由 lxl1638 于 2008-10-21 22:46 发表
的确,Delphi在处理Unicode字符有很多不足:
用API可能处理Unicode字符,但大多数使用Delphi的人很不习惯,
如果从 Unicode ==> Ansi ==>Unicode 来回转换,效率会降低,WimTool 就用这个办法(WimgAPI.DLL的出 ...



谢谢,我用的是自已试出来的转换方法,全部转为Ansi来处理,感觉速度还可以。
Function LoadUnicodeFile(FileName:string):String;
var
  pBuffer: PByte;
  pwChr: PWideChar;
  strmScript: TFileStream;
begin
  Result:='';
  strmScript := TFileStream.Create(FileName, fmOpenRead);
  GetMem(pBuffer, strmScript.Size);
try
   strmScript.Read(pBuffer^, strmScript.Size);
   if PWord(pBuffer)^<>$FEFF then     //Unicode文件开头是FF FE
   begin
     setLength(Result,strmScript.size);
     CopyMemory(@Result[1],pBuffer,strmScript.size);
   end else
   begin
     pwChr:= PWideChar(pBuffer);
     Inc(pwChr,1); //增加这一句,去文件头和文件尾出现几个'?'
     Result := WideCharToString(pwChr);
   end;
finally
   FreeMem(pBuffer);
   strmScript.Free;
end;
end;
作者: lxl1638    时间: 2008-10-21 23:33
原帖由 wang6071 于 2008-10-21 23:04 发表



谢谢,我用的是自已试出来的转换方法,全部转为Ansi来处理,感觉速度还可以。
Function LoadUnicodeFile(FileName:string):String;
var
  pBuffer: PByte;
  pwChr: PWideChar;
  strmScript: TFile ...


在你的AutoDrv可以这样处理,但在WimTool里就不同,WimgAPI.DLL每压缩或解压一个文件都给回调函数返回若干个Unicode文件目录名的地址,WimTool要对照几个规则列表(带通配符的一系列文件目录字符串),决定是否压缩或解压,如果备份一个完整的系统,往往要从Unicode ==> Ansi 来回转换几万次,加上带通配符的文件目录名(几十条Ansi字符串规则)匹配比较,使得WimTool执行效率很差。

[ 本帖最后由 lxl1638 于 2008-10-21 23:41 编辑 ]
作者: dos时代菜鸟    时间: 2008-10-22 07:20
感谢LZ更新,
我会把它放到 我的 PE交互模式驱动安装脚本中。
作者: dos时代菜鸟    时间: 2008-10-22 17:21
好像对 认证签名不同的驱动会到不同的地方去寻找和提取相关文件。
但是,如果原始的驱动在安装完以后被精简掉了,此时,只留下 system32 里面正在使用的驱动文件了呢?软件就有可能只能提取出一个 inf 文件来了。
作者: HuAnGkUn    时间: 2008-10-22 17:34
看看,速度有点慢。测试一下完整性
作者: wang6071    时间: 2008-10-22 19:02
原帖由 dos时代菜鸟 于 2008-10-22 17:21 发表
好像对 认证签名不同的驱动会到不同的地方去寻找和提取相关文件。
但是,如果原始的驱动在安装完以后被精简掉了,此时,只留下 system32 里面正在使用的驱动文件了呢?软件就有可能只能提取出一个 inf 文件来了。


不是这个原因,AutoDrv提取的文件是由InF中指定的文件,可能你的Inf有点特殊,请附件贴上来让我分析一下。

顺便更新一下,v1.2降低备份驱动时的CPU占用情况。
作者: dos时代菜鸟    时间: 2008-10-22 19:21
原帖由 wang6071 于 2008-10-22 19:02 发表


不是这个原因,AutoDrv提取的文件是由InF中指定的文件,可能你的Inf有点特殊,请附件贴上来让我分析一下。

顺便更新一下,v1.2降低备份驱动时的CPU占用情况。


好地,这个 nv4_disp.rar (3.5 KB, 下载次数: 97)   是我的那个 inf
作者: wang6071    时间: 2008-10-22 19:42
原帖由 dos时代菜鸟 于 2008-10-22 19:21 发表


好地,这个 47840  是我的那个 inf



打开看看
[nv4]
;CpyFiles = nv4.Miniport, nv.Display
;DlFiles  = nv.oldrm, nv.delete.systemfiles

原来是修改过的INF,当然提取不到文件啦,请将;CpyFiles 全部替换为 CopyFiles 保存后再试就可提取文件了。

你可看看附件中的nv原版inf是如何写的。

[ 本帖最后由 wang6071 于 2008-10-22 19:45 编辑 ]

nv4_disp.rar

5.09 KB, 下载次数: 79, 下载积分: 无忧币 -2

nv原版的inf


作者: dos时代菜鸟    时间: 2008-10-22 19:45
原帖由 wang6071 于 2008-10-22 19:42 发表



打开看看
[nv4]
;CpyFiles = nv4.Miniport, nv.Display
;DlFiles  = nv.oldrm, nv.delete.systemfiles

原来是修改过的INF,当然提取不到文件啦,请将;CpyFiles 全部替换为 CopyFiles 保存后再试就可 ...


原来如此,差了一个字母,呵呵,晕倒。
作者: wang6071    时间: 2008-10-22 19:46
原帖由 dos时代菜鸟 于 2008-10-22 19:45 发表


原来如此,差了一个字母,呵呵,晕倒。


不止差一个字母,前面还加了';'号注释掉了。

[ 本帖最后由 wang6071 于 2008-10-22 19:49 编辑 ]
作者: dos时代菜鸟    时间: 2008-10-22 19:52
原帖由 wang6071 于 2008-10-22 19:46 发表

不止差一个字母,前面还加了';'号注释掉了。


终于晓得啦。
我说的呢,为什么单位的n台电脑都正常,偏偏自己的电脑出问题。
大概是在把驱动集成到系统安装盘的时候,出的问题。
作者: HB天意    时间: 2008-10-22 21:34
试了一下,备份太慢了。能够自定义就好了。
作者: dd102    时间: 2008-10-23 00:46
看起来不错,先收下,下回试试
作者: 云飞日月    时间: 2008-10-23 01:12



为什么我运行后,是这样?pe中运行的,2那边就不动了
作者: dos时代菜鸟    时间: 2008-10-23 07:10
原帖由 云飞日月 于 2008-10-23 01:12 发表
47855


为什么我运行后,是这样?pe中运行的,2那边就不动了



天,什么系统阿,你怎么有 20 项 驱动需要备份?
作者: wang6071    时间: 2008-10-23 07:57
原帖由 云飞日月 于 2008-10-23 01:12 发表
47855


为什么我运行后,是这样?pe中运行的,2那边就不动了


因为是在PE中运行,可能你放autodrv的磁盘空间不足导致压缩无法进行下去。请将Autodrv放到硬盘或U盘空间足够的地方而不要放在B盘等设定了特定大小空间的内存盘以免空间不足。

[ 本帖最后由 wang6071 于 2008-10-23 08:10 编辑 ]
作者: 云飞日月    时间: 2008-10-23 07:58
原帖由 dos时代菜鸟 于 2008-10-23 07:10 发表
天,什么系统阿,你怎么有 20 项 驱动需要备份?

就是pe啊,用的那个-pe -xx什么的参数,备份的是xp下面的驱动吧,我在xp下面备份,也是20个。
但是在pe下面,到2 of 20就不动了
作者: 云飞日月    时间: 2008-10-23 08:00
原帖由 wang6071 于 2008-10-23 07:57 发表
因为是在PE中运行,可能你放autodrv的磁盘空间不足导致压缩无法进行下去。

我试试在硬盘运行看看。
作者: 云飞日月    时间: 2008-10-23 08:39
恩,应该是空间不够的问题,那能不能加上可以自定义备份目录的功能?
作者: dos时代菜鸟    时间: 2008-10-23 17:17
原帖由 云飞日月 于 2008-10-23 08:39 发表
恩,应该是空间不够的问题,那能不能加上可以自定义备份目录的功能?


可以用 pecmd 为他设计一个 外壳,让用户先选择 备份目录。

我做的 用来 备份驱动程序到指定位置的 WIM 包,需要PECMD 支持
gpd.rar (65.26 KB, 下载次数: 125)

[ 本帖最后由 dos时代菜鸟 于 2008-10-24 07:01 编辑 ]
作者: 421062724    时间: 2008-10-23 18:53
很好很强大,lz厉害
作者: 云飞日月    时间: 2008-10-24 00:00
报告,我晚上在我家笔记本上试了一下,还是35楼的那个错误。我上午在单位台式机上面,没有问题。
作者: dos时代菜鸟    时间: 2008-10-24 07:03
原帖由 云飞日月 于 2008-10-24 00:00 发表
报告,我晚上在我家笔记本上试了一下,还是35楼的那个错误。我上午在单位台式机上面,没有问题。


看屏幕,好像是 usb 设备的驱动程序 不能备份。估计是 内置usb接口的摄像头、手写板、无线卡什么的。 到bios 里面把 usb 设备关闭,再看看。
作者: wang6071    时间: 2008-10-24 07:17
原帖由 云飞日月 于 2008-10-24 00:00 发表
报告,我晚上在我家笔记本上试了一下,还是35楼的那个错误。我上午在单位台式机上面,没有问题。


到了 x of x 这行时,说明文件搜索已经完成,已进入cab压缩阶段,而 1 of 20是正常的,说明cab压缩基本上也正常,这个问题有点奇怪了。
由于不好回现现象,建议先换个PE做测试。
作者: pz    时间: 2008-10-24 15:11
建议在使用AutoDrv备份驱动时可以选择备份存放的目录,这样就会更加方便。
作者: dos时代菜鸟    时间: 2008-10-24 15:15
原帖由 pz 于 2008-10-24 15:11 发表
建议在使用AutoDrv备份驱动时可以选择备份存放的目录,这样就会更加方便。


我做的 用来 备份驱动程序到指定位置的 WIM 包,需要PECMD 支持
gpd.rar (65.26 KB)
作者: pz    时间: 2008-10-24 17:30
我的意思是说wang兄在程序中加上一开始就是选择驱动备份存放的目录的功能。
楼上的兄弟所做的有点问题,在我的PE中(坛子上chenall兄弟所做的)不能运行。
作者: dos时代菜鸟    时间: 2008-10-24 18:39
原帖由 pz 于 2008-10-24 17:30 发表
我的意思是说wang兄在程序中加上一开始就是选择驱动备份存放的目录的功能。
楼上的兄弟所做的有点问题,在我的PE中(坛子上chenall兄弟所做的)不能运行。


怎么运行不了?有什么提示么?

其实你的需求很简单的,用一个脚本就可以完成。

需要pecmd的支持。同时还要有能打开 wim文件 的支持

[ 本帖最后由 dos时代菜鸟 于 2008-10-24 18:44 编辑 ]
作者: pz    时间: 2008-10-24 22:09
我是将AutoDrv放在E盘的一个目录中,并用一个批处理来选择备份方式。兄弟的gpd.wim我在PE中运行后什么反应都没有,到X盘中的挂载目录中直接运行里面的批处理也是什么反应也没有。chenall兄弟的PE是用wimnt来挂载WIM文件的。
作者: dos时代菜鸟    时间: 2008-10-25 07:54
GPD.wim 脚本: gpd.rar (65.26 KB, 下载次数: 124)   需要的 pecmd.exe : PECMD.rar (89.5 KB, 下载次数: 124)
1、当要求选择文件夹的时候,我选择了 g 盘根目录,当然也可以选择其他文件夹。

2、在G盘根目录建立文件夹 GPD ,AUTODRV 被复制到 G 盘GPD文件夹并以 -PE -LBAK参数运行

3、AUTODRV 运行完毕后 自动打开 G盘GPD文件夹


[ 本帖最后由 dos时代菜鸟 于 2008-10-25 07:55 编辑 ]
作者: wang6071    时间: 2008-10-25 11:32
新版(v1.3)已支持指定备份的路径。支持直接从xp下搜索声卡、显卡及网卡安装到PE中(-inspedrv选项直接拷贝文件到相关位置,不用压缩成cab,速度很快)。
作者: HB天意    时间: 2008-10-25 13:34
能够自定义就好,不然还是有点慢。
作者: pz    时间: 2008-10-25 16:03
1.3版的AutoDrv使用起来更加方便了,不过还有点美中不足,Autodrv -CabName:"d:\work\olddrv.cab“使用起来还是不够人性化。
能否这样:
运行Autodrv -CabName后软件提示“请输入驱动备份的文件名和存放的路径:”,然后在“:”后输入文件名和路径。
这样就可以使用一个批处理来启动程序,AutoDrv也就有了操作界面了。

@ECHO off
color 1F
:start
cls
ECHO.
ECHO   ********************************
ECHO   * 请选择AutoDrv的驱动备份方式:*
ECHO   ********************************
ECHO.
ECHO   **********************************************
ECHO   * 1 = 完整备份当前Windows的驱动 **************
ECHO   **********************************************
ECHO   * 2 = 精简备份当前Windows的驱动并为PE处理INF *
ECHO   **********************************************
ECHO   * 3 = PE下完整备份非活动Windows驱动 **********
ECHO   **********************************************
ECHO   * 4 = PE下精简备份非活动Windows驱动并处理INF *
ECHO   **********************************************
ECHO   * 5 = PE下提取XP显卡、声卡和网卡的驱动并安装 *
ECHO   **********************************************
ECHO.
set choice=
set /p choice=  请用数字键进行选择(1/2/3/4/5/),然后回车:
if not '%choice%'=='' set choice=%choice:~0,1%
if '%choice%'=='1' goto 1
if '%choice%'=='2' goto 2
if '%choice%'=='3' goto 3
if '%choice%'=='4' goto 4
if '%choice%'=='5' goto 5
ECHO "%choice%" is not valid please try again
ECHO.
goto start
:1
Autodrv
goto end
:2
Autodrv -Lbak
goto end
:3
Autodrv -PE
goto end
:4
Autodrv -PE -Lbak
goto end
:5
Autodrv --InsPeDrv
goto end
:end
exit

[ 本帖最后由 pz 于 2008-10-25 16:16 编辑 ]

2008-10-25 16-15-32.jpg (103.17 KB, 下载次数: 165)

2008-10-25 16-15-32.jpg

作者: lxl1638    时间: 2008-10-25 16:11
来了,顺便支持一下。。。。。。。。。。。。。。。。
作者: wang6071    时间: 2008-10-25 16:34
v1.31 修复v1.3在复制Inf主文件时遇到同名文件时自动重命名的bug。(使用-inspedrv参数时可能遇到)
to PZ:如果要交互就不做cmd版的,做成cmd版的目的就是要用批处理调用的自动化,不需要交互。
        PE下要安装驱动直接用 -inspedrv  一般就够用了(不需要备份),要备份则全部备份,当需要安装时解开cab包,安装对应的驱动就行了。

[ 本帖最后由 wang6071 于 2008-10-25 16:38 编辑 ]
作者: 云飞日月    时间: 2008-10-25 16:38
报告,我换了一个pe,还是35楼的错误,我第一个pe是sp3核心的,这次换了个sp2核心的,应该能排除pe的原因了吧?
另外,我在笔记本上面,用最新的那个自动安装驱动的参数,好像也没用,至少我看显卡么的装上。这个新参数,两个pe都试了
作者: wang6071    时间: 2008-10-25 16:42
原帖由 云飞日月 于 2008-10-25 16:38 发表
报告,我换了一个pe,还是35楼的错误,我第一个pe是sp3核心的,这次换了个sp2核心的,应该能排除pe的原因了吧?
另外,我在笔记本上面,用最新的那个自动安装驱动的参数,好像也没用,至少我看显卡么的装上。这 ...


用一下pseudo的PE,我估计是你的PE可能少cabinet.dll。关于驱动的自动安装可能绝大部显卡驱动需要dx9组件支持,某些PE是不自动带的。
安装过程会显示所装的驱动名,注意一下是否有你的显卡名在内,如果没有可能是没智能判断出来。
自动安装驱动需要newdev.dll支持,如果没有可以复制xp下同名文件到autodrv所在的目录下。

[ 本帖最后由 wang6071 于 2008-10-25 16:44 编辑 ]
作者: pz    时间: 2008-10-25 17:02
请教:-CabName 参数能否和 -PE 及 -Lbak 一起使用?
作者: wang6071    时间: 2008-10-25 17:08
原帖由 pz 于 2008-10-25 17:02 发表
请教:-CabName 参数能否和 -PE 及 -Lbak 一起使用?


可以一起使用,路径及文件名要全,路径必须有效(-cabname不自动创建文件夹,所以路径必须先存在),无效路径时会同没使用此参数一样。
作者: 云飞日月    时间: 2008-10-25 19:49
原帖由 wang6071 于 2008-10-25 16:42 发表


用一下pseudo的PE,我估计是你的PE可能少cabinet.dll。关于驱动的自动安装可能绝大部显卡驱动需要dx9组件支持,某些PE是不自动带的。
安装过程会显示所装的驱动名,注意一下是否有你的显卡名在内,如果没有 ...

这两个文件都有的,dx9是没装,我一会儿试一下网络吧
作者: haiou327    时间: 2008-10-25 20:02
当下来.................................
CPU占用有点高
不错的工具.

[ 本帖最后由 haiou327 于 2008-10-25 20:08 编辑 ]

autodrv.JPG (55.13 KB, 下载次数: 135)

autodrv.JPG

作者: WLDNA    时间: 2008-10-25 20:14
支持下,个人感觉,对硬盘PE将有很大帮助
先在系统下备份驱动,进PE就可以直接加载了,呵呵,真是方便啊,
作者: 云飞日月    时间: 2008-10-26 00:34
楼主,我直接在xp下面运行,也是35楼的错误,这样,就不是pe的问题了吧
作者: dos时代菜鸟    时间: 2008-10-26 08:32
为什么不把这样命令行方式操作,加入到 getpedrive 中呢?
一个软件两种操作方式,多好啊。
作者: wang6071    时间: 2008-10-26 09:06
原帖由 云飞日月 于 2008-10-26 00:34 发表
楼主,我直接在xp下面运行,也是35楼的错误,这样,就不是pe的问题了吧


用下面的附件测试,注意一下输出在哪里显示为空的,可能就是出错的原因了。
我猜想可能是自动创建的压缩子目录的名字有可能不合理造成的,你注意一下。

Autodrv测试.rar

65.98 KB, 下载次数: 99, 下载积分: 无忧币 -2


作者: wang6071    时间: 2008-10-26 09:11
原帖由 dos时代菜鸟 于 2008-10-26 08:32 发表
为什么不把这样命令行方式操作,加入到 getpedrive 中呢?
一个软件两种操作方式,多好啊。


我们总是要丢弃一些旧的程序,重写代码可以精炼代码并发现原有代码中的一些隐藏问题( 当然,也可能发现一些新的问题,但写新的程序解决问题的动力上要大于老程序。:) )
作者: 云飞日月    时间: 2008-10-26 09:35
如果不加任何参数,这个可以全部备份下来,但是加上参数,比如-Lbak,就不行了。但是加一个-pe是好的
作者: dos时代菜鸟    时间: 2008-10-26 09:42
原帖由 wang6071 于 2008-10-26 09:11 发表


我们总是要丢弃一些旧的程序,重写代码可以精炼代码并发现原有代码中的一些隐藏问题( 当然,也可能发现一些新的问题,但写新的程序解决问题的动力上要大于老程序。:) )


的确,图形界面,是麻烦一些。对于 单纯的cmd程序,内部几乎全是核心语句,写着让人痛快。
一条命令解决问题,比什么都强。
作者: wang6071    时间: 2008-10-26 12:04
原帖由 云飞日月 于 2008-10-26 09:35 发表
如果不加任何参数,这个可以全部备份下来,但是加上参数,比如-Lbak,就不行了。但是加一个-pe是好的


这个与-lbak无关。-lbak是简精需要备份的文件,并修改主inf成PE加载驱动需要处理的INF文件。
你在PE下运行,因为当前系统是PE未带硬件驱动inf,当然需要 -PE参数啦。
在xp下运行备份xp的驱动,当然是不用-pe参数啦。如果是双系统要备份另一个系统的驱动,就需要用-pe参数。

[ 本帖最后由 wang6071 于 2008-10-26 12:07 编辑 ]
作者: 云飞日月    时间: 2008-10-26 14:13
我的意思是,无论在xp还是pe下面,完全备份所有的驱动程序,是可以备份的,但是如果运行-Lbak等精简优化备份或者那个自动装驱动的参数,就不行了。
你的意思是,精简优化备份,只能根据pe本身自动判断?
所以,还是pe的问题,是吧?
如果说,精简优化备份,和pe本身无关,那我不管在我笔记本还是台式机上面,都不能成功,这应该就有问题吧?

我个人的意见,可以象getpedriver一样,选择需要的驱动,是最好的
作者: wang6071    时间: 2008-10-26 14:29
原帖由 云飞日月 于 2008-10-26 14:13 发表
我的意思是,无论在xp还是pe下面,完全备份所有的驱动程序,是可以备份的,但是如果运行-Lbak等精简优化备份或者那个自动装驱动的参数,就不行了。
你的意思是,精简优化备份,只能根据pe本身自动判断?
所以 ...


这样做的目的是避免备份的文件在正常安装驱动时不可用。(用-lbak备份下来的驱动因为修改了inf,PE下可以由驱动安装程序安装,但正常系统下由系统安装会找不到需要复制的文件。)
至于做得与getpedriver一样那更没必要。因为你完全可以用getpedriver呀,何必把一个cmd程序搞得那么复杂呢?

至于笔记本不成功而台式机上成功,用那个调试版,认真看一下无法压缩的那个文件的子目录名,有可能不符合目录规则,截图贴上来吧。

[ 本帖最后由 wang6071 于 2008-10-26 14:32 编辑 ]
作者: 云飞日月    时间: 2008-10-26 16:12
郁闷,您没懂我的意思,我再说一遍

1。您的调试版,就是直接运行Autodrv命令,就相当于getpedriver中的完整备份,不是吗?反正没有优化,对吧。
    这种情况下,xp下面,不管是笔记本还是台式机,都正常,相应的,在pe下面运行Autodrv -PE,笔记本和台式机的pe下面也都正常

2。我的情况是,当我在pe下面运行Autodrv -PE -Lbak时,笔记本下面表现为35楼的图片,台式机上面表示如下

3。当我用Autodrv -InsPeDrv,台式机和笔记本都不成功

所以,我说,如果您这个程序,后面的lbak或者inspedrv依赖于某个特定的pe,比如零体积pe,才能运行,那就是我pe的问题,如果不是,那可能您的程序还不完善。

PS:我机子上停下来的两个程序,都是蓝牙驱动。我单位的台式机没有装蓝牙驱动,lbak好像就是好的,我明天去单位试一下。
作者: wang6071    时间: 2008-10-26 18:35
原帖由 云飞日月 于 2008-10-26 16:12 发表
郁闷,您没懂我的意思,我再说一遍

1。您的调试版,就是直接运行Autodrv命令,就相当于getpedriver中的完整备份,不是吗?反正没有优化,对吧。
    这种情况下,xp下面,不管是笔记本还是台式机,都正常, ...


你就用Autodrv -PE -Lbak,但把autodrv换成那个测试版(上面的贴图不是测试版下运行的结果),可以看到更多的信息,这样才好确定问题在哪里。

[ 本帖最后由 wang6071 于 2008-10-26 18:36 编辑 ]
作者: 云飞日月    时间: 2008-10-26 22:33
这个是笔记本运行的结果

1.jpg (66.24 KB, 下载次数: 133)

1.jpg

作者: wang6071    时间: 2008-10-26 23:25
原帖由 云飞日月 于 2008-10-26 22:33 发表
这个是笔记本运行的结果


从结果来看是 cab文件中的子目录名不能带点(你那个驱动中有一个2.0导致该子目录无法创建),下载 1.2 修正版应该就可以了。
作者: 云飞日月    时间: 2008-10-26 23:27
哪里有1.2修正版?
作者: wang6071    时间: 2008-10-26 23:28
原帖由 云飞日月 于 2008-10-26 23:27 发表
哪里有1.2修正版?


楼顶,说错了版本,是1.32版
作者: 云飞日月    时间: 2008-10-26 23:49
还是不行唉,在笔记本上面测试,还是到2那里,不动了,同35楼
作者: wang6071    时间: 2008-10-27 00:45
原帖由 云飞日月 于 2008-10-26 23:49 发表
还是不行唉,在笔记本上面测试,还是到2那里,不动了,同35楼


试试这个,如果还是不成功将你的oem18.inf传上来。

Autodrv(1.32).rar

66.59 KB, 下载次数: 88, 下载积分: 无忧币 -2


作者: 云飞日月    时间: 2008-10-27 10:18
我特地在我单位台式机上面试了一下,当不装蓝牙的时候,没问题,当装了蓝牙后,运行1.32如下图


我用那个调试版的看信息如下



现上传oem10

oem10.rar

4.32 KB, 下载次数: 69, 下载积分: 无忧币 -2


作者: z8z8q    时间: 2008-10-27 10:19
GetPeDrver已经很不错了,感谢分享!
作者: ah1283328    时间: 2008-10-27 10:29
又是一款很好的小工具。非常实用。希望楼主继续更新安全盾和wsyscheck。一直在用。杀软都放弃了。
作者: james168    时间: 2008-10-27 10:45
下来试用,不错,谢谢楼主。。。
作者: wang6071    时间: 2008-10-27 18:30
原帖由 云飞日月 于 2008-10-27 10:18 发表
我特地在我单位台式机上面试了一下,当不装蓝牙的时候,没问题,当装了蓝牙后,运行1.32如下图
48225

我用那个调试版的看信息如下

48226

现上传oem10


v1.33 修正优化INF时可能产生的程序死循环的BUG。顶楼下载。
作者: CWD    时间: 2008-10-27 19:02
在楼主E盘兜了几个小玩意,很不错滴说,告知一下。。。
作者: 云飞日月    时间: 2008-10-30 00:39
楼主,请问,为啥用-InsPeDrv安装后,我点桌面设置,弹出对话框说,不支持的驱动,然后就变成640那个分辨率,并且颜色只有4?
作者: 云飞日月    时间: 2008-10-30 08:49
还有一个问题请教啊
为啥,我在pe下面,装完本身驱动后,再用这个的-inspedrv参数,就可以安装,但是如果说,我本来啥驱动都不装,直接运行这个参数,反而不能装了?
如果说是d9文件的支持,我把d3d8和d3d9这两个dll拷到system32了,还是不行
这个参数,要啥文件支持?
作者: aceainarj    时间: 2008-10-31 13:56
dddddddddddddddd
作者: jrs13579    时间: 2008-11-3 16:23
试着在xp下备份笔记本的驱动,发现备份modem时有问题,安装modem驱动提示缺少文件,要求插入磁盘,不知什么原因?其余驱动正常。
作者: wang6071    时间: 2008-11-3 21:59
原帖由 jrs13579 于 2008-11-3 16:23 发表
试着在xp下备份笔记本的驱动,发现备份modem时有问题,安装modem驱动提示缺少文件,要求插入磁盘,不知什么原因?其余驱动正常。


请上传该驱动的inf文件,并说明安装时报告缺少的文件名。(在windows中搜一下确认一下是否存在,不必上传缺少的文件,只报告名字就行了)


to 云飞日月 : 使有 -inspedrv时是需要当前PE有相关的支持文件才能安装成功的。你可以看一下pseudo 的贴子,
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=104242&extra=page%3D3贴子中的xp资源部份(在"以下附件已过时请勿下载"下面,那里打包了安装驱动时所需要的系统文件),
安装显卡需要MACHINE.INF支持,安装声卡及网卡需要的支持文件更多。最近较忙,过段时间扩展一下-inspedrv,安装驱动前先直接搜索复制相关的文件就没有使用哪个PE的限制了。

[ 本帖最后由 wang6071 于 2008-11-3 22:05 编辑 ]
作者: jrs13579    时间: 2008-11-3 22:27
INF文件见附件。安装时报告缺少ptserli.sy_,要求插入磁盘,因笔记本已还给别人,无法确认windows中是否存在此文件。

oem10.rar

3.24 KB, 下载次数: 69, 下载积分: 无忧币 -2


作者: wang6071    时间: 2008-11-3 22:44
原帖由 jrs13579 于 2008-11-3 22:27 发表
INF文件见附件。安装时报告缺少ptserli.sy_,要求插入磁盘,因笔记本已还给别人,无法确认windows中是否存在此文件。


系统内不会有ptserli.sy_,因为这是一个cab压缩文件,系统在安装过程中已将它解压成ptserli.sys了。
autodrv备份的是解压后的文件ptserli.sys,安装时问你ptserli.sy_是应该可以直接指定它为ptserli.sys,继续安装下去的。
(如不行,可手动复制ptserli.sys到 %windows%\sysstem32\drivers下,然后忽略此文件可以继续安装。)
作者: 云飞日月    时间: 2008-11-3 22:45
to:wang6071
我在-inspedrv前,将所有的netpart和soundpart释放到系统,就可以装了
但是,我只能有线上网,没有安装无线网卡
还有我提取本机的8600M GT显卡安装,在PE下面显示不是这个版本的驱动云云,分辨率只能是640×480,色深只能是4。这个是不是说,我机子本身的驱动有问题?
但是我这个驱动在xp下面,没啥问题。
作者: wang6071    时间: 2008-11-3 22:49
原帖由 云飞日月 于 2008-11-3 22:45 发表
to:wang6071
我在-inspedrv前,将所有的netpart和soundpart释放到系统,就可以装了
但是,我只能有线上网,没有安装无线网卡
还有我提取本机的8600M GT显卡安装,在PE下面显示不是这个版本的驱动云云,分辨 ...


色深4可能的一个原因是 wxpe\inf 下没有 MACHINE.INF 就运行了 autodrv -inspedrv ,先复制此文件(用你的windows\inf下的Machine.inf)试一下。
无线网卡可能是自动判断网卡时没有找到它的驱动,可以发它的inf文件给我看一下。

[ 本帖最后由 wang6071 于 2008-11-3 22:50 编辑 ]
作者: 云飞日月    时间: 2008-11-3 22:53
..\..\7Z\7Z.EXE x %CD%\..\NET\NET_PART.7Z -y -aos -o"%WinDir%"
..\..\7Z\7Z.EXE x %CD%\..\SOUND\SOUND_PART.7Z -y -aos -o"%WinDir%"
我在-inspedrv之前,把所有的相关文件都释放到了系统,这其中就包括sound_part.7Z中的MACHINE.INF ,具体的可以看下老毛桃,或者天琴的原版911

无线网卡驱动inf

;*****************************************
; NETw5x32.INF
;
; Intel Wireless WiFi Link Adapters
; Installation Script for Windows XP 32 bit
;
; Copyright (c) 2007 Intel, Inc. All Rights Reserved
;
;------------------------------------------------------------------------------

;******************************************************************************
; Version Section
;------------------------------------------------------------------------------
[version]
Signature   = "$Windows NT$"
Compatible  = 1
Class       = net
ClassGUID   = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider    = %PROVIDER_NAME%
DriverVer   = 08/28/2008,12.1.0.14 ;DATE HAS TO BE IN FOLLOWING FORMAT MM/DD/YYYY
作者: 云飞日月    时间: 2008-11-3 22:55
ps,我单位台式机的6200显卡,用-inspedrv是么的问题的
就是笔记本的8600M GT有问题
我家的台式机,我这两个星期都没开机
我这周末回去,试试吧
作者: wang6071    时间: 2008-11-4 23:54
v1.34 扩展-inspedrv参数,使其能自动添加所需要的基本文件以便驱动安装成功。安装过程中如跳出某某文件找不到,请指定路径的窗口时,
      .sys指定到x:\wxpe\system32\drivers\
      .drv .dll等指定到x:\wxpe\system32\  
      应该可以找到文件并安装。(我的机器上安装声卡要指定:drmk.sys和wdmaud.drv,具体原因未知,Inf中未找以相关描述。)

to 云飞日月 :你的无线网卡在设备属性中(详细页中)显示的硬件ID是什么?
作者: james168    时间: 2008-11-5 13:26
这么好的工具,支持。。。
作者: 狐狸吖    时间: 2008-11-5 14:44
已经看到1.34版的了。




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3