无忧启动论坛

标题: 从WinPE中提取出来的驱动程序为什么不能直接用于WinXP? [打印本页]

作者: tigerhuang    时间: 2008-3-17 01:32
标题: 从WinPE中提取出来的驱动程序为什么不能直接用于WinXP?
我是新手,刚用GetPeDriver1.2从WinPE中提取了显卡的驱动程序,是1个.inf文件和其他几个.dll和.sys文件。启动WinXP后,想安装显卡的驱动程序,结果WinXP在安装此驱动到一半的时候,总是提示出现错误,安装失败。请各位指点:如何才能使用WinPE中提取了显卡的驱动程序?多谢了。

我的显卡945_g35.inf的内容如下(最后一部分被删掉以满足字数要求):
[Version]
Signature="$WINDOWS NT$"
Provider=%Intel%
ClassGUID={4D36E968-E325-11CE-BFC1-08002BE10318}
Class=Display
CatalogFile=igfxnt5.cat
DriverVer=08/07/2007,6.14.10.4859
[DestinationDirs]
DefaultDestDir=11
ialm.Miniport=12
ialm.Display=11
Copp.Copy=11
DXKL.Copy=11
CUI.Copy=11
OpenGL.Copy.Legacy=11
OpenGL.Copy.Gen4=11
[Manufacturer]
%Intel%=Intel.Mfg
[Intel.Mfg]
%iLPGD0%=i945G0,PCI\VEN_8086&DEV_2772
%iLPGD1%=i945G1,PCI\VEN_8086&DEV_2776
%iCLGD0%=i945GM0,PCI\VEN_8086&DEV_27A2
%iCLGD1%=i945GM1,PCI\VEN_8086&DEV_27A6
%iCLGE0%=i945GM0,PCI\VEN_8086&DEV_27AE
%iBWGX0%=iBWG0,PCI\VEN_8086&DEV_2982
%iBWGX1%=iBWG1,PCI\VEN_8086&DEV_2983
%iBWGQ0%=iBWG0,PCI\VEN_8086&DEV_2992
%iBWGQ1%=iBWG1,PCI\VEN_8086&DEV_2993
%iBWGC0%=iBWG0,PCI\VEN_8086&DEV_29A2
%iBWGC1%=iBWG1,PCI\VEN_8086&DEV_29A3
作者: tigerhuang    时间: 2008-3-18 23:59
请大家指点啊:要改哪里才能将提取出来的驱动程序用于Windows XP?
作者: nn2nn    时间: 2008-3-19 09:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: 陌上风    时间: 2008-3-19 10:31
帖子 39
注册 2004-9-9

不简单
作者: tigerhuang    时间: 2008-3-19 11:17
原帖由 nn2nn 于 2008-3-19 09:25 AM 发表
GetPeDriver
有说明,为什么不看看?


以下是说明,没有看到如何修改啊?请继续指点。

GetPeDriver说明:

   先说点题外话:用过不少PE,虽然内置了很多驱动,但对于我的老机的两个驱动都支持不好。我的ATI显卡使用内置的ATI驱动更改分辨率无效(看似成功了,但感觉刷新率仍是默认60,显烁得历害),Yamaha724声卡就根本没有内置驱动。后来用驱动备份工具将备份的驱动安装时发现目前的PE释放驱动文件时考虑的不全面,位置不同无法开启设备。

   注意,本软件仅列出第三方驱动的项目,系统自身带有的文件就不列出来了。

   另外虽然已经有了不少的驱动备份工具,但备份下来的安装包往往需要手动修改才能在PE中使用,于是就有了GetPeDriver。

   首先在您正常的系统中使用GetPeDriver,在软件列出的设备中选择您想备份的驱动,然后双击[分析INF](上述操作也可以通过双击显示的设备来完成)。

   双击[分析INF]后会转入INF优化页,默认已经将不是设备驱动所必须的文件移到了[移走列表]中。当然,如果你认为还有某些文件可以不要,也可以手动添加到移除列表。

   INF文件查看的左列表会列出驱动INF的各段名,双击会定位到指定的段。这样也可以手动编辑一下驱动INF文件。要注意的是,如果你不懂INF文件格式就不要动这里了,否则在使用[优化备份]功能时会保存你编辑错误的驱动INF文件。

   [完整备份]功能会忽略掉移除列表及编辑过的INF文件,而直接采用原始文件打包保存。[优化备份]会根所保存列表中的文件来处理INF文件中对应的描述位置,这样就可以得到精简的驱动文件。

   打包后的驱动文件可以通过《设备管理》-《更新驱动程序》来安装。

   驱动文件打包格式采用CAB压缩,[优化备份]的CAB中会多出一个Infsetup.bat,这个文件是为PE中动态安装驱动添加的。当PE中需要动态载入您的驱动时,您只需直接将CAB解压到winpe\system32下,然后调用Infsetup.bat即可。Infsetup.bat会将释放的驱动文件移到它本身的目录中。(也就是就说,不用释放到B盘后再拷贝安装)

   至于如何在PE中调用本软件所备份的驱动包就不要问我了,多在http://bbs.wuyou.net的PE区翻翻贴子,分析一下通用驱动是如何载入的可以了。
作者: netwinxp    时间: 2008-3-19 11:33
[SourceDisksNames]
[SourceDisksFiles]
这两段的内容呢?

有很多驱动程序是通过,安装、解压等方式把.sys类的文件放到system32\drivers(也就DestinationDirs的12),dll类的放system32(就是11),inf类的放inf(就是17)等。这时候它一般就不提供[SourceDisksNames]和或[SourceDisksFiles],于是你只能手工添加这部分内容,或者把文件放到规定位置上。

这也是很多智能备份的驱动无法正常使用的主要原因,其实手工拷贝文件,然后再驱动就没问题了。
其实很多从xp备份出来的驱动,也是无法直接用到xp里面,呵呵

[ 本帖最后由 netwinxp 于 2008-3-19 11:56 AM 编辑 ]
作者: nn2nn    时间: 2008-3-19 11:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: pseudo    时间: 2008-3-19 13:52
标题: 回复 #2 tigerhuang 的帖子
备份、安装显声网驱动可参考
http://bbs.wuyou.net/redirect.ph ... 428&ptid=121850
的#5楼
作者: tigerhuang    时间: 2008-3-20 08:32
原帖由 nn2nn 于 2008-3-19 11:51 AM 发表
没说要修改,说要用原来的INF。

这是个新硬盘,没有原来的inf文件,想从WinPE上得到驱动程序用于WinXP,就是不知道如何修改inf文件。
作者: tigerhuang    时间: 2008-3-20 08:34
原帖由 netwinxp 于 2008-3-19 11:33 AM 发表
[SourceDisksNames]
[SourceDisksFiles]
这两段的内容呢?

有很多驱动程序是通过,安装、解压等方式把.sys类的文件放到system32\drivers(也就DestinationDirs的12),dll类的放system32(就是11),inf类的放 ...


多谢指点,两段内容如下,请问如何进行修改?
[SourceDisksNames.x86]
1=%DiskId%,,,""
[SourceDisksFiles]
igxpmp32.sys=1
igxpco32.dll=1
igxprd32.dll=1
igxpgd32.dll=1
igxpdv32.dll=1
igxpdx32.dll=1
iglicd32.dll=1
igldev32.dll=1
ig4icd32.dll=1
ig4dev32.dll=1
igxpxk32.vp=1
igxpxs32.vp=1
igfxress.dll=1
igfxrenu.lrc=1
igfxrara.lrc=1
igfxrchs.lrc=1
igfxrcht.lrc=1
igfxrdan.lrc=1
igfxrdeu.lrc=1
igfxresp.lrc=1
igfxrfin.lrc=1
igfxrfra.lrc=1
igfxrheb.lrc=1
igfxrita.lrc=1
igfxrjpn.lrc=1
igfxrkor.lrc=1
igfxrnld.lrc=1
igfxrnor.lrc=1
igfxrplk.lrc=1
igfxrptb.lrc=1
igfxrptg.lrc=1
igfxrrus.lrc=1
igfxrsky.lrc=1
igfxrslv.lrc=1
igfxrsve.lrc=1
igfxrtha.lrc=1
igfxrcsy.lrc=1
igfxrell.lrc=1
igfxrhun.lrc=1
igfxrtrk.lrc=1
hccutils.dll=1
igfxsrvc.dll=1
igfxsrvc.exe=1
igfxpph.dll=1
igfxcpl.cpl=1
igfxcfg.exe=1
igfxdgps.dll=1
igfxdev.dll=1
igfxdo.dll=1
igfxtray.exe=1
igfxzoom.exe=1
hkcmd.exe=1
oemdspif.dll=1
igfxext.exe=1
igfxexps.dll=1
igfxpers.exe=1
igmedkrn.dll=1
igmedcompkrn.dll=1
作者: netwinxp    时间: 2008-3-20 09:23
把CatalogFile=igfxnt5.cat删掉
还有那些没提取的文件对应的[SourceDisksFiles]项也删掉看看
作者: netwinxp    时间: 2008-3-20 09:30
这是我改过的945_Q33驱动(去掉OPENGL),你可以参考看看。

945_Q33.part01.rar

390.63 KB, 下载次数: 66, 下载积分: 无忧币 -2

1

945_Q33.part02.rar

390.63 KB, 下载次数: 85, 下载积分: 无忧币 -2

2

945_Q33.part03.rar

390.63 KB, 下载次数: 74, 下载积分: 无忧币 -2

3

945_Q33.part04.rar

254 KB, 下载次数: 56, 下载积分: 无忧币 -2

4


作者: tigerhuang    时间: 2008-3-20 22:13
原帖由 netwinxp 于 2008-3-20 09:30 AM 发表
这是我改过的945_Q33驱动(去掉OPENGL),你可以参考看看。

多谢你的指点,我这两天要加班,之后才能再试。

这一段好理解,
把CatalogFile=igfxnt5.cat删掉
还有那些没提取的文件对应的[SourceDisksFiles]项也删掉看看

但为什么要去掉OPENGL呢?我想掌握方法,以后遇到同样的问题也可以自己处理了。

再次感谢!
作者: dgxhls    时间: 2008-3-20 22:26
原帖由 陌上风 于 2008-3-19 10:31 AM 发表
帖子 39
注册 2004-9-9

不简单

恶意灌水,-100分。
作者: 陌上风    时间: 2008-3-20 23:27
原帖由 打狗协会理事 于 2008-3-20 10:26 PM 发表

恶意灌水,-100分。

你发的这回复也是与我的没什么两样,也属于恶意灌水
作者: tigerhuang    时间: 2008-3-21 23:26
原帖由 netwinxp 于 2008-3-20 09:23 AM 发表
把CatalogFile=igfxnt5.cat删掉
还有那些没提取的文件对应的[SourceDisksFiles]项也删掉看看

按照你的提示,把CatalogFile=igfxnt5.cat删掉,还有那些没提取的文件对应的[SourceDisksFiles]项也删掉后,我的inf文件还是无法在WinXP下使用,你的inf文件则可以。

我在WinPE下提取出来的inf大小是52k,你的只有14k,能否告知修改inf文件的原理以及为什么要删除OpenGL,多谢!
作者: netwinxp    时间: 2008-3-22 00:14
我是从xp驱动程序提取的,为了用在PE上减少体积,所以精简了OPENGL和其他工具,至于如何精减,需要了解inf的原理,顺着inf文件的思路往下看,对于直接从xp提取的驱动,有些文件他没有提取或者inf没有对应的项,则自己需要补上,毕竟程序是死的。原来PE里面的驱动程序其实是直接对下载的驱动程序里面的文件进行精简,然而却没有对inf进行修改,用在pe也许还行,用在xp上就很难保证没问题了。

[ 本帖最后由 netwinxp 于 2008-3-22 12:41 AM 编辑 ]
作者: jinjikelly    时间: 2008-3-22 06:45
那我跟你说说吧...
我也不知道怎么说了呵呵...
今天看到那篇文章看到什么32位还有什么的...
你自己去看看吧...
作者: netwinxp    时间: 2008-3-22 09:09
有那么神秘吗?其实只不过是PE的驱动只保留mini和disp两个模块,却没有相应更改.inf造成的。

[ 本帖最后由 netwinxp 于 2008-3-22 10:00 AM 编辑 ]
作者: tigerhuang    时间: 2008-3-22 11:04
原帖由 netwinxp 于 2008-3-22 12:14 AM 发表
我是从xp驱动程序提取的,为了用在PE上减少体积,所以精简了OPENGL和其他工具,至于如何精减,需要了解inf的原理,顺着inf文件的思路往下看,对于直接从xp提取的驱动,有些文件他没有提取或者inf没有对应的项, ...

看来真要从PE上提取驱动程序直接用于WinXP还真不容易,希望哪位大侠能解决这个问题。
作者: netwinxp    时间: 2008-3-22 12:02
不是PE的问题,是原来的PE驱动程序有问题(偷懒没有修改inf)。我那驱动程序在PE、XP上都可以用。




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