|
|
楼主 |
发表于 2013-12-31 13:56:50
|
显示全部楼层
本帖最后由 pseudo 于 2013-12-31 14:58 编辑
谢谢你辛苦测试反馈。所有测试结果符合设计预期。
你有SATA AHCI和Raid两种设备,前面说过,目前处理机制多是针对一个设备的。
原版chkpci.txt有$PCI\VEN_8086&DEV_1D02&CC_0106和对应的IASTOR。
不是不识硬盘,只不过识别的是对应PCI\VEN_8086&DEV_1D02&CC_0106的SATA设备,它需要iastor驱动。
识别一个后,按设计它已完成任务,其余设备不再管了。即使后面加入$PCI\VEN_1000&DEV_0073&SUBSYS_1F4E1028(及MSAS2k3),它也不管。这就是“只识别板载SATA设备而无法识别H310”的原因。
把$PCI\VEN_1000&DEV_0073&SUBSYS_1F4E1028(及MSAS2k3)加在开头,可能导致它优先于后面的$PCI\VEN_8086&DEV_1D02&CC_0106和对应的IASTOR被处理。尤其是删除$PCI\VEN_8086&DEV_1D02&CC_0106和对应的IASTOR后,更确保$PCI\VEN_1000&DEV_0073&SUBSYS_1F4E1028(及MSAS2k3)无竞争对手,必定被处理,这时当可识别H310。一旦H310被识别,无论有无$PCI\VEN_8086&DEV_1D02&CC_0106,SATA设备都不会被处理,这就是“只识别H310而无法识别板载SATA设备”情形。
总之,目前处理机制多是找到一个SRS驱动就罢手。
从这台机器的情况得到一个启发:
chkpci.txt里id的排序除了长的排前面之外,还可考虑把Raid的排在AHCI前面。因为组raid后识别raid比识别ahci显然更重要。
目前为止pe在srs方面表现没有被证实与设计预期不符、出bug的地方。
前面说过,单文件机制遇到多id情形,理论上是无法避免配错id的。手动加载MSAS2K3.sy_情形,可以手动指定正确id,那样单文件驱动机制应该也有效认盘。
最后,现有机制下也有对付多设备多id的办法。就是利用上述A.zip或SRS.zip格式的驱动包。
“手动加载A.zip(包内含有TXTSETUP.OEM):H310和板载SATA设备都无法识别。”是因为A.zip里无SATA设备的id无法识别SATA设备,虽有H310对应id但驱动msas2k3.sy_版本好像是4.12.0.32,低于你用的5.1.112.32版。
“手动加载SRS.zip(包内含有SRSID.txt):只识别H310而无法识别板载SATA设备。”是因为srs.zip里无SATA设备的id无法识别SATA设备。
这个srs.zip驱动包结构很简单,打开看看就明白了。可以自行修改加入你要的驱动,大致是
1、srsid.txt写入
驱动id=“驱动名"
2、把“驱动名.sy_”放入“驱动名”文件夹
3、用winrar(不能用7-zip)以zip格式最大压缩比打包。
这种结构的驱动包此pe最早采用并一直支持,可以同时支持多设备多id。
当然,好久不用这种驱动包了,不知道此机制是否生锈失灵。应该问题不大吧。
此pe的驱动机制几年前已定型,后来很少变动。期间其它pe纷纷外置驱动,它们不一定都支持多设备多id。
以后有空或许能提供一个工具,检查机器有哪些id,哪些驱动包有某id,这样选驱动包针对性强些。
但早已定型的东西潜不下心去改,也许弄个windows下运行的程序完成此任务算了。 |
|