无忧启动论坛

标题: 一个偶然的发现终于让FiraDisk驱动和2003这对冤家变朋友了(附修改好的FiraDisk驱动) [打印本页]

作者: yjstone    时间: 2011-2-1 01:20
标题: 一个偶然的发现终于让FiraDisk驱动和2003这对冤家变朋友了(附修改好的FiraDisk驱动)
众所周知,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 编辑 ]
作者: 2010wyl945    时间: 2011-2-1 08:16
原来如此~~~

有空试下:)
作者: hc0    时间: 2011-2-1 09:09
标题: 回复 #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 编辑 ]
作者: 不才    时间: 2011-2-1 10:39
嘿嘿,虽说偶至今从未摸过RamOS,但仍要感谢 yjstone 兄将这个看似“偶然”、实则伟大的发现共享给大家。
谢谢 yjstone 兄!
看来再不摸摸 RamOS ,是真的要out了。
作者: xianglang    时间: 2011-2-1 14:00
楼主干脆将FIRADISK的驱动的 INF 修改一下,再上传给我们这些不懂驱动的人试一下——如果全部成功,可以向FIRADISK作者反映并修正了,功德无量啊!
作者: moondust    时间: 2011-2-1 14:47
这可是本年度最牛的发现。
作者: atoms    时间: 2011-2-1 15:21
标题: 等待最新测试
支持5楼,6楼支持5楼,6楼
作者: 2010rockze    时间: 2011-2-1 16:01
这个要支持啊!!!很重要的发现啊!!!
作者: pseudo    时间: 2011-2-1 16:22
破解了国际性难题。
作者: liquan8    时间: 2011-2-1 16:54
标题: 不顶不行.顶到高手更改Firadisk驱动让其完美支持2003
不顶不行.顶到高手更改Firadisk驱动让其完美支持2003
作者: panman    时间: 2011-2-1 17:27
l二话不说,赶紧试试去..哈哈哈
作者: liulaotou2    时间: 2011-2-1 19:05
标题: 回复 #1 yjstone 的帖子
恭喜,终于发现根本原因,这下子大部分人的问题应该都解决了.
作者: pseudo    时间: 2011-2-2 01:19
根据楼主的发现,尝试提供一个现成iso启动器供测试:
http://bbs.wuyou.net/forum.php?m ... page=255#pid2152596
作者: lsqyqz    时间: 2011-2-2 22:57
恭喜,这是本年度最大的发现!!!
作者: Plantsoot    时间: 2011-2-2 23:54
这是春节最好的礼物,太帅了,楼主的贡献非常大,多谢了啊!
作者: yjstone    时间: 2011-2-3 23:47
原帖由 xianglang 于 2011-2-1 14:00 发表
楼主干脆将FIRADISK的驱动的 INF 修改一下,再上传给我们这些不懂驱动的人试一下——如果全部成功,可以向FIRADISK作者反映并修正了,功德无量啊!

已将修改好的FiraDisk驱动放到附件里了,其实是很简单的,仅仅是修改了原版inf安装文件的”[AddServiceFiraDisk]“字段下的”LoadOrderGroup = SCSI miniport“改为”LoadOrderGroup = Boot Bus Extender“,其余的文件没有作任何的改动。
作者: yjstone    时间: 2011-2-3 23:49
原帖由 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的安装光盘镜像)。
作者: bardlet    时间: 2011-2-4 13:57
1.26 版采用了楼主的发现
LoadOrderGroup = Boot Bus Extender
作者: yjstone    时间: 2011-2-4 15:42
哈哈,看了看刚下载的最新版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 编辑 ]
作者: yjstone    时间: 2011-2-4 16:06
原帖由 friend8179 于 2011-2-4 10:52 发表
对于03pe直接能识别工作吧?是否需要修改Txtsetup.sif更改Firadisk加载区段?太久没摸Pe了

刚才试了试,将Firadisk驱动放进03pe的Txtsetup.sif里的“[SCSI.Load]”加载区段就可以正常工作,不需更改。
作者: Plantsoot    时间: 2011-2-4 16:46
太好了,困扰已久的问题解决了!
作者: adef    时间: 2011-2-4 17:38
改loadordergroup貌似是不点把此帖翻译到bootland的

http://reboot.pro/13750/
作者: pseudo    时间: 2011-2-4 19:41
原帖由 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,不集成的情形。
作者: 健佬    时间: 2011-2-4 21:03
谢谢楼主的分享,按您所说的方法去做了个RAM2003一次成功,以前要改电源模式才可以用,每次都要手动关机,现在不用了。GOOD!
作者: yjstone    时间: 2011-2-4 22:51
原帖由 adef 于 2011-2-4 17:38 发表
改loadordergroup貌似是不点把此帖翻译到bootland的

http://reboot.pro/13750/

原来是不点大师帮我翻译到reboot.pro(原boot-land)论坛的,真是辛苦不点大师了,多谢!多谢!
作者: xianglang    时间: 2011-2-5 18:16
昨夜在我的上网本上试了一晚,仍然是蓝屏后立即重启,没辙了……
作者: yjstone    时间: 2011-2-5 22:46
建议你这样测试:先用Grub4dos加载一个小的IMG镜像,再启动2003,看看“我的电脑”里是否有由IMG镜像生成的虚拟磁盘,如果有则说明FiraDisk驱动起作用了,之后再做RamOS镜像。这样即使是系统认不出虚拟磁盘也不会蓝屏,便于查找原因。
作者: xianglang    时间: 2011-2-6 14:57
我是用VBOOT直接安装到VHD中去的,先MAP一个镜像,进入2003后系统能够认到,不过如果直接在G4D中MAP 2003的VHD,就会在出现2003的启动滚动条一圈之后,就出现蓝屏并迅速重启。刚才还试了下安装WINVBLOCK,也是一样的问题——不知道是不是与VBOOT冲突,有空再试试直接在硬盘安装再倒到IMG里看有没有改变。
作者: zhhsh    时间: 2011-2-6 15:05
VHD应该是固定容量吗?
MAP有没有加--mem?
作者: xianglang    时间: 2011-2-6 15:12
是固定容量的,不是固定容量,G4D在MAP的时候好象会出错;MAP的时候也是加了--mem 参数的。
作者: zhhsh    时间: 2011-2-6 15:31
那可能是驱动冲突。禁用vboot相关驱动
作者: yjstone    时间: 2011-2-6 16:44
原帖由 xianglang 于 2011-2-6 14:57 发表
我是用VBOOT直接安装到VHD中去的,先MAP一个镜像,进入2003后系统能够认到,不过如果直接在G4D中MAP 2003的VHD,就会在出现2003的启动滚动条一圈之后,就出现蓝屏并迅速重启。刚才还试了下安装WINVBLOCK,也是一 ...

进入03系统后能够认到用Grub4dos map --mem  命令加载的镜像说明FiraDisk驱动已经起作用了,用Grub4dos直接加载系统镜像蓝屏是其它原因引起的,不关FiraDisk驱动的事。
作者: fujianabc    时间: 2011-2-6 17:22
原帖由 xianglang 于 2011-2-5 18:16 发表
昨夜在我的上网本上试了一晚,仍然是蓝屏后立即重启,没辙了……

启动时迅速按f8,在ntldr菜单里面能选择不自动重启,这样就能看到蓝屏信息了
作者: wgykk    时间: 2011-2-15 17:17
Win7 PE下仍然无效
作者: rockrock99    时间: 2011-2-16 08:40
2003企业版 SP2 还是不行
http://bbs.znpc.net/viewthread.p ... &extra=page%3D1
作者: keygen    时间: 2011-3-3 11:05
原帖由 fujianabc 于 2011-2-6 17:22 发表

启动时迅速按f8,在ntldr菜单里面能选择不自动重启,这样就能看到蓝屏信息了

0x00000071蓝屏

Aproblem has been detected and windows has been shut down to prevent damage your computer.
SESSIONS-INITIALIZATION_FAILED
If this is the first time you've seen this stop error screen ,restart your computer . If this screen appears again,
follow these steps:
check to make sure any new hardware or software is properly installed. If this is a new installation ,ask your hardware or software manufacturer for any windows updates you might need.
If problems continue disable or remove any newly installed hardware or software .disable BIOS memory options such as cashing shadowing.
If you need to use safe mode to remove or diable components ,restart your computer ,press F8 to select safe mode
Technical information:
***stop : 0x00000071(0x00000000,0x00000000,0x00000000,0x00000000)

笔记本bios没有disable BIOS memory options
作者: ql1307096    时间: 2011-3-4 12:01
感谢楼主伟大的发现!
作者: gjhjqwer    时间: 2011-3-5 21:15
我的貌似不行哎  企业版的
作者: same2223    时间: 2011-3-6 12:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: mssss123    时间: 2011-7-19 16:27
此贴终于解决了我的2003之疑惑,感谢。
作者: jspeng    时间: 2011-7-20 15:52
标题: 回复 #37 rockrock99 的帖子
使用新版本grub4dos, http://bbs.wuyou.net/forum.php?mod=viewthread&tid=195658
作者: 2011dingfei    时间: 2012-1-1 20:25
很牛逼!!!!该优先级
作者: 湛蓝阴影    时间: 2014-1-20 19:03
我也来试试
作者: a19715    时间: 2014-2-12 18:17
补丁不行,这么好的贴
作者: ql1307096    时间: 2014-2-14 09:30
伟大的发现啊!!




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3