关于PE驱动的问题,无忧很早以前,有一篇"PE研究院"中已经提出来了,现在我再把自己总结的经验给大家分享一下!
PE最关键的就是内核驱动和外置驱动,内核驱动主要就是南桥驱动.针对RAID.SATA.以及AHCI,这是PE最关键的部份.主要是让PE能够识别系统的硬盘和RAID磁盘阵列,集成在WINPE.IS_/SYSTEM32/DRIVERS/中..相关驱动的配置在txtsetup.sif中...这里就介绍txtsetup.sif的配置...
关于安装配置文件txtsetup.sif的简单说明
[WinntDirectories]
这个字段是用代码表示文件拷贝的目标文件夹,其根目录为%WinDir%即安装指定的Windows文件夹。
[SourceDiskFiles]
根据前面设定的代码表示文件拷贝的具体细节,下面三段为集成SATA SCSI等驱动时所用
[HardwareIdsDatebase]—硬件标识
[SCSI.load]——SCSI驱动加载
[SCSI]??——SCSI设备说明
添加srs驱动实例:
在WinPE中添加sata,raid驱动的方法(这里以Intel Matrix Storage Manager driver为例,以便于说明,以下描述的驱动文件名只基于本实例,实际操作中的具体的文件名称以需要添加的具体驱动为准)
1、准备材料:
a、原版驱动文件
b、从WinPE中提取的txtsetup.sif文件
2、从WinPE中提取txtsetup.sif文件:
先将WinPE中的winpe.is_重命名为winpe.cab,然后用RAR解压出winpe.iso,用UltraISO打开它,将txtsetup.sif提取出来,并用记事本打开备用。
3、修改txtsetup.sif文件
a、打开驱动包,里面有一个扩展名为“.inf”或“.oem”的小文件,如“oemsetup.inf”或者“txtsetup.oem”等(本例中为“txtsetup.oem”),用记事本打开备用;
b、在txtsetup.sif中查找[SourceDisksFiles]字段,在其下添加iaStor.sys=1,,,,,,4_,4,1,,,1,4
c、查找[SCSI.Load]字段,在其下添加iaStor=iaStor.sys,4
d、切换到刚才打开的txtsetup.oem,查找HardwareIds关键字,将该字段下的代码全部拷贝到txtsetup.sif文件的[HardwareIdsDatabase]字段末尾,但需要更改一下代码的格式,比如将id = "PCI\VEN_8086&DEV_27C3&CC_0104","iaStor"改为PCI\VEN_8086&DEV_27C3&CC_0104=iaStor
e、查找[SCSI]字段,在其下添加iaStor="Intel(R) 82801FBM SATA AHCI Controller (Mobile ICH6M)"
至此,修改txtsetup.sif文件部分完成,将修改后的sif文件替换原来的文件。
4、复制驱动文件
将驱动文件iaStor.sys用makecab.exe压缩成iaStor.sy_并添加到PE的system32\DRIVERS目录下,然后将修改后的winpe.iso用makecab.exe重新压缩成winpe.is_替换原来的文件。
至此整个添加驱动工作完成,重启动以测试成功与否。
其中,最麻烦的就是更新或添加驱动的时候,新驱动中删除了对老硬件的支持或者硬件代码有所改变,这个时候就要对照txtsetup.sif文件手动修改,新驱动删除的硬件ID就不能让txtsetup.sif 中还有相关配置,或者保留老驱动文件,为了对老爷机更好的支持,就必须让txtsetup.sif 硬件ID的指向老驱动文件.新驱动带来的新硬件ID就要自己手动添加进去,在这里存在老驱动文件和新驱动文件的硬件ID重复问题,这也是工作量最大的地方,通常我是把老驱动文件重新命名保存,然后找到硬件ID重复的记录,优先让它指向新驱动,然而新驱动中删除的硬件ID,就改成指向老驱动文件,一定要细心,否则出错的机率是相当大的.
曾经我在制作"开始懂了"WINPE奥运纪念正式版的时候,测试过从MSDN原版的I386文件和深度WINXP_SP3 9.0的I386文件中提取相关内核驱动,但是遇到容量问题,如果照这样做出来,内核文件是相当大的,会影响到WINPE加载的速度,于是我放弃了.接着我研究了老毛桃911版本的内核驱动及各网友提供的WINPE版本.让人失望的就是,各网友的WINPE版本都是用911的内核,甚至根本没有变化.还是2007年的驱动,于是找到深度R大的ZPE系列驱动,发觉此人做的驱动精简了911,而且在一些位置上做了修正,并添加了一些新的,他的思路给了我启发,接着我把911内核提取出来,先修正911内核中错误的地方,然后手动添加了INTEL最新的南桥驱动,支持ICH10R P45板子,然后在"开始懂了"奥运纪念正式版中发布,没想到网友们给我的回馈让我很高兴.在P45主板上都能正常使用,而且在一些"问题"笔记本上也能使用.接着我又把AMD最新的支持SB750南桥驱动添加进去并做了追加发布版本.我拿到电脑城测试黑5+780G+SATAII硬盘.启动一切正常.于是为了解决WINPE启动速度慢的问题,便使用GRUB开始菜单加入USB2.0驱动启动,这样WINPE启动只要10秒左右了,这一步费了很多精力,为了保证网友们下载后能正常使用,我用自己的U盘量产了不下20次,确保稳定性...虚似机是测试不出来的...
外置驱动:
建议使用911原版本结构,使用一个WIM外置包,效率和速度是最快的.很多网友把外置中的程序每个都打包成WIM...WIM的好处是不怕病毒,每一个程序或者驱动包都打包成WIM.在运行的时候系统要进行反复的虚拟解压和挂载,效率可想而知,对小内存的用户影响更为明显,WIM不能跟WINRAR和CAB技术相提并论...
驱动,最好使用官方版本,从中提取后,一定要检查驱动配置文件,很多网友自己制作的驱动包,虽然是从官方版本中提取出来的,但就是在WINPE上无法正常使用,问题的关键就是配置文件和压缩成CAB的时候没有处理好INF中的相关配置...
好了,以上就是我驱动的制作经验,由于时间问题,不能再这上面继续研究了,还望各位PE爱好者把PE做得更好...PE最重要的不是外置软件有多少,不是功能有多强,不是界面有多美观,而是驱动,只有识别了你的电脑硬件,WINPE才有用武之地!
"开始懂了"WINPE奥运纪念版 在我QQ空间有下载,欢迎各位WINPE爱好者进来探讨一下你们的经验.
个人空间地址:http://new.qzone.qq.com/14831073/infocenter
[ 本帖最后由 wsw8810 于 2008-11-15 13:11 编辑 ] |