分享

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

 readeee 2013-10-30
众 所周知,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"键值里(下图)

sshot-1.jpg
“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键值改成如下:   fira.jpg
       注意,上面这个事例只是用来说明由此而启发了改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, 下载次数: 630)

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

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

奇怪,我看了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遍可解决)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多