无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 81812|回复: 85
打印 上一主题 下一主题

[教程] Grub4DOS仿真盘驱动--FiraDisk&WinVBlock"详细"帮助&下载

    [复制链接]
跳转到指定楼层
1#
发表于 2011-2-19 16:12:56 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
请仔细查看目录!
FiraDisk和WinVBlock是Windows下Grub4dos仿真盘的驱动.
可以支持grub4dos map--mem出来的光驱,软驱,硬盘,支持多个虚拟驱动器。并从仿真盘启动。
现在支持grub4dos map(非载入内存方式)出来的硬盘,并从仿真硬盘启动。
Firadisk、WinVBlock驱动的最新版本支持 map(非载入内存方式)出来的光驱,并从仿真光驱启动。

FiraDisk和WinVBlock的区别之一:FiraDisk不支持直接扇区映射的map,而WinVBlock支持。(简单来说,WinVBlock是可以无需通过注册表或小内存盘获取映像路径。但FiraDisk需要。)

下载、帮助分楼层:
2楼:FiraDisk帮助及下载
       1.驱动安装[以下以32位驱动为例]
           (1)直接安装到本机系统

           (2)添加到PE内核里
           (3)整合到XP安装盘
       2.驱动的应用
           (1)制作RAMOS[内存里运行的操作系统]

           (2)安装ISO版系统
           (3)从映像文件启动XP[类似win7的vhd,映像文件无需载入内存] (new)

           (4)驱动设置


3楼:WinVBlock帮助及下载
       1.驱动安装[以下以32位驱动为例]
           (1)直接安装到本机系统

           (2)添加到PE内核里
           (3)整合到XP安装盘
       2.驱动的应用
           (1)制作RAMOS[内存里运行的操作系统]

           (2)安装ISO版系统
           (3)从映像文件启动XP[类似win7的vhd,映像文件无需载入内存] (new)

       3.驱动自带小工具winvblk.exe


有条件的朋友测试一下这个帖子:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=187261

[ 本帖最后由 zhhsh 于 2011-4-10 11:49 编辑 ]

评分

参与人数 6无忧币 +138 收起 理由
mountainbear + 5 很给力!
johnyou + 3 很给力!
diskmans + 5 很给力!
20090101 + 5 很给力!
wan06 + 20 原创内容
zhxy9804 + 100

查看全部评分

2#
 楼主| 发表于 2011-2-19 16:13:31 | 显示全部楼层

Firadisk驱动帮助和下载

Firadisk驱动的最新版本(0.0.1.30)下载: firadisk-driver-0.0.1.30.zip (35.27 KB, 下载次数: 4115)
Firadisk驱动的最新版本(0.0.1.30)的F6软盘镜像下载: firadisk-driver-0.0.1.30-f6.7z (29.9 KB, 下载次数: 2633)

1.驱动安装[以下以32位驱动为例]
(1)直接安装到本机系统
方法很多种,可以自行琢磨。。。本帮助提供其中的一种方法。

将以下内容另存为FiraDisk.reg,双击reg导入注册表。
  1. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\firadisk]
  2. "DisplayName"="FiraDisk Virtual Disk Driver"
  3. "ErrorControl"=dword:00000001
  4. "Group"="SCSI miniport"
  5. "ImagePath"="system32\\DRIVERS\\firadisk.sys"
  6. "Start"=dword:00000000
  7. "Tag"=dword:00000022
  8. "Type"=dword:00000001
复制代码
可以打开命令行工具cmd.exe,输入以下命令启动FiraDisk驱动:net start firadisk

(2)添加到PE内核里
把firadisk.sys加入到winpe映像里面的WXPE\system32\dirvers,修改txtsetup.sif如下
在[scsi.load]字段下添加一行
  1. firadisk=firadisk.sys,4
复制代码
(3)整合到XP安装盘
①修改TXTSETUP.SIF
在[scsi.load]下面添加一行
  1. firadisk=firadisk.sys,4
复制代码
在[SourceDisksFiles]添加一行
  1. firadisk.sys = 100,,,,,,3_,4,1,,,1,4
  2. firadisk.inf = 100,,,,,,,20,0,0
复制代码
②然后把firadisk.sys和inf文件放到I386目录下

2.驱动的应用
以下以XP为例

(1)制作RAMOS[内存里运行的操作系统]   关于这个,论坛里有很多例子,本帮助不详细讲述
①先把FiraDisk或WinVBlock驱动安装到该系统,再制作RAMOS(RAMOS制作方法不详)
②编写grub4dos菜单(假设RAMOS的映像名为XP.img):
新建一个文本文件,写上以下内容,另存为menu.lst
title ramxp
find --set-root /XP.IMG
map --mem ()/XP.IMG (hd0)
map --hook
chainloader (hd0,0)/ntldr
③重启,选择RAMXP菜单

(2)安装ISO版系统
使用方法:先选“XP setup step 1”安装系统,蓝色字符安装阶段完成重启后选“Continue XP setup step 2”继续安装
法1. grldr菜单(假定系统安装盘ISO名为WIN$.ISO,且ISO已整合FiraDisk)
  1. title XP setup step 1
  2. find --set-root /WIN$.ISO
  3. map --mem /WIN$.ISO (0xff)
  4. map --hook
  5. chainloader (0xff)

  6. title Continue XP setup step 2
  7. find --set-root /WIN$.ISO
  8. map --mem /WIN$.ISO (0xff)
  9. map --hook
  10. chainloader (hd0)+1
复制代码
法2.grldr菜单(假定系统安装盘ISO名为WIN$.ISO,但ISO没有整合FiraDisk)
  1. title XP setup step 1
  2. find --set-root /WIN$.ISO
  3. map --mem /firadisk.ima (fd1)
  4. map --mem (md)0x6000+800 (fd0)
  5. map --mem /WIN$.ISO (0xff)
  6. map --hook
  7. dd if=(fd1) of=(fd0) count=1
  8. chainloader (0xff)

  9. title Continue XP setup step 2
  10. find --set-root /WIN$.ISO
  11. map --mem /WIN$.ISO (0xff)
  12. map --hook
  13. chainloader (hd0)+1
复制代码
(3)从映像文件启动XP[类似win7的vhd,映像文件无需载入内存] (new)

注:①
请先向该系统安装FiraDisk
       ②系统映像文件必须是连续存储,如果不是,可以使用contig工具对该系统映像文件进行整理

       ③FiraDisk的版本必须是v0.0.1.22及以上
法1:
[quote]
请向该系统映像文件中的boot.ini添加 /firadisk=disk,vmem=你的系统映像文件的路径
boot.ini例子:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /firadisk=disk,vmem=x:\filename.img
其中x:\filename.img是指你的系统映像文件的完整路径,而且要求filename.img所在分区盘符已经在mounteddevices注册表中存在了

FiraDisk v0.0.1.24及其以上的版本支持无需指定系统映像文件所在的盘符
boot.ini例子:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /firadisk=disk,vmem=find:\filename.img
其中find:代替了盘符。
如果磁盘上存在多个与系统映像文件名相同的文件,这可能导致启动系统失败

其中\filename.img是指你的系统映像文件的完整路径


grldr菜单这样写:
title boot XP from IMG
find --set-root /filename.img
map /filename.img (hd0)
map --hook
chainloader (hd0,0)/ntldr

[/quote]

法2:
无需修改boot.ini,直接使用   (Firadisk v0.0.1.30以上的版本才支持)
grldr菜单比较特殊,需要通过建立含有Firadisk驱动参数的内存盘
grldr菜单例子:
title Boot from IMG
map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)
map (hd1,0)/hddimg.img (hd0)
map --hook
write (99) [FiraDisk]\nStartOptions=disk,vmem=find:/hddimg.img,boot;\n\0
rootnoverify (hd0)
chainloader +1
boot
修改hddimg.img的路径就可以了


(4)驱动设置

法1:通过注册表


[quote]1.注册表项 HKLM\SYSTEM\CurrentControlSet\Control\FiraDisk

名为StartOptions ,类型为字符串
其数值的用途:使用FiraDisk驱动创建虚拟盘.
例如: disk,vmem=find:\file1.img;cdrom,vmem=find:\file2.iso;floppy,vmem=c:\file3.img;disk,vmem=c:\file4.img,size=1052835840
例子含有的虚拟盘的类型有: 硬盘, 光驱, 软驱
有3种主要的媒体类型/映像 :
file=路径 : 读写文件.
vmem=路径 : 内存映射文件.
不带路径的vmem : 从虚拟内存分配 (内存+页面文件).
可选参数
offset=数值
size=数值
heads=数值
sectors-per-track=数值
ro : 只读
boot : 表明该虚拟驱动器是用于Windows的启动.
如果文件不存在和指定大小,新的文件将被创建。
如果文件存在,但小于偏移值+大小, 将被扩展.

名为DisableDetectGrub4dos ,类型为REG_DWORD  (用于关闭检测Grub4dos的仿真盘)  
值:0为启用 1为关闭

名为DisableDetectMemdisk ,类型为REG_DWORD  (用于关闭检测MEMDisk的仿真盘)
值:0为启用 1为关闭

名为DisableDetectedRAMDrives ,类型为REG_DWORD  (用于关闭检测Grub4dos创建的内存盘盘)
值:0为启用 1为关闭
2.注册表项 HKLM\SYSTEM\CurrentControlSet\services\FiraDisk\Parameters

StartOptions同上.
你可以在Windows XP安装的第一阶段通过TXTSETUP.OEM字段[Config.FiraDisk]写入该值.

名为PnP ,类型为REG_DWORD
0为在启动时创建新的FiraDisk Enumerator device. 1为不创建FiraDisk Enumerator device.

[/quote]
法2:通过GRUB4DOS内存设备
创建一个使用设备号在0-127之间的小内存盘和写一些配置进该小内存盘.
以[FiraDisk] (可不区分大小写)开始,然后接 \n ,然后StartOptions=数据\n ,最后以\0结束.
反斜杠是用于转义.
你可以在数据字段使用 / 代替 \ . 当FiraDisk读到该数据, 它会自动转换 / 为 \ .
例子:
map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)
map --hook
write (99) [FiraDisk]\nStartOptions=cdrom,vmem=find:/file1.iso;floppy,vmem=find:/file2.img;\n\0


红色字体请根据情况修改

[ 本帖最后由 zhhsh 于 2011-3-5 15:40 编辑 ]

firadisk-driver-0.0.1.0.zip

24.54 KB, 下载次数: 463, 下载积分: 无忧币 -2

更新内容: 支持1个map --mem仿真盘,并且从中启动XP

firadisk-driver-0.0.1.4.zip

29.84 KB, 下载次数: 398, 下载积分: 无忧币 -2

更新内容: 1.支持多个map --mem仿真盘,支持ISO 2.问题是不支持仿真软盘

firadisk-driver-0.0.1.6.zip

37.12 KB, 下载次数: 384, 下载积分: 无忧币 -2

更新内容: 修正Bug: 不正确的大小和GRUB4DOS的内存仿真光盘的地址检测。

firadisk-driver-0.0.1.8.zip

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

更新内容: 1.支持通过在boot.ini添加/firadisk选项挂载img. 2.修正仿真光盘的问题

firadisk-driver-0.0.1.10.zip

35.35 KB, 下载次数: 357, 下载积分: 无忧币 -2

更新内容: 1.支持仿真软盘 2.修正无法读取启动选项参数的十六进制数的问题

firadisk-driver-0.0.1.12.zip

39.57 KB, 下载次数: 341, 下载积分: 无忧币 -2

更新内容: 对Windows 2003的兼容性修正

firadisk-driver-0.0.1.16.zip

28.92 KB, 下载次数: 394, 下载积分: 无忧币 -2

更新内容: 1. 修正仿真盘的速度慢 2.修正无法从仿真盘启动XP安装程序的问题

firadisk-driver-0.0.1.20.zip

30.93 KB, 下载次数: 398, 下载积分: 无忧币 -2

更新内容: 添加支持MEMDISK (v3.86)建立的内存仿真盘

firadisk-driver-0.0.1.24.zip

32.78 KB, 下载次数: 400, 下载积分: 无忧币 -2

更新内容: 添加支持从IMG启动XP,可用find:代替盘符

firadisk-driver-0.0.1.26.zip

33.15 KB, 下载次数: 388, 下载积分: 无忧币 -2

更新内容: 修正BUG,添加通过注册表项是否允许检测GRUB4DOS和Memdisk的仿真盘.

firadisk-driver-0.0.1.26-f6.7z

59.46 KB, 下载次数: 374, 下载积分: 无忧币 -2

firadisk-driver-0.0.1.26的F6软盘镜像

firadisk-driver-0.0.1.28.zip

34.29 KB, 下载次数: 745, 下载积分: 无忧币 -2

更新内容: 支持从Grub4DOS建立的内存盘读取参数

firadisk-driver-0.0.1.28-f6.7z

63.22 KB, 下载次数: 749, 下载积分: 无忧币 -2

firadisk-driver-0.0.1.28的F6软盘镜像

评分

参与人数 2无忧币 +13 收起 理由
wangjf + 3 赞一个!
yesfei + 10

查看全部评分

回复

使用道具 举报

3#
 楼主| 发表于 2011-2-19 16:14:05 | 显示全部楼层

WinVBlock驱动帮助和下载

WinVBlock驱动的最新版本(0.0.1.8 2011-2-14版本)下载: WinVBlock 0.0.1.8.zip (158.12 KB, 下载次数: 3688)

1.驱动安装[以下以32位驱动为例]
(1)直接安装到本机系统
方法很多种,可以自行琢磨。。。本帮助提供其中的一种方法。
将以下内容另存为WinVBlock.reg,双击reg导入注册表。
  1. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wvblk32]
  2. "DisplayName"="WinVBlock Virtual Disk Driver"
  3. "ErrorControl"=dword:00000001
  4. "Group"="SCSI miniport"
  5. "ImagePath"="system32\\DRIVERS\\wvblk32.sys"
  6. "Start"=dword:00000000
  7. "Tag"=dword:00000022
  8. "Type"=dword:00000001
复制代码
可以打开命令行工具cmd.exe,输入以下命令启动WinVBlock驱动:net start wvblk32

(2)添加到PE内核里
把wvblk32.sys加入到winpe映像里面的WXPE\system32\dirvers,修改txtsetup.sif如下
在[scsi.load]字段下添加一行
  1. wvblk32=wvblk32.sys,4
复制代码
(3)整合到XP安装盘
①修改TXTSETUP.SIF
在[scsi.load]下面添加一行
  1. wvblk32=wvblk32.sys,4
复制代码
在[SourceDisksFiles]添加一行
  1. wvblk32.sys = 100,,,,,,3_,4,1,,,1,4
  2. wvblk32.inf = 100,,,,,,,20,0,0
复制代码
②然后把wvblk32.sys和inf文件放到I386目录下

2.驱动的应用
(1)制作RAMOS[内存里运行的操作系统]    [基本上与FiraDisk一致]
(2)安装ISO版系统   [基本上与FiraDisk一致]
(3)从映像文件启动XP[类似win7的vhd,映像文件无需载入内存] (new)

注:①
请先向该系统安装WinVBlock
       ②系统映像文件必须是连续存储,如果不是,可以使用contig工具对该系统映像文件进行整理
       ③FiraDisk的版本必须是v0.0.1.8及以上
WinVBlock无需修改boot.ini,直接写grldr菜单即可
法1:
grldr菜单例子
  1. title boot XP from IMG
  2. find --set-root /filename.img
  3. map /filename.img (hd0)
  4. map --hook
  5. chainloader (hd0,0)/ntldr
复制代码

需要注意的是要预防系统运行时其他程序触及并修改该系统镜像

法2:
此方法可能减少0x7B蓝屏
  1.   map (hd0,0)/filename.img (hd0)
  2.   map --rd-size=2048
  3.   map --mem (rd)+4 (0x55)
  4.   map --hook
  5.   write (0x55) #GRUB4DOS\x00v=1\x00filename.img\x00\x80\x00
  6.   chainloader (hd0)+
复制代码

参数解析:
#GRUB4DOS\x00v=1\x00 : WinVBlock检查签名和版本。
filename.img : 告诉WinVBlock去寻找和挂载该文件.
\x00 : 文件名的结束.
\x66 : 该文件仿真成仿真盘的序号.
\x00 : 没有更多的文件要挂载.



3.驱动自带小工具winvblk.exe
目前只介绍其挂载映像功能
1.挂载
winvblk -cmd attach -m c -u c:\some.iso     挂载iso为光驱(c 代表光驱)
winvblk -cmd attach -m f -u c:\some.vfd     挂载vfd为软驱(f 代表软驱
winvblk -cmd attach -m h -u c:\some.hdd   挂载img为硬盘(h 代表硬盘

2.卸载
winvblk.exe -cmd detach -d 磁盘序号
例如:winvblk.exe -cmd detach -d 1

[ 本帖最后由 zhhsh 于 2011-2-26 22:35 编辑 ]

点评

好像有错误! WinVBlock驱动帮助 (3)整合到XP安装盘 ①修改TXTSETUP.SIF 在[scsi.load]下面添加一行 wvblk32=wvblk32.sys,4 在[SourceDisksFiles]添加一行 wvblk32.sys = 100,,,,,,3_,4,1,,,1,4 wvblk32.i  详情 回复 发表于 2016-8-24 00:41
winvblock是不是不完整呀 httpdisk为啥没有64位的sys文件 只有32位的 奇怪  发表于 2014-11-9 22:25
回复

使用道具 举报

4#
 楼主| 发表于 2011-2-19 16:14:41 | 显示全部楼层
占楼编辑。。。。。。。。。。。。。。
回复

使用道具 举报

5#
 楼主| 发表于 2011-2-19 22:55:40 | 显示全部楼层
0.30版本我还没有放上,现在没有时间写完,明天继续写完
Firadisk v0.0.1.30也必须要求映像文件必须是连续存储,主要是grub4dos的map必须是连续存储
回复

使用道具 举报

6#
 楼主| 发表于 2011-2-20 11:47:33 | 显示全部楼层

回复 #12 yueyezhan 的帖子

应该是建立含有MBR的内存盘供保存Firadisk驱动参数
回复

使用道具 举报

7#
 楼主| 发表于 2011-2-20 15:13:02 | 显示全部楼层

回复 #15 maanu 的帖子

Thanks,i have downloaded.

Would you please tell more usage of drivers(firadisk&winvblock) ?

[ 本帖最后由 zhhsh 于 2011-2-20 15:14 编辑 ]
回复

使用道具 举报

8#
 楼主| 发表于 2011-2-22 13:23:53 | 显示全部楼层
原帖由 maanu 于 2011-2-20 15:42 发表
well , i personally like winvblock the most. i use winvblock to make DIRECT MAP of the RAMOS.

you simply install winvblock , using following method.

1. go to control panel , click on " ad ...

thank you for you post.
have you tested the network part of the winvblock? if u have,could u please provide some help?
thanks.
回复

使用道具 举报

9#
 楼主| 发表于 2011-2-26 22:40:18 | 显示全部楼层
基本完成。。。。
回复

使用道具 举报

10#
 楼主| 发表于 2011-5-8 11:00:49 | 显示全部楼层

回复 #40 2010fengyun 的帖子

建议用版主的run模块启动iso
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-18 09:06

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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