无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 168752|回复: 385

[分享]FiraDisk Grub4dos虚拟磁盘的WIN驱动

[复制链接]
发表于 2009-9-2 21:37:39 | 显示全部楼层 |阅读模式
Windows 下 Grub4dos仿真盘的驱动.
可以支持grub4dos map--mem出来的光驱,软驱,硬盘,支持多个虚拟驱动器。
另外,也支持直接在boot.ini加载各种镜像,无488M限制。


感谢zw2312914的推荐(http://bbs.znpc.net/viewthread.php?tid=5742)
,感谢软件作者karyonix的分享.
以下内容摘自上面时空论坛的一些原文.

原帖由 zw2312914 于 2009-9-2 15:36 发表
谢谢 karyonix 。此驱动类似 windrv 大的wdsys。即可以在windows环境使用grub4dos(--mem方式)仿真的镜像(包括iso)。
详见:
http://www.boot-land.net/forums/index.php?showtopic=8804

参考:http://www.boot-land.net/forums/index.php?showtopic=8168

希望有更多的朋友能测试下。





原帖由 fujianabc 于 2009-9-2 16:19 发表

看了一下,名叫firadisk。

貌似已经超级强大了,可以支持grub4dos map--mem出来的光驱,软驱,硬盘,支持多个虚拟驱动器。

另外,也支持直接在boot.ini加载各种镜像,无488M限制。

支持x86/x64系统,但对于64位系统,尚无法使用4GB以上的内存,grub4dos似乎也不行。内存盘上限大概是3.25GB





我已经测试过了,很强大,0pe或Micrope直接用这个驱动替换里面的wdsys.sys驱动,可以正常使用.
其它PE只需要在内核中加入这个驱动,就可以直接整体ISO来启动,再也不用担心ISO启动找不到外置的问题了.

在PE中添加该驱动只需在TXTSETUP.SIF中添加以下语句,然后把firadisk.sys文件放到system32\drivers目录下就可以了
[scsi.load]
Firadisk=Firadisk.sys,4
整体ISO启动方法例子.

title pe from iso
map --mem /xxxxpe.iso (0xff)
map --hook
chainloader (0xff)
还有一些想法,我还没有条件测试,
1.把这个驱动加入到WINDOWS的安装盘中,这样是不是就可以直接以
map --mem /winxp.iso (0xff)
map --hook
chainloader (0xff)
的方式来安装XP或其它系统了
2.制作Ram系统,应该是支持的了.只需要在WINDOWS系统中加入这个驱动,然后把系统打包成一个镜像,用GRUB4DOS的map --mem来加载启动.
也可以到这个贴子看看由无忧论坛天风 制作的RAM WINDOWS 7
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=148670
后注:这个驱动还是持续更新中,希望越来越强大,不知是否以后会支持非mem的磁盘,如果可以的话就更强大了.....让我们一起期待吧.

文章来源:chenall的搏客 原文链接:http://www.chenall.com/blog/2009/09/FiraDisk.html


[ 本帖最后由 chenall 于 2009-9-7 14:41 编辑 ]
发表于 2009-9-2 21:42:52 | 显示全部楼层
呵呵 革命性的更新啊 有时间玩玩 能直接mem xp 的安装盘就爽翻了。
在哪能下载到  我测试下能map精简版xp不。
方便的话 麻烦大哥mesh上更新下pe吧 或者告知下应该覆盖哪个包的也行

[ 本帖最后由 fantasy 于 2009-9-2 21:47 编辑 ]
回复

使用道具 举报

发表于 2009-9-2 21:45:36 | 显示全部楼层
好啊!
我就等着这一个。等很久了。
回复

使用道具 举报

发表于 2009-9-2 22:06:09 | 显示全部楼层
我这边下载半天都下载不了,
chenall兄已经玩转了。
回复

使用道具 举报

发表于 2009-9-2 22:06:15 | 显示全部楼层
我刚才手动做了一个firadisk的F6软盘镜像,

然后map --mem加载原版MSDN镜像,启动时按F6加载firadisk驱动,结果到可以正常启动到第一个安装启动菜单,但接着选择故障恢复控制台时蓝屏了。
心慰的是,蓝屏代码不是0x7B。
回复

使用道具 举报

 楼主| 发表于 2009-9-2 22:16:09 | 显示全部楼层
@pseudo 要翻墙才能下载得到的,呵呵.

@fujianabc和我的想法一样,
嘿嘿,我也自己制了一个F6软盘镜像,用map --mem加载原版winxp镜像,刚试了,进入故障控制台正常.(直接使用VMWARE的软盘加载的这个镜像,其间没有按F6自动识别)

正在测试安装,可以看到复制文件的过程,应该是可以了.
回复

使用道具 举报

发表于 2009-9-2 22:19:54 | 显示全部楼层
回楼上:

估计你的f6在vmware中是正实软驱fd1,不是grub虚拟的fd1吧

我刚才用真软盘试了一下,不蓝屏了
回复

使用道具 举报

 楼主| 发表于 2009-9-2 22:26:58 | 显示全部楼层
是的,事实证明

使用F6软盘镜像的方式加载这个驱动或把这个驱动加入到安装盘中就可以直接使用GRUB4DOS的map --mem /xxx.iso (0xff)的方式来安装系统了.

上图.注意看虚拟机的提示,为了测试,我把虚拟机的光驱全部去掉了.分配的内存1024MB.

加载的过程

加载的过程
install.JPG
install1.JPG
install2.JPG
回复

使用道具 举报

发表于 2009-9-2 22:30:02 | 显示全部楼层
呵呵 老师们提供一个下载呗 以后安装xp方便了
回复

使用道具 举报

发表于 2009-9-2 22:30:07 | 显示全部楼层
原帖由 chenall 于 2009-9-2 22:26 发表
是的,事实证明

使用F6软盘镜像的方式加载这个驱动或把这个驱动加入到安装盘中就可以直接使用GRUB4DOS的map --mem /xxx.iso (0xff)的方式来安装系统了.

上图.注意看虚拟机的提示,为了测试,我把虚拟机的光驱 ...


上边几位能不能上传一下软件
回复

使用道具 举报

发表于 2009-9-2 22:31:00 | 显示全部楼层
好东西,这回可以不用双倍内存启动RAM方式PE了,而且可以扔掉那个垃圾RAMDISK.SYS,并且如果是IMG内核,还可以直接mounting WIM文件^_^

[ 本帖最后由 netwinxp 于 2009-9-2 22:38 编辑 ]
回复

使用道具 举报

发表于 2009-9-2 22:33:39 | 显示全部楼层
郁闷,那边的东西下不了,翻墙也不行。
回复

使用道具 举报

发表于 2009-9-2 22:34:45 | 显示全部楼层
我又确认了一下,蓝屏出现的情况很特殊:蓝屏发生在虚拟光驱软驱同时存在,而硬盘又不能识别时

我刚才同时用grub4dos模拟了(fd0)和原版xp的iso,并且我的硬盘是SATA的,启动后安装程序认不到硬盘
启动之后进入第一个菜单选择故障恢复控制台时,安装程序直接试图扫描firadisk虚拟的软驱时才出现蓝屏。

其他情况下不会蓝屏
回复

使用道具 举报

发表于 2009-9-2 22:37:19 | 显示全部楼层
原帖由 fujianabc 于 2009-9-2 22:34 发表
我又确认了一下,蓝屏出现的情况很特殊:蓝屏发生在虚拟光驱软驱同时存在,而硬盘又不能识别时

我刚才同时用grub4dos模拟了(fd0)和原版xp的iso,并且我的硬盘是SATA的,启动后安装程序认不到硬盘
启动之后进 ...


能上传一下程序吗?
回复

使用道具 举报

 楼主| 发表于 2009-9-2 22:37:25 | 显示全部楼层
我来上传一个附件啊,

刚刚顺便测试了使用F6的方式加载到其它PE,直接使用map --mem的方式加载整个ISO到内存,都可以正常使用,并且启动后这个光驱还是存在的..,也就是说不需要修改,只需要在加载之前载入这个F6的镜像,就可以使用map --mem的方式来加载WINDOWS安装程序或PE的ISO镜像了.

再也不用担心ISO启动找不到外置了.

很强.只是因为是加载到内存中的,所以加载的速度会慢一些,也比较占内存.

firadisk-driver-0.0.1.8.zip

37.98 KB, 下载次数: 746, 下载积分: 无忧币 -2

回复

使用道具 举报

发表于 2009-9-2 22:38:04 | 显示全部楼层
另外,原版光盘第一次重启后还会要读光驱的,可以按shift+f10,调出cmd,然后执行一个虚拟光驱来挂载iso

chenall,你软盘的txtsetup.oem怎么写的?
回复

使用道具 举报

发表于 2009-9-2 22:39:40 | 显示全部楼层
pseudo 我下到了 不知道是否可以更新到mesh 0pe里面
回复

使用道具 举报

 楼主| 发表于 2009-9-2 22:42:18 | 显示全部楼层
把我制作的F6软盘镜像也传上来吧,大家可以试试.

安装XP或2K3的方法.(需要有足够有内存)

map --mem (hdx,x)/Firadisk.img (fd1)
map --mem (md)0x6000+800 (fd0)
map --mem (hdx,x)/winxp.iso (0xff)
map --hook
dd if=(fd1) of=(fd0) count=1
chainloader (0xff)

加载到其它PE的方法

map --mem (hdx,x)/Firadisk.img (fd0)
map --mem (hdx,x)/xxpe.iso (0xff)
map --hook
chainloader (0xff)

Firadisk_f6.rar

34.81 KB, 下载次数: 1115, 下载积分: 无忧币 -2

回复

使用道具 举报

 楼主| 发表于 2009-9-2 22:43:30 | 显示全部楼层
原帖由 fujianabc 于 2009-9-2 22:38 发表
另外,原版光盘第一次重启后还会要读光驱的,可以按shift+f10,调出cmd,然后执行一个虚拟光驱来挂载iso

chenall,你软盘的txtsetup.oem怎么写的?


参考UNIATA的驱动写的.
回复

使用道具 举报

 楼主| 发表于 2009-9-2 22:44:15 | 显示全部楼层
原帖由 netwinxp 于 2009-9-2 22:31 发表
好东西,这回可以不用双倍内存启动RAM方式PE了,而且可以扔掉那个垃圾RAMDISK.SYS,并且如果是IMG内核,还可以直接mounting WIM文件^_^



之前用WDSYS驱动就是这个效果了(0pe和Micrope都是不会占用双倍内存的).只是这个驱动多了一个功能支持虚拟光驱,所以更强大.
回复

使用道具 举报

发表于 2009-9-2 22:44:48 | 显示全部楼层
如果是酱紫的话,PE可以先在DOS检测拷贝硬件驱动到GRUB RAM盘,并修改txtsetup.sif和PECMD.INI来加载驱动,无需再弄inf的加载方式了。
回复

使用道具 举报

 楼主| 发表于 2009-9-2 22:48:41 | 显示全部楼层
另外,它不支持虚拟软驱.否则就可以不用虚拟成(fd1)的方式而是直接(fd0)就可以用来安装系统了.
- No floppy drive emulation. Floppy disk image mapped to (fdx) will appear to be removable disk.
回复

使用道具 举报

发表于 2009-9-2 22:51:26 | 显示全部楼层
原帖由 chenall 于 2009-9-2 22:43 发表


参考UNIATA的驱动写的.

我之前自己写的txtsetup.oem,默认加载32位firadisk,按F6可以选择加载32位或者64位的firadisk

  1. [Disks]
  2. d1 = "FiraDisk Installation Disk", \firadisk.sys, \
  3. d1 = "FiraDisk Installation Disk", \firadisk64.sys, \
  4. [Defaults]
  5. scsi = firadisk32
  6. [scsi]
  7. firadisk32 = "FiraDisk Virtual Disk Driver x86",firadisk
  8. firadisk64 = "FiraDisk Virtual Disk Driver x64",firadisk
  9. [Files.scsi.firadisk32]
  10. driver     = d1,firadisk.sys,firadisk
  11. inf        = d1,firadisk.inf
  12. [Files.scsi.firadisk64]
  13. driver     = d1,firadisk64.sys,firadisk
  14. inf        = d1,firadisk.inf
复制代码
回复

使用道具 举报

 楼主| 发表于 2009-9-2 22:52:41 | 显示全部楼层
原帖由 fujianabc 于 2009-9-2 22:51 发表

我之前自己写的txtsetup.oem,默认加载32位firadisk,按F6可以选择加载32位或者64位的firadisk

[Disks]
d1 = "FiraDisk Installation Disk", \firadisk.sys, \
d1 = "FiraDisk Installation Disk", \fir ...

我就收下了,我没有加入64位的..懒得再动手.
回复

使用道具 举报

发表于 2009-9-2 22:55:04 | 显示全部楼层
不需要软驱支持了,ACPI我消化得差不多了,有空的话(最近交忙),我写个硬件检测软件,直接修改txtsetup.sif和pecmd.ini得了,甚至连电源模式都可以直接判定。
F6、inf方式加载简直是绕大圈子更麻烦。

[ 本帖最后由 netwinxp 于 2009-9-2 22:56 编辑 ]
回复

使用道具 举报

发表于 2009-9-2 22:57:00 | 显示全部楼层
http://www.boot-land.net/forums/index.php?showtopic=8804转贴过来实例:

esting FiraDisk with GRUB4DOS mem drive (non-boot drive)
1. Install FiraDisk driver in Windows.
2. Install GRUB4DOS in a harddrive or whatever.
3. Make a harddisk image and place it in root directory
4. boot into GRUB4DOS
5. create map --mem drive and load bootsector or NTLDR

Example
menu.lst
-----------------------------
timeout 3
default 0
title (hd0,0)
rootnoverify (hd0,0)
chainloader +1
title (hd0,0) (hd1)=hdd1.img
root (hd0,0)
map --mem (hd0,0)/hdd1.img (hd1)
chainloader +1
title (hd0,0) (hd1)=hdd1.img s63 h255
map --heads=255 --sectors-per-track=63 --mem (hd0,0)/hdd1.img (hd1)
chainloader +1
title (hd0,0) (hd32)=guest.iso
root (hd0,0)
map --mem (hd0,0)/guest.iso (hd32)
chainloader +1
title (hd0,0) (fd1)=flop.img
root (hd0,0)
map --mem (hd0,0)/flop.img (fd1)
chainloader +1
title (hd0,0) (hd32)=guest.iso (hd1)=hdd1.img (fd1)=flop.img
root (hd0,0)
map --mem (hd0,0)/guest.iso (hd32)
map --mem (hd0,0)/hdd1.img (hd1)
map --mem (hd0,0)/flop.img (fd1)
chainloader +1
title commandline
commandline
-----------------------------

Testing FiraDisk with GRUB4DOS mem drive as boot drive Brief instruction
1. Install FiraDisk in Windows before making image or cloning Windows
2. Use another Windows installation (or other OS) to clone Windows to image file If you use NTFS compression, make sure ntldr in image file is not compressed
3. If image file have different MBR signature, adjust registry in image file. load hive \Windows\system32\config\system, goto key MountedDevices, value \DosDevices\C:
change the data to match MBR signature and LBA of disk image unload hive
4. Boot from GRUB4DOS
Example
menu.lst
-----------------------------
timeout 3
default 0
title hdd.img
map --mem (hd0,0)/hdd.img (hd0)
map --hook
root (hd0,0)
chainloader /ntldr
title commandline
commandline
-----------------------------

[ 本帖最后由 小咕咚 于 2009-9-2 23:02 编辑 ]
回复

使用道具 举报

发表于 2009-9-2 22:58:42 | 显示全部楼层
越来越强大了,也越方便了,很期待netwinxp 版的作品早日出现....
回复

使用道具 举报

发表于 2009-9-2 23:10:43 | 显示全部楼层
原帖由 netwinxp 于 2009-9-2 22:55 发表
不需要软驱支持了,ACPI我消化得差不多了,有空的话(最近交忙),我写个硬件检测软件,直接修改txtsetup.sif和pecmd.ini得了,甚至连电源模式都可以直接判定。
F6、inf方式加载简直是绕大圈子更麻烦。



就等你的新东西出现了,迫切需要你的成果。利用0PE,今天刚刚搞定一个服务器,一天到现在才吃了两顿饭,郁闷。
回复

使用道具 举报

发表于 2009-9-2 23:15:00 | 显示全部楼层
原帖由 fujianabc 于 2009-9-2 22:38 发表
另外,原版光盘第一次重启后还会要读光驱的,可以按shift+f10,调出cmd,然后执行一个虚拟光驱来挂载iso

chenall,你软盘的txtsetup.oem怎么写的?


xp也可以这么做么?要是能够用grub做一次自动判断就好了 弄成全自动的省事,,,
回复

使用道具 举报

发表于 2009-9-2 23:44:10 | 显示全部楼层
喜欢chenall能尽快将该技术整合到0PE中,期待该工具越来越强大。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-28 22:22

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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