无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 7406|回复: 16
打印 上一主题 下一主题

F6自动加载驱动功能的扩展

[复制链接]
跳转到指定楼层
1#
发表于 2009-12-8 13:38:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用pseudo和chenal等人的F6的模块可以自动识别硬件磁盘控制器的ID,并加载正确的驱动。
F6模块是一个非常方便的功能。

现在有个问题是,如果机器上有不止一个RAID控制器的情况,比如除了SATA RAID控制器,还有SAS RAID控制器。
那么怎么使WINPE在启动时,同时自动识别和加载多个磁盘控制器的驱动呢?
当然,如果去掉AUTO.GZ模块中自动侦测磁盘控制器PCI ID号的功能,
也不自动修改驱动盘fd1(里面集成了多种不同厂家的RAID驱动)里的txtsetup.oem文件(中的Default字段);
通过WinPE启动阶段,手动按F6,选择一个驱动后,按S键再选另外一个驱动,就可以达到目的。

那么,如果我还是想利用AUTO.GZ里的PCI自动侦测功能,不按F6键,也不按S键,
就同时把我想要的两个或几个磁盘驱动同时加载进来。
这应该怎么做呢?

我的目的是想做一个可以适应多种服务器RAID硬件的WinPE工具,
(因为现在有不少服务器主板上有不止一种RAID控制器,如果包括外接的RAID卡,需要的驱动就更多了)

请各位高手赐教。
谢谢了!
推荐
 楼主| 发表于 2009-12-11 18:02:57 | 只看该作者

SRS模块中,驱动冲突问题。

在我先前的帖子(F6自动加载驱动功能的扩展http://bbs.wuyou.net/forum.php?mod=viewthread&tid=157309&extra=&page=2

pseudo老大提到,“理论上支持同时自动识别多硬盘”,识别连接多个不同RAID控制器下的RAID磁盘。
我在测试0pe的过程中,在SRS.ZIP中集成了SAS/SATA RAID(LSI MegaSR)和Adaptec SATA RAID -adptahci驱动。
经测试可以正常检测到ADAPTEC和LSI的驱动,(点选type startPE选项),但在进入PE前会死机、黑屏;
拔掉连在ADAPTEC上的SATA线,可以识别、加载LSI驱动,正常进PE。单独连ADAPTEC驱动也没事。
BIOS里,ADAPTEC换成Intel SATA RAID和LSI测试,可同时检测到两者,也可正常启动PE,并识别到各自的RAID磁盘。

忙活了一下午,就是不知道为什么啊?难道adaptec和lsi天生就冲突。但我以前测试F6模块,手动按F6,按S加载两者的时候,也没有出过问题啊。
不知道在SRS模块里面,如果有两个(或多个)驱动的时候,是不是有驱动加载的先后顺序的问题。
或者说这是SRS里的一个很罕见的BUG?

向各位老大求解了!

PS:在集成SRS1.ZIP的时候,已经非常小心地核对了,PCI号没有重复、冲突的情况。
因为在LINUX中加载SATA RAID有ahci和RAID驱动加载的先后问题,(RAID驱动必须在AHCI驱动之前加载),
于是猜测,是不是AHCI驱动和SATA RAID驱动的加载先后顺序问题,并调整SRS1.TXT中各自的顺序,ADAPTEC已经放在了最后,
但问题还是存在,实在搞不懂问题出在哪儿了!

[ 本帖最后由 wileyoung 于 2009-12-11 18:07 编辑 ]
回复

使用道具 举报

推荐
发表于 2009-12-9 12:31:05 | 只看该作者

回复 #14 wileyoung 的帖子

方法1——在0pe里是现成的。
方法2——在0pe里也是现成的,可手动加载多个,变通一下,应可自动加载两个。
方法4——0pe带有这方面的工具。
回复

使用道具 举报

推荐
 楼主| 发表于 2009-12-9 09:19:05 | 只看该作者
原帖由 netwinxp 于 2009-12-8 21:25 发表

加载磁盘控制器驱动大致有如下几个方法:
1、txtsetup.sif加载(含程序修改sif法)
2、F6加载(含修改default项的变形法)
3、regsetup.hiv加载(和xp的system加载差不多)
4、进入pe后用inf加载驱动,并开启相 ...

学习了。

我尝试过方法1。在老毛桃的版本上修改的,步骤比较繁琐,而且存在与原来的驱动冲突的可能。尝试了N次,最后没有成功。
但如果要同时识别多个不同RAID控制器下的多个RAID磁盘,这是一个一劳永逸的方法。

个人倾向于方法2。简单,灵活,方便,不需要修改内核的txtsetup.sif等多个配置文件。
但就我目前的理解,因为采用F6模块仿真软驱的原因,没有办法自动加载多个磁盘控制器的驱动(当然像我提到的手动按F6、S键的方式除外)。
所有我也特别关注有没有通过深入挖掘F6模块的功能并实现我的想法的可能性。

方法3。没有研究过,愿闻其详。

方法4。是不是类似于在XP里用设备管理器加载INF文件安装各种驱动的方式。但在PE里不知道具体怎么做(好像没有设备管理器)。
可以用什么工具,或写一段batch的方式实现吗?

[ 本帖最后由 wileyoung 于 2009-12-9 09:47 编辑 ]
回复

使用道具 举报

推荐
发表于 2009-12-8 22:29:12 | 只看该作者
2. F6 該是指 grub4dos 摸擬 驅動軟盤作 fd1 吧.
3. regsetupl.hiv 加載  <-- 不懂, 有沒有多點資料或連結, 我的 pe 沒這個文件?
回复

使用道具 举报

推荐
发表于 2009-12-8 21:25:41 | 只看该作者
原帖由 adatsui 于 2009-12-8 21:05 发表
Micro PE 不是已經有自動識別, 並加載多於一個硬體的方法嗎 ?
我太久沒有更新這方面的做法了,  現在發展了新做法我也不太理解.

我使用 Micro PE 做法是這樣的.
dos 下識別硬體, 抄驅動到 PE 的 ...

加载磁盘控制器驱动大致有如下几个方法:
1、txtsetup.sif加载(含程序修改sif法)
2、F6加载(含修改default项的变形法)
3、regsetup.hiv加载(和xp的system加载差不多)
4、进入pe后用inf加载驱动,并开启相应的服务(不能用于启动设备所在的磁盘控制器)

目前最流行的是1和2。
其中2和4不需要修改注册表,4限于非启动设备限制所以用得少,2的兼容性最好但有难以判定启动设备和难以同时加载多个驱动的缺点。
1用得最多,但会导致内核较大(修改法可以克服此缺点),而且部分驱动需要预先修改注册表才行。
3其实也可以使用,但对制作PE者的水平要求较高所以实际上几乎没人用。

[ 本帖最后由 netwinxp 于 2009-12-8 21:28 编辑 ]
回复

使用道具 举报

推荐
发表于 2009-12-8 21:16:37 | 只看该作者
原帖由 wileyoung 于 2009-12-8 20:03 发表
...通过将两种驱动放入SRS*.ZIP的方式,可以同时自动识别出两块RAID盘吗? ...

理论上支持同时自动识别多硬盘
回复

使用道具 举报

8#
发表于 2009-12-8 13:45:15 | 只看该作者
不管你有多少个磁盘控制器,但对应于启动盘的只能有一个。F6对应的磁盘控制器必须选对应于启动盘的那个。
回复

使用道具 举报

9#
 楼主| 发表于 2009-12-8 14:06:28 | 只看该作者
谢谢版主的及时回复。

这个我也明白,系统只能安装在一个启动盘,对应只有一个RAID控制器。
但如果有这种需求:在进入WinPE以后,再伺机选择和设定哪种RAID磁盘作为启动盘。

我只是想知道有没有将——手动按F6,选择一个驱动,再按S选择其他驱动——这个过程给自动化的可能呢?
回复

使用道具 举报

10#
发表于 2009-12-8 15:41:22 | 只看该作者
既然用于PE,个人认为最好的办法就是采用 txtsetup.sif加载,只要你磁盘控制器存在且sif里面有相应的驱动就会得到加载(虽然有些可能要在注册表做些文章才不会有兼容问题)。
回复

使用道具 举报

11#
发表于 2009-12-8 16:11:17 | 只看该作者
楼主提及的F6模块只是0PE的功能之一。
0PE的第一/二菜单项(对应于驱动包SRS1.ZIP/SRS2.ZIP),应该可以同时自动识别和动态加载多个磁盘控制器的驱动。
SRS*.ZIP是外置的,很容易维护。
回复

使用道具 举报

12#
 楼主| 发表于 2009-12-8 17:50:03 | 只看该作者
pseudo老大,您能贴出一个具体的MENU的例子吗?
比方说我有INTEL.IMG、ADAPTEC.IMG和LSI.IMG三个驱动需要WinPE同时加载,同时识别三个RAID控制器。
可以通过在MENU.LST写一段语句来达到这个目的吗?
回复

使用道具 举报

13#
发表于 2009-12-8 18:53:22 | 只看该作者

回复 #6 wileyoung 的帖子

这是另一种方式。
把驱动添加到SRS*.ZIP即可,可能里面已经有了不用加了。
SRS1.ZIP里有如何添加的说明。
回复

使用道具 举报

14#
 楼主| 发表于 2009-12-8 20:03:01 | 只看该作者
原帖由 wileyoung 于 2009-12-8 17:50 发表
pseudo老大,您能贴出一个具体的MENU的例子吗?
比方说我有INTEL.IMG、ADAPTEC.IMG和LSI.IMG三个驱动需要WinPE同时加载同时识别三个RAID控制器。
可以通过在MENU.LST写一段语句来达到这个目的吗?


谢谢您的回复。
请理解我的“同时”的意思。
也就是说我的机器上有SATA RAID和SAS RAID两个控制器,分别接着做了RAID的SATA盘和SAS盘。
那么通过将两种驱动放入SRS*.ZIP的方式,可以同时自动识别出两块RAID盘吗?
如果还有外接的RAID卡,那么在进入PE后同时识别出3块RAID盘也是可能的吗?
回复

使用道具 举报

15#
发表于 2009-12-8 21:05:18 | 只看该作者
Micro PE 不是已經有自動識別, 並加載多於一個硬體的方法嗎 ?
我太久沒有更新這方面的做法了,  現在發展了新做法我也不太理解.

我使用 Micro PE 做法是這樣的.
dos 下識別硬體, 抄驅動到 PE 的 img (已被 grub4dos 掛載成本地盤, 當然 pe 要用上 無盤天使或 firadisk 才成), 編輯 txtsetup.sif.
上述的做法是自動由 batch 完成的, 例如一些帶 scsi 的機, 進 pe 後隨了裝了 scsi 驅動外, 也同時裝了 intelide (ich 8,9 或是 Ultra ATA Storage Controller), 雖然這個驅動不裝也成, 但也證實了這個做法是可以安裝多個驅動的.
回复

使用道具 举报

16#
发表于 2009-12-11 20:50:42 | 只看该作者
LSI和ADAPTEC哪个是卡,哪个是嵌入式芯片,如果两个都是嵌入式则有可能则有可能出现冲突。
回复

使用道具 举报

17#
 楼主| 发表于 2009-12-13 16:24:14 | 只看该作者
主板是supermicro的x8dtl-3f。
lsi的megasr sas/sata raid是独立南桥的主板上板载芯片,
而adaptec是嵌入在intel南桥芯片(ich10r)中的software raid(和intel的raid可以切换)。
严格来讲,两者都是software raid(相对于外接的raid卡来说)。

但intel的sata raid和lsi的就可以和谐共处,不懂了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-17 16:43

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表