zhhsh 发表于 2011-2-19 16:12:56

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

请仔细查看目录!
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 编辑 ]

maanu 发表于 2011-2-22 18:56:46

no sir , i have not used its http function .

zhhsh 发表于 2011-2-19 16:13:31

Firadisk驱动帮助和下载

Firadisk驱动的最新版本(0.0.1.30)下载:
Firadisk驱动的最新版本(0.0.1.30)的F6软盘镜像下载:

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

将以下内容另存为FiraDisk.reg,双击reg导入注册表。
"DisplayName"="FiraDisk Virtual Disk Driver"
"ErrorControl"=dword:00000001
"Group"="SCSI miniport"
"ImagePath"="system32\\DRIVERS\\firadisk.sys"
"Start"=dword:00000000
"Tag"=dword:00000022
"Type"=dword:00000001可以打开命令行工具cmd.exe,输入以下命令启动FiraDisk驱动:net start firadisk

(2)添加到PE内核里
把firadisk.sys加入到winpe映像里面的WXPE\system32\dirvers,修改txtsetup.sif如下
在字段下添加一行firadisk=firadisk.sys,4(3)整合到XP安装盘
①修改TXTSETUP.SIF
在下面添加一行firadisk=firadisk.sys,4在添加一行firadisk.sys = 100,,,,,,3_,4,1,,,1,4
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)title XP setup step 1
find --set-root /WIN$.ISO
map --mem /WIN$.ISO (0xff)
map --hook
chainloader (0xff)

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

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

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

法1:

请向该系统映像文件中的boot.ini添加 /firadisk=disk,vmem=你的系统映像文件的路径
boot.ini例子:

timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

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例子:

timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

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




法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) \nStartOptions=disk,vmem=find:/hddimg.img,boot;\n\0
rootnoverify (hd0)
chainloader +1
boot
修改hddimg.img的路径就可以了


(4)驱动设置

法1:通过注册表

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字段写入该值.

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


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


红色字体请根据情况修改


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

zhhsh 发表于 2011-2-19 16:14:05

WinVBlock驱动帮助和下载

WinVBlock驱动的最新版本(0.0.1.8 2011-2-14版本)下载:

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

(2)添加到PE内核里
把wvblk32.sys加入到winpe映像里面的WXPE\system32\dirvers,修改txtsetup.sif如下
在字段下添加一行wvblk32=wvblk32.sys,4(3)整合到XP安装盘
①修改TXTSETUP.SIF
在下面添加一行wvblk32=wvblk32.sys,4在添加一行wvblk32.sys = 100,,,,,,3_,4,1,,,1,4
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菜单例子
title boot XP from IMG
find --set-root /filename.img
map /filename.img (hd0)
map --hook
chainloader (hd0,0)/ntldr
需要注意的是要预防系统运行时其他程序触及并修改该系统镜像

法2:
此方法可能减少0x7B蓝屏
map (hd0,0)/filename.img (hd0)
map --rd-size=2048
map --mem (rd)+4 (0x55)
map --hook
write (0x55) #GRUB4DOS\x00v=1\x00filename.img\x00\x80\x00
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 编辑 ]

zhhsh 发表于 2011-2-19 16:14:41

占楼编辑。。。。。。。。。。。。。。

3370123 发表于 2011-2-19 17:17:13

从映像文件启动XP[类似win7的vhd,映像文件无需载入内存] (new)

这正是我需要的~~!喔 耶~!

thttht 发表于 2011-2-19 19:33:58

从映像文件启动XP[类似win7的vhd,映像文件无需载入内存] (new)。。。。。请问楼主这样是不是会改写映像文件里的文件啊?还有Firadisk v0.0.1.30也必须要求映像文件必须是连续存储吗?

maanu 发表于 2011-2-19 21:48:29

with winvblock latest versions , and firadisk 0.0.1.30 versions , we can direct load RAMOS

with run command like this ,

RUN --ramos-nomem /MAANU.IMG /ntldr    ( DIRECT map , contiguous image )
RUN --ramos /MAANU.IMG /ntldr               (map into memory , diskless)

both 2k3 and XP are working ok .


Regards,
Maanu from Pakistan

thttht 发表于 2011-2-19 22:20:01

原帖由 friend8179 于 2011-2-19 22:05 发表 http://bbs.wuyou.net/images/common/back.gif
必须是含有MBR的IMG,如固实VHD格式,SDI,dsk和VMWARE磁盘

一般会改写,但是firadisk有参数保护C盘,暂时不知道原理


必须先在boot.ini中指定镜像路径,以保护起来
multi(0)... = "..." .../firadisk ...



是不是说没有在boot.ini中指定镜像路径, /firadisk=disk,vmem=x:\filename.img 这部分参数就会改写映像文件?


Firadisk v0.0.1.30也必须要求映像文件必须是连续存储吗?连续存储这个要是可以突破就好了!

zhhsh 发表于 2011-2-19 22:55:40

0.30版本我还没有放上,现在没有时间写完,明天继续写完
Firadisk v0.0.1.30也必须要求映像文件必须是连续存储,主要是grub4dos的map必须是连续存储

yueyezhan 发表于 2011-2-19 23:17:01

这两天遇到一个问题
用map方式加载windows7和xp的vhd都没有问题,但是map一个vista或者2008的vhd就不可以,不过用map --mem方式来加载vista/2008的vhd是没有问题的
windows7本身就支持boot vhd,主要是想做vista的ramos的时候可以分别使用map或者map --mem来加载,来保存修改后的内容

按照下面这个,可以map vista的ramos镜像了

无需修改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) \nStartOptions=disk,vmem=find:/hddimg.img,boot;\n\0
rootnoverify (hd0)
chainloader +1
boot
修改hddimg.img的路径就可以了


不清楚这一句的命令是什么意思 map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)

[ 本帖最后由 yueyezhan 于 2011-2-20 10:08 编辑 ]

zhhsh 发表于 2011-2-20 11:47:33

回复 #12 yueyezhan 的帖子

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

sgw888 发表于 2011-2-20 13:45:49

这个一定要支持。楼主可否做一下FIRADISK跟WINVBLOCK的对比啊。

maanu 发表于 2011-2-20 15:09:37

please use this link for latest versions of winvblock .

https://github.com/Sha0/winvblock/tree/master/bin

on right side of page , click on " Downloads " button , and it will ask you to download zip file .

if anyone can not download , please inform me , i will share it here..


last update was made on 14th feb....


Regards,
Maanu from Pakistan

zhhsh 发表于 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 编辑 ]

freesoft00 发表于 2011-2-20 15:27:29

等你的驱动注入工具更新,那个vboot等它干什么。

maanu 发表于 2011-2-20 15:42:31

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 " add hardware " , press NEXT
2. click " yes i have hardware connected "
2. scroll down , press on " show all devices "
3. click on last " add a new hardware device "
4. install the hardware that i manually select " advanced "
5. show all devices
6. now click on next link
7. now browse to the " .inf file of winvblock directory " ignore " unsigned driver " , select WINVBLOCK DISK .
8. after process complete , reboot .
9. in device manager , there will be 2 devices , one with yellow mark , uninstall it .
10. reboot in PE , make img of C: windows , delete dos devices so that your img getrs C: letter .
11. you can also use usbbootwatcher service for booting img from USB .
12 it is for keep settings usb drivers like usbuhci.sys etc at start 0.
13. download it from here .
. http://www.911cd.net/forums//index.php?showtopic=22473

you can add or remove drivers from configuration file inside .

14. copy usbbootwatcher.exe and .conf file inside system32 folder, browse to system32 with cmdline.

usbbootwatcher.exe /install

it will install this service.

now you ca boot the img , with direct map.

you ca use any chinese RAMOS tools , like foxramos etc , to make the img file after this. just dont install firadisk .


let me know if you need any more help .


Regards,
Maanu from Pakistan

wgykk 发表于 2011-2-20 23:02:02

谁能说一下,WIN7PE的ISO仿真启动后,为什么依然不能象XP PE那样看到仿真光盘和软盘,导致外置程序丢失?

fujianabc 发表于 2011-2-21 10:22:05

原帖由 yueyezhan 于 2011-2-19 23:17 发表 http://bbs.wuyou.net/images/common/back.gif
不过用map --mem方式来加载vista/2008的vhd是没有问题的

是不是nt 6.0的bootmgr+winload.exe无法向firadisk传递参数?

fujianabc 发表于 2011-2-21 10:25:01

原帖由 thttht 于 2011-2-19 22:20 发表 http://bbs.wuyou.net/images/common/back.gif

Firadisk v0.0.1.30也必须要求映像文件必须是连续存储吗?连续存储这个要是可以突破 ...
连续存储这个问题是grub4dos的限制,与firadisk无关。

现在vboot已经实现从非连续存储的vhd iso vfd文件上启动了

thttht 发表于 2011-2-21 13:25:35

原帖由 fujianabc 于 2011-2-21 10:25 发表 http://bbs.wuyou.net/images/common/back.gif

连续存储这个问题是grub4dos的限制,与firadisk无关。

现在vboot已经实现从非连续存储的vhd iso vfd文件上启动了



谢谢解答!不知道Grub4DOS以后能不能解决非连续存储加载那?这个是不是很难啊?

fujianabc 发表于 2011-2-21 13:55:37

原帖由 thttht 于 2011-2-21 13:25 发表 http://bbs.wuyou.net/images/common/back.gif

谢谢解答!不知道Grub4DOS以后能不能解决非连续存储加载那?这个是不是很难啊?
不点曾经多次表示,grub4dos基本上不可能实现这个功能

不点 发表于 2011-2-21 14:01:59

回复 #23 fujianabc 的帖子

与我的想法相反,karyonix 在做这个工作,看来 karyonix 很有耐心把它实现。我希望能给以帮助,但事实上我可能还帮不上忙。

yueyezhan 发表于 2011-2-21 18:13:37

原帖由 fujianabc 于 2011-2-21 10:22 发表 http://bbs.wuyou.net/images/common/back.gif

是不是nt 6.0的bootmgr+winload.exe无法向firadisk传递参数?

如果修改vista的bcd参数的话,会7b,按照下面这样就没有问题
title Boot from IMG
map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)
map (hd1,0)/xxx/hddimg.img (hd0)
map --hook
write (99) \nStartOptions=disk,vmem=find:/xxx/hddimg.img,boot;\n\0
rootnoverify (hd0)
chainloader +1
boot

windows7的话,无论是修改bcd还是用上面的做法都没有问题


vhd或者vhd所在的分区也不需要做任何整理

[ 本帖最后由 yueyezhan 于 2011-2-21 18:15 编辑 ]

thttht 发表于 2011-2-21 19:02:13

原帖由 不点 于 2011-2-21 14:01 发表 http://bbs.wuyou.net/images/common/back.gif
与我的想法相反,karyonix 在做这个工作,看来 karyonix 很有耐心把它实现。我希望能给以帮助,但事实上我可能还帮不上忙。



真是期待啊!能实现这个功能还是非常有用方便的。耐心等待!!!

2011xiyiwang 发表于 2011-2-21 20:37:47

我向PE里添加了firsdisk驱动,可是却不能启动,我的是PE03

zhhsh 发表于 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.

zhhsh 发表于 2011-2-26 22:40:18

基本完成。。。。

ql1307096 发表于 2011-3-4 20:49:10

非常不错的教程,学习力哦啊!

假大空 发表于 2011-3-6 12:59:22

呵呵,正用到老大的新版f6镜像。
页: [1] 2 3
查看完整版本: Grub4DOS仿真盘驱动--FiraDisk&WinVBlock"详细"帮助&下载