无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 17776|回复: 24
打印 上一主题 下一主题

讨论下winvblock的用法

  [复制链接]
跳转到指定楼层
1#
发表于 2010-4-20 08:10:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 liuzhaoyzz 于 2013-8-25 14:16 编辑

winvblock是2009年6月份由加拿大的Shao Miller编写的,firadisk是2009年8月份由泰国的karyonix编写的,winvblock和firadisk都可以把grub4dos创建的仿真磁盘带入Windows,经过不断更新,他们也先后支持了memdisk磁盘仿真,这样就能够在网启或者fbinst中整体启动PE的ISO映像,并加载ISO中的外置程序。经过漫长的等待与反馈,终于在PE中启动了winvblock。
winvblock采用0.0.1.7,http://www.boot-land.net/forums/index.php?showtopic=8168
下载地址
http://www.boot-land.net/forums/index.php?showtopic=8168&st=200&gopid=100361&#entry100361
http://www.boot-land.net/forums/index.php?act=attach&type=post&id=10927

源代码http://git.etherboot.org/?p=people/sha0/winvblock.git
1、把txtsetup.oem,wvblk.inf,wvblk32.sys加入到winvblock.ima,利用winvblock引导PE,最新版的能够用这样的办法PXE整体引导原版ISO了(2010.5.17采用最新版0.0.1.7测试成功,以前版本不行)。

menu.lst

map --mem (pd)/winvblock.ima (fd0)
map --mem (pd)/tonPE.iso (0xff)
map --hook
chainloader (0xff)


2、把wvblk32.sys加入到winpe.iso里面的WXPE\system32\dirvers,修改txtsetup.sif如下(参照ramdisk就行):

[SourceDisksFiles]
...
ramdisk.sys=100,,,,,,5_,4,1,,,1,4
wvblk32.sys=100,,,,,,5_,4,1,,,1,4
...

[ScsiClass.Load]
...
ramdisk=ramdisk.sys
wvblk32=wvblk32.sys


[ScsiClass]
...
ramdisk="RAM Disk Driver"
wvblk32="wvblk32 driver"



或者采用shao本人更简单的办法,只需要修改一处
[scsi.load]
...
wvblk32=wvblk32.sys,4


menu.lst
title WINPE (tonpe.iso+winvblock)
map --mem  (pd)/tonpe.iso (0xff)
map --hook
chainloader (0xff)
boot

pxelinux.cfg\default (pxelinux)
UI menu.c32
prompt 0
allowoptions 0
timeout 30
menu title pxelinux boot from PXE
label WINPE (tonpe.iso+winvblock)
kernel memdisk raw iso initrd=tonPE.iso

用grldr或者pxelinux启动内置的winvblock,启动后的Winpe有外置程序,能够看到MEMDISK虚拟光盘。
(2010.5.17采用最新版0.0.1.7测试成功,以前版本不行)

3、winvblock据说支持memdisk,是不是一定也要把驱动内置才行?memdisk采用官方syslinux3.86压缩包里的,支持ISO启动,http://www.kernel.org/pub/linux/utils/boot/syslinux/,memdisk相当于grub4dos的map --mem吧,能否用两次,先加载winvblock到虚拟软驱而不启动,然后引导WINPE映像?

\pxelinux.cfg\default
label winpe
kernel memdisk raw floppy initrd=winblock.ima
kernel memdisk raw iso initrd=tonpe.iso


后记:boot-land的icecube说pxelinux环境下,不能用两个memdisk,因为memdisk只支持一个映像。shao修改了memdisk.c32,能够支持多映像。http://syslinux.zytor.com/archives/2010-March/013850.html


另外一方面,经过karyonix对于memdisk的仔细研究,2010.5.30日,firadisk0.0.1.20终于支持memdisk仿真了,winvblock似乎2009年6月份就支持了,不过直到2010.5.17日,我才成功用memdisk启动过PE里面的winvblock0.0.1.7。


[ 本帖最后由 liuzhaoyzz 于 2011-1-3 19:04 编辑 ]

winvblock.rar

37.58 KB, 下载次数: 736, 下载积分: 无忧币 -2

做好的winvblock0.0.1.7映像

WinVBlock_0.0.1.7.zip

107.72 KB, 下载次数: 643, 下载积分: 无忧币 -2

原版的winvblock0.0.1.7

WinVBlock_0.0.1.8.zip

128.92 KB, 下载次数: 142, 下载积分: 无忧币 -2

推荐
 楼主| 发表于 2010-4-20 17:48:02 | 只看该作者
非常感谢pseudo大师的指点,不过这个方法我也想过,好象不行。因为winvblk.inf里面也有涉及wvblk32.sys的部分,我也进行了修改,做成的映像不能用,一样提示wvblk32.sys找不到,我甚至尝试过把firadisk压缩包里面的firadisk.inf进行修改,把firadisk全部用winvblock进行替换,把txtsetup.oem里面的firadisk也全部用winvblock替换也不行,很有可能是哪里没有做好吧。
为什么想要用winvblock,而不用firadisk,主要是因为winvblock支持memdisk仿真出的映像,firadisk目前好像不支持吧。pxelinux启动PE,官方memdisk目前貌似是比较好的方法,因为他和grub4dos一样支持iso启动,虽然是部分支持,没有外置,但是winvblock让大家看到了希望。pseudo好像曾经有过让memdisk只做映像而不启动的想法,就是把memdisk当作单纯的map --mem来使用,而这个想法据shao说,Syslinux的发起人H. Peter Anvin曾经进行过讨论,貌似有了初步的结果就是memdisk.c32。
而我也不想把firadisk或者winvblock内置,fujianabc也是这样认为的,做成个ima映像外置便于更新挺好的,虽然开发出半年多了,但它们还处于活跃开发期,集成到内核怕是还要经过更加广泛的测试,特别是稳定性和读写速度方面,winvblock的帖子里面有人就提出了蓝屏和驱动wvblk32.sys找不到的问题,哪个软件没有bug?集成进去,谁去为它们的bug买单?
http://www.boot-land.net/forums/index.php?showtopic=8168&st=150
sebus:Can this be done with the current version:
ISO support. And a floppy a: support would be nice.
shao:sebus: I have not tried it myself, but I would guess that it is possible to make a Windows installation CD .ISO a RAM optical disc and to make a floppy image with the WinVBlock files on it a RAM floppy disk, then to load WinVBlock from the floppy using F6, etc., etc. How you would do so would depend on your choice of MEMDISK or GRUB4DOS.

从这个帖子中可以看到对于sebus的提问,shao在2010年1月10日还没有测试过用仿真软盘的办法加载驱动程序。

[ 本帖最后由 liuzhaoyzz 于 2010-5-7 11:32 编辑 ]
回复

使用道具 举报

推荐
 楼主| 发表于 2010-5-7 11:08:36 | 只看该作者
虽然Shao早在2009年6月份就已经让memdisk支持ISO(Icecube发布的消息),经过更加广泛的测试和修改,Shao Miller在2009年12月18日打的补丁让官方syslinux3.84以后版本支持了ISO,看来让memdisk支持多磁盘仿真的也还是要靠Shao了,顶楼说的第三个方面的问题用目前的memdisk貌似难以实现,而memdisk.c32据shao说不稳定,所以只有等待新版本。
http://syslinux.zytor.com/wiki/index.php/Changelog
2009-12-18 : Syslinux 3.84 released. This was a minor feature and bug fix release.
Changes in 3.84
SYSLINUX: make the DOS installer work for MS-DOS 7.x/8.x (Win9x/ME) again.
HDT: updated to version 0.3.6 (numerous changes.)
mboot.c32: now supports video mode setting if requested by the image.
MEMDISK: Fix floppy images of PC-DOS.
MEMDISK: Add support for emulation of CD-ROM images; patch by Shao Miller.
MEMDISK: Comply with the Win9x "safe hook" standard, allowing a protected-mode driver.
MEMDISK: New "mBFT" ACPI table, by analogy with the iSCSI iBFT table. This allows detection from a protected-mode operating system without EDD support.

[ 本帖最后由 liuzhaoyzz 于 2010-5-20 21:59 编辑 ]
回复

使用道具 举报

推荐
发表于 2010-4-20 13:34:05 | 只看该作者

回复 #1 liuzhaoyzz 的帖子

可以这样试试:
将wvblk32.sys改名为firadisk.sys冒名顶替firadisk。
例如,替换0PE_SRS.GZ中同名文件。用0PE(或仅0PE_SRS.GZ+grldr/MENU.0PE)菜单项
PXE整体引导原版ISO。
回复

使用道具 举报

推荐
发表于 2010-4-20 11:55:40 | 只看该作者
学习了,请高手指点。。
回复

使用道具 举报

6#
 楼主| 发表于 2010-5-17 21:49:18 | 只看该作者
2010.5.16日,shao发布了winvblock0.0.1.7版本。
http://www.boot-land.net/forums/index.php?&showtopic=8168&st=200
http://www.boot-land.net/forums/ ... &type=post&id=10927
这个版本不需要ndis.sys的支持,boot.ini和winnt.sif里面不再需要/WINVBLOCK=BUS=1参数。
经过漫长的反馈与等待,无论是内置版还是外置版PE,终于实现了grldr+winvblock和pxelinux+memdisk+winvblock整体启动WINPE的ISO,办法已经在1#更新了。
还是等待Shao给memdisk.c32完善,让它像map --mem那样支持多映像才好,那样就不用折腾原版ISO咯。
喜欢玩RAMXP或者RAM2003的朋友们可以尝试下了,不知道他的RAMDISK速度咋样。
还有更有意思的事情,我把wvblk32.sys集成到PE里面,修改txtsetup.sif,然后用map --mem (pd)/firadisk.ima,结果PE中出现了两个WINPE的ISO光盘,firadisk和winvblock居然不冲突。winvblock启动后,任务栏系统托盘区会出现USB形状的提示,单击就可以看到哪个是winvblock的仿真磁盘。
现在有些PE集成了firadisk,可是firadisk不支持memdisk仿真磁盘,而winvblock支持grub4dos和memdisk,从这个角度看来对于RAM PE而言还是集成winvblock好些,毕竟多了一种启动方式。

[ 本帖最后由 liuzhaoyzz 于 2010-5-19 20:51 编辑 ]
回复

使用道具 举报

7#
 楼主| 发表于 2010-5-31 07:59:20 | 只看该作者
2010.5.30日,karyonix更新了firadisk,终于让它支持memdisk了!
http://www.boot-land.net/forums/index.php?showtopic=8804&st=240
v0.0.1.20
Detect MEMDISK RAM drive.
Test SSE2 memory copy code.
下载地址
http://www.mediafire.com/file/mn5j45gmomi/firadisk-driver-0.0.1.20.zip

[ 本帖最后由 liuzhaoyzz 于 2010-5-31 15:46 编辑 ]
回复

使用道具 举报

8#
发表于 2010-6-1 10:23:18 | 只看该作者
楼主好人。不错不错。。正是我需要的。
回复

使用道具 举报

9#
发表于 2010-6-4 20:56:47 | 只看该作者
有集成过的pe和pxe吗?学习下

点评

电影天堂 www.111vod.com 永夜君王 www.gmwxw.com/0_95/  发表于 2014-11-13 16:53
回复

使用道具 举报

10#
 楼主| 发表于 2010-6-6 18:43:39 | 只看该作者
2010.6.1日,winvblock0.0.1.8发布:
http://www.boot-land.net/forums/index.php?s=&showtopic=8168&view=findpost&p=101308
Date: Tue Jun 1 03:19:42 2010 -0400

[version] Up version to 0.0.1.8

This release introduces initial support for GRUB4DOS
sector-mapped disks. Currently, only HDD images with MBRs
are supported.

Please note that this is an early stage in supporting this
scenario, so you might find quirks. Also be aware of the
limitations:
- If your booted-from disk image file gets _moved_ while you
are booted from it, expect terrible things to happen. Try
to avoid such things as defragmenting the filesystem with
the disk image on it!
- There isn't really a good way to know which Windows disk a
GRUB4DOS backing disk corresponds to! Not enough information
is available to make the right decision. BIOS drive numbers
have no relevance in Windows, so we cannot exactly identify
which backing disk is correct for a disk image
- WinVBlock is not capable of magic; your booted disk image
_must_ have drivers and device ID associations so that the
_real_ disks are found at boot time!


I'm open to discussion about how to best associate which GRUB4DOS backing disk is which Windows disk. It is very tricky, in my opinion.

Enjoy.

[ 本帖最后由 liuzhaoyzz 于 2010-6-6 19:06 编辑 ]

WinVBlock_0.0.1.8.zip

128.92 KB, 下载次数: 499, 下载积分: 无忧币 -2

原版的winvblock0.0.1.8

winvblock.rar

21.94 KB, 下载次数: 442, 下载积分: 无忧币 -2

做好的winvblock映像

回复

使用道具 举报

11#
发表于 2010-6-6 20:02:37 | 只看该作者
请大家做个pxelinux+memdisk+winvblock的模板
回复

使用道具 举报

12#
发表于 2010-6-6 22:37:29 | 只看该作者
[version] Up version to 0.0.1.8
   
    This release introduces initial support for GRUB4DOS
    sector-mapped disks.  Currently, only HDD images with MBRs
    are supported.
是不是限制了应用?能做RAMXP?
回复

使用道具 举报

13#
 楼主| 发表于 2010-6-7 07:33:26 | 只看该作者
@fyqingshan
模板?没有啥技术含量啊?模板是吧?
grldr+pxelinux启动的支持文件模板321k。采用grub4dos-0.4.5b-2010-05-23.zip里面的grldr
http://u.115.com/file/f0daff033c
http://www.brsbox.com/filebox/down/fc/6a915e59592dc67a258e0813f866bb6c
@快雪时晴
没有说限制应用啊?最大的更新是直接支持hdd的map。可以做RAMXP的。

[ 本帖最后由 liuzhaoyzz 于 2010-6-7 07:36 编辑 ]
回复

使用道具 举报

14#
发表于 2010-6-7 11:52:35 | 只看该作者
谢谢楼主,学习一下iso整体启动
回复

使用道具 举报

15#
发表于 2010-6-8 13:57:03 | 只看该作者
请教楼主是不是pe内置winvblock,然后pxeLinux+memdisk引导整体的iso就行?
如果用winvblock.IMA就不用pe内置啦吗?
回复

使用道具 举报

16#
 楼主| 发表于 2010-6-9 21:12:45 | 只看该作者
是的,PE内置了winvblock或者最新版的firadisk0.0.1.22,就可以用pxelinux+memdisk整体ISO启动。
winvblock.ima只能用于grub4dos来外置启动,pxelinux外置启动目前还不行,这是因为memdisk一旦进行仿真就必须boot,shao有个试验性的memdisk.c32,相当于grub4dos的map --mem,不过shao的主要精力不在这上面。如果memdisk支持多磁盘仿真,那么就可以以winvblock.ima形式外置启动了。等吧,呵呵。

[ 本帖最后由 liuzhaoyzz 于 2010-6-9 21:16 编辑 ]
回复

使用道具 举报

17#
发表于 2010-6-11 12:25:39 | 只看该作者
1#不是说memdisk.c32已经支持多镜像啦吗?
请教memdisk.c32的用法
回复

使用道具 举报

18#
 楼主| 发表于 2010-6-30 11:31:40 | 只看该作者
shao搞的memdisk.c32是试验性的,他的主要精力不在为memdisk打补丁上,icecube和shao提供的资料太少,我没有尝试成功过。
回复

使用道具 举报

19#
发表于 2010-6-30 12:31:16 | 只看该作者
这个DD除掉对内存有点要求外,其它真是没得说,太好用了!!!
谢谢楼主。。。
回复

使用道具 举报

20#
 楼主| 发表于 2010-6-30 12:52:51 | 只看该作者
map --mem内存要求多了160kb忽略不计了,我使用winimage做的,好像这样做兼容性更好,如果用其他的办法制作ima,可能做的更小,chenall做的就很小,只有几十kb。
回复

使用道具 举报

21#
发表于 2010-11-13 23:50:40 | 只看该作者
谢谢楼主提供这么好的资料。。受益匪浅
回复

使用道具 举报

22#
发表于 2010-11-14 22:21:23 | 只看该作者
不知能否用pxeinux.0调用grub4dos,用grub的map --mem命令来外置winvblick
来解决pxeinux不能外置的问题
回复

使用道具 举报

23#
发表于 2010-12-1 03:19:13 | 只看该作者
谢谢,能不能直接引导XP安装ISO?
回复

使用道具 举报

24#
发表于 2011-9-26 18:31:33 | 只看该作者
winvblk.exe 如何卸载进入PE后的虚拟光驱?在不确定光驱盘符的情况下。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-5 08:22

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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