无忧启动论坛

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

[分享] 一个偶然的发现终于让FiraDisk驱动和2003这对冤家变朋友了(附修改好的FiraDisk驱动)

  [复制链接]
跳转到指定楼层
1#
发表于 2011-2-1 01:20:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
众所周知,Firadisk驱动在2003系统中相当的不给力,有着严重的兼容性问题,只有少部分的机子可以成功用Firadisk驱动制作成用 Grub4dos加载的RamOS,例如我的两台机子(intelr的P43+双核CPU和AMD的785G+4核CPU)就不管怎样弄都死活不能让 Friadisk在2003生效,即认出用Grub4dos加载的镜像,自己一直以来只有用破解的ntldr配合微软的Ramdisk驱动来做2003的 RamOS,但这个ntldr即使是破解的也有着1点几G的容量限制,使用起来很不方便,于是认Firadisk驱动在2003工作起来成为自己一直以来追求的目标。
      本人的系统一直是用2003的RamOS(用破解的ntldr配合微软的Ramdisk驱动做成),以前测试Firadisk驱动时先用 grub4dos加载一个小的IMG镜像再启动ntldr来加载RamDisk镜像,由于一直不得其果就放弃了试验了,但Grub4dos菜单加载那个小的IMG镜像的语句也没删,每次启动RamOS时都一直加载着。
      一次偶尔的机会在BIOS打开硬盘的AHCI模式,然后再启动RamOS,由于系统并没有安装AHCI驱动,启动之后肯定是看不到硬盘的,只能看到系统盘(因为RamOS系统已经安装了Ramdisk驱动,所以可以看到系统盘,不会蓝屏),等进入系统后,奇迹出现了,“我的电脑”居然看到了由 Grub4dos加载的IMG镜像生成的虚拟磁盘,但在安装好AHCI驱动后再进入系统,虚拟磁盘又消失了,只剩下硬盘。后来发现只要系统没有安装硬盘控制器的驱动(例如Raid、AHCI),看不到硬盘,Firadisk驱动就可以生效,能够看到用Grub4dos加载的IMG镜像生成的虚拟磁盘,但一旦安装好硬盘控制器的驱动,重启之后Firadisk驱动马上失效,虚拟磁盘消失。
      于是觉得会不会是Firadisk驱动和2003系统自带的某些磁盘驱动有冲突呢?如果是这样那不如将Firadisk驱动的启动级别提高一点,让它提早启动试试。大家都知道,在NT系统中,每个服务都有一个所属的组类型(服务注册表下的Group键值),对于启动类型为0的驱动服务的加载顺序是由注册表项ServiceGroupOrder(HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control \ServiceGroupOrder)下的list键值来决定的,查看Firadisk驱动的“Group”键值可知,Firadisk驱动所属的组类型为“SCSI miniport”,而在“ServiceGroupOrder“下的"list"键值里(下图)


“SCSI miniport”排在”Boot Bus Extender“和”System Bus Extender“之后。于是马上将Firadisk驱动下的Group”键值的数据改为”Boot Bus Extender“,
  1. Windows Registry Editor Version 5.00



  2. [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\firadisk]

  3. "Group"="Boot Bus Extender"
复制代码
启动之后,哗!久违的由Grub4dos生成的虚拟磁盘终于再次出现了,并且是和硬盘一起出现的。马上用Grub4dos直接加载RamOS镜像,当看到熟悉的桌面出现时,耶!!!终于成功了!接着测试另一台机子,这下毫无悬念了,用Grub4dos加载 RamOS镜像也照样启动成功。历经千辛万苦,终于让2003用上了Firadisk驱动了,从此之后用Firadisk驱动做2003的RamOS不用再看人品了!
      经过反复的测试,只要Firadisk驱动的“Group”类型在”SCSI miniport”之前都可以生效,例如改成“System Bus Extender”也是可以的,甚至可以另加一个自己创造的组,例如改成”Firadisk"这个名字,当然如果改成系统原来没有的“Group”类型,需在注册表HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ServiceGroupOrder项下的键值”list“里添加所更改的“Group”类型,例如我改成“Firadisk"组类型,则ServiceGroupOrder键值改成如下:  
       注意,上面这个事例只是用来说明由此而启发了改Firadisk驱动的“Group"键值的想法,并不是说让Firadisk驱动和03系统兼容必须要打开硬盘的AHCI模式,用普通模式也一样OK的。

PS:经过测试,可用直接修改FiraDisk驱动的inf安装文件来安装FiraDisk驱动,下面附上已修改好的FiraDisk驱动(0.01.18版),此修改版驱动仅仅是修改了原版inf安装文件的”[AddServiceFiraDisk]“字段下的”LoadOrderGroup = SCSI miniport“改为”LoadOrderGroup = Boot Bus Extender“,其余的文件没有作任何的改动,因此毫无技术含量。建议用FiraDisk驱动的作者Karyonix给出的其中一个安装方法:devcon install firadisk.inf root\firadisk来安装(devcon.exe文件和安装批处理已一并放进了附件里),此方法不需重启即可生效,而用在驱动的inf文件按“右键”再按“安装”的方法需重启一次才能完成安装。
Firadisk_0.01.18_Modify.rar (28.61 KB, 下载次数: 793)

       另,经测试,用此方法并不能解决直接从用Grub4dos加载03安装光盘镜像来安装系统的问题(不管是用Grub4dos加载含有Firadisk驱动的软驱镜像还是用Nlite将FiraDisk驱动集成进03的安装光盘镜像)。

[ 本帖最后由 yjstone 于 2011-4-2 23:41 编辑 ]

评分

参与人数 3无忧币 +9 收起 理由
879792799 + 1 很给力!
紫狐 + 5 很给力!
xiajlang + 3 赞一个!

查看全部评分

2#
发表于 2011-2-1 08:16:11 | 只看该作者
原来如此~~~

有空试下:)
回复

使用道具 举报

3#
发表于 2011-2-1 09:09:16 | 只看该作者

回复 #1 yjstone 的帖子

奇怪,我看了1下,我的2台G45都是开着IASTOR用的ramos,按理说,P43和这G45是1个系列,甚至芯片组驱动都一样
2驱动一直用intel的,换了多个版本都没问题.现在这机驱动版本是IASTOR8.9.6.1002(2010.1.8),chipset9.1.2.1007
fira从12起到现在24,用过多个版本,都OK
系统我这2,3年一直用ostg,

安装细节:基本从用ostg后,我一直把iastor集成在安装盘,正常装完系统,应用,装FIRA,然后做img

碰过的最大问题是,基本上刚做的img都用不了,开机在字符状态报各种不同的文件错,但只要做的正确,将img copy1遍,或gz后,总之就是把启动文件重写1遍,就可以开机了,这问题至今无解
(不是报img非连续文件,非连续文件我也见过,也是copy1遍可解决)

[ 本帖最后由 hc0 于 2011-2-1 13:03 编辑 ]
回复

使用道具 举报

4#
发表于 2011-2-1 10:39:50 | 只看该作者
嘿嘿,虽说偶至今从未摸过RamOS,但仍要感谢 yjstone 兄将这个看似“偶然”、实则伟大的发现共享给大家。
谢谢 yjstone 兄!
看来再不摸摸 RamOS ,是真的要out了。
回复

使用道具 举报

5#
发表于 2011-2-1 14:00:06 | 只看该作者
楼主干脆将FIRADISK的驱动的 INF 修改一下,再上传给我们这些不懂驱动的人试一下——如果全部成功,可以向FIRADISK作者反映并修正了,功德无量啊!
回复

使用道具 举报

6#
发表于 2011-2-1 14:47:28 | 只看该作者
这可是本年度最牛的发现。
回复

使用道具 举报

7#
发表于 2011-2-1 15:21:10 | 只看该作者

等待最新测试

支持5楼,6楼支持5楼,6楼
回复

使用道具 举报

8#
发表于 2011-2-1 16:01:10 | 只看该作者
这个要支持啊!!!很重要的发现啊!!!
回复

使用道具 举报

9#
发表于 2011-2-1 16:22:54 | 只看该作者
破解了国际性难题。
回复

使用道具 举报

10#
发表于 2011-2-1 16:54:28 | 只看该作者

不顶不行.顶到高手更改Firadisk驱动让其完美支持2003

不顶不行.顶到高手更改Firadisk驱动让其完美支持2003
回复

使用道具 举报

11#
发表于 2011-2-1 17:27:39 | 只看该作者
l二话不说,赶紧试试去..哈哈哈
回复

使用道具 举报

12#
发表于 2011-2-1 19:05:46 | 只看该作者

回复 #1 yjstone 的帖子

恭喜,终于发现根本原因,这下子大部分人的问题应该都解决了.
回复

使用道具 举报

13#
发表于 2011-2-2 01:19:27 | 只看该作者
根据楼主的发现,尝试提供一个现成iso启动器供测试:
http://bbs.wuyou.net/forum.php?m ... page=255#pid2152596
回复

使用道具 举报

14#
发表于 2011-2-2 22:57:09 | 只看该作者
恭喜,这是本年度最大的发现!!!
回复

使用道具 举报

15#
发表于 2011-2-2 23:54:54 | 只看该作者
这是春节最好的礼物,太帅了,楼主的贡献非常大,多谢了啊!
回复

使用道具 举报

16#
 楼主| 发表于 2011-2-3 23:47:04 | 只看该作者
原帖由 xianglang 于 2011-2-1 14:00 发表
楼主干脆将FIRADISK的驱动的 INF 修改一下,再上传给我们这些不懂驱动的人试一下——如果全部成功,可以向FIRADISK作者反映并修正了,功德无量啊!

已将修改好的FiraDisk驱动放到附件里了,其实是很简单的,仅仅是修改了原版inf安装文件的”[AddServiceFiraDisk]“字段下的”LoadOrderGroup = SCSI miniport“改为”LoadOrderGroup = Boot Bus Extender“,其余的文件没有作任何的改动。
回复

使用道具 举报

17#
 楼主| 发表于 2011-2-3 23:49:00 | 只看该作者
原帖由 pseudo 于 2011-2-2 01:19 发表
根据楼主的发现,尝试提供一个现成iso启动器供测试:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=158364&page=255#pid2152596

复P大,经测试,用此方法并不能解决从03安装光盘镜像安装系统的问题(不管是用Grub4dos加载含有Firadisk驱动的软驱镜像还是用Nlite将FiraDisk驱动集成进03的安装光盘镜像)。
回复

使用道具 举报

18#
发表于 2011-2-4 13:57:56 | 只看该作者
1.26 版采用了楼主的发现
LoadOrderGroup = Boot Bus Extender
回复

使用道具 举报

19#
 楼主| 发表于 2011-2-4 15:42:25 | 只看该作者
哈哈,看了看刚下载的最新版FiraDisk驱动(0.0.1.26),FiraDisk.inf文件里的”[AddServiceFiraDisk]“字段下的”LoadOrderGroup = SCSI miniport“真的是改为了”LoadOrderGroup = Boot Bus Extender“。奇怪的是我到boot-land看了看原发布贴,没人向他反映过这问题呀?咋这么快改过来了呢?回想起karyonix在时空论坛的这个回帖(http://bbs.znpc.net/viewthread.php?tid=5742&page=6#pid45140),嘿嘿,karyonix这小子可能懂中文,经常来无忧和时空论坛看贴。

[ 本帖最后由 yjstone 于 2011-2-4 16:46 编辑 ]
回复

使用道具 举报

20#
 楼主| 发表于 2011-2-4 16:06:27 | 只看该作者
原帖由 friend8179 于 2011-2-4 10:52 发表
对于03pe直接能识别工作吧?是否需要修改Txtsetup.sif更改Firadisk加载区段?太久没摸Pe了

刚才试了试,将Firadisk驱动放进03pe的Txtsetup.sif里的“[SCSI.Load]”加载区段就可以正常工作,不需更改。
回复

使用道具 举报

21#
发表于 2011-2-4 16:46:07 | 只看该作者
太好了,困扰已久的问题解决了!
回复

使用道具 举报

22#
发表于 2011-2-4 17:38:27 | 只看该作者
改loadordergroup貌似是不点把此帖翻译到bootland的

http://reboot.pro/13750/
回复

使用道具 举报

23#
发表于 2011-2-4 19:41:05 | 只看该作者
原帖由 yjstone 于 2011-2-3 23:49 发表
复P大,经测试,用此方法并不能解决从03安装光盘镜像安装系统的问题(不管是用Grub4dos加载含有Firadisk驱动的软驱镜像还是用Nlite将FiraDisk驱动集成进03的安装光盘镜像)。

1、
#13楼给出的iso启动器,已经做了这个处理:
原帖由 yjstone 于 2011-2-3 23:47 发表
已将修改好的FiraDisk驱动放到附件里了,其实是很简单的,仅仅是修改了原版inf安装文件的”[AddServiceFiraDisk]“字段下的”LoadOrderGroup = SCSI miniport“改为”LoadOrderGroup = Boot Bus Extender“, ...

如果无效,那么这个发现的应用受限。

2、
用Nlite将FiraDisk驱动集成进03的安装光盘镜像,可以解决iso安装03问题。这个有网友在无忧发过贴。
不过我关注的是使用原版光盘iso,不集成的情形。
回复

使用道具 举报

24#
发表于 2011-2-4 21:03:11 | 只看该作者
谢谢楼主的分享,按您所说的方法去做了个RAM2003一次成功,以前要改电源模式才可以用,每次都要手动关机,现在不用了。GOOD!
回复

使用道具 举报

25#
 楼主| 发表于 2011-2-4 22:51:16 | 只看该作者
原帖由 adef 于 2011-2-4 17:38 发表
改loadordergroup貌似是不点把此帖翻译到bootland的

http://reboot.pro/13750/

原来是不点大师帮我翻译到reboot.pro(原boot-land)论坛的,真是辛苦不点大师了,多谢!多谢!
回复

使用道具 举报

26#
发表于 2011-2-5 18:16:47 | 只看该作者
昨夜在我的上网本上试了一晚,仍然是蓝屏后立即重启,没辙了……
回复

使用道具 举报

27#
 楼主| 发表于 2011-2-5 22:46:49 | 只看该作者
建议你这样测试:先用Grub4dos加载一个小的IMG镜像,再启动2003,看看“我的电脑”里是否有由IMG镜像生成的虚拟磁盘,如果有则说明FiraDisk驱动起作用了,之后再做RamOS镜像。这样即使是系统认不出虚拟磁盘也不会蓝屏,便于查找原因。
回复

使用道具 举报

28#
发表于 2011-2-6 14:57:10 | 只看该作者
我是用VBOOT直接安装到VHD中去的,先MAP一个镜像,进入2003后系统能够认到,不过如果直接在G4D中MAP 2003的VHD,就会在出现2003的启动滚动条一圈之后,就出现蓝屏并迅速重启。刚才还试了下安装WINVBLOCK,也是一样的问题——不知道是不是与VBOOT冲突,有空再试试直接在硬盘安装再倒到IMG里看有没有改变。
回复

使用道具 举报

29#
发表于 2011-2-6 15:05:43 | 只看该作者
VHD应该是固定容量吗?
MAP有没有加--mem?
回复

使用道具 举报

30#
发表于 2011-2-6 15:12:52 | 只看该作者
是固定容量的,不是固定容量,G4D在MAP的时候好象会出错;MAP的时候也是加了--mem 参数的。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-2 19:44

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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