|
回复 #267 zhaohj 的帖子
原帖由 zhaohj 于 2009-3-6 13:16 发表
再次测试,现在用通过的F6.zip中iastor.sy_替换成SRS1.ZIP中iastor87中文件,tetsetup.sif及SRSID.TXT中全改成F6的写法,第一菜单还是没通过,而且在REPORT的HDDRV目录中的txtsetup.sif内容里怎么还有IASTOR87, ...
用F6的替换,还差一处,就是iastor87目录名也要换成iastor。
原理是:
1、探测物理磁盘,得到PCI\VEN_8086&DEV_3A22(厂商、设备号)
2、第一菜单对应SRS1.ZIP,里面SRSID.TXT为知识库,从知识库中查PCI\VEN_8086&DEV_3A22,得到XXX(假定知识库含PCI\VEN_8086&DEV_3A22...="XXX"行,以下称XXX为设备名 ,SRS1.ZIP里为每个设备名建有一个同名目录),遂使用XXX目录下资料。
3、该目录下,有个tetsetup.sif文件,其内容包括
(1)某厂商、设备号对应什么设备名(PCI\VEN_8086&DEV_3A22对应XXX)
(2)该设备名的语义(字符串XXX="Intel ICH7 Family/ESB2/ICH8 Family/ICH9 Family/ICH10 Family AHCI/RAID Controller")
(3)该设备名所用驱动文件(*.sy?)的名字(XXX=*.sys,4)
(4)所用驱动文件的情况(*.sys=1,,,,,,4_,4,1,,,1,4),且作来源理解。
等。这些将作为注册信息用于动态修改注册表。被描述的驱动文件应在此目录,名字前缀应与描述一致,驱动文件将其复制到system32\drivers。
与其它PE将磁盘控制器驱动作为内核不同,0PE把所有驱动都当作非核心的外置部分。外置部分当然应由用户去丰富、去维护。
0PE所做的就是把外置ZIP格式磁盘驱动的机制建立起来,提供多种方案,尽量自动识别,简化与用户的接口规范,使得驱动库易于维护,磁盘驱动问题就算从机制上彻底解决了。
SRS1.ZIP、F6.ZIP的内容可以由用户来维护。内容上通常跟着N版这样的专家走就行(出问题找他)。可以看到,SRS1.ZIP里的东西(文本和驱动文件),几乎都可以从N版方案里找到来源(例如知识库中Intel相关部分完全照搬),只需按目录稍为组织一下(每个设备名对应一个目录)。tetsetup.sif通常可以省略,只在设备名与驱动文件名前缀不同等少数场合需要。若无此文件,会试图自动生成。
这样,要新增一个磁盘驱动,典型地,只需建个目录YY,放入一个驱动文件YY.sy_,然后在SRSID.TXT中插入一行PCI\VEN_????&DEV_????="YY"。这里????和YY可从#264楼图中得到。SRSID.TXT中写在前面的被优先匹配。
现在的问题,一是tetsetup.sif中描述的驱动文件名(*.sy?)与XXX目录下存放的实际驱动文件名前缀是否一致,是否合理(有iastor.sys不能改名为iastor87.sys一说);二是驱动文件(*.sy?)的版本是否合理(intel有多个版本的iastor.sys)。右上角那个,估计是你在某分区也有\0PE\SRS\SRS1.ZIP,被优先采用了,
请注意各分区0PE目录下的同名文件版本要保持一致。我曾经每个版本用不同文件名(如128、129等)强制避免混淆,但后来算了,用户自己负责吧。 |
|