Jump to content











Photo
* * * * - 3 votes

WinVBlock


  • Please log in to reply
623 replies to this topic

#276 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 01 December 2010 - 09:40 PM

Hey maanu,

I just noticed I was BlueScreening with a BartPE .ISO using dog's fine little BartPE plugin that he gave waaay earlier in this thread.

It turned out that MEMDISK was assigning drive 0xFF (that's (hd127) in GRUB4DOS) instead of the drive 0xE0 (or (hd96) in G4D). WinVBlock version 0.0.1.8 is hard-coded to only accept drive 0xE0 as an optical disc from MEMDISK (not an issue for GRUB4DOS)... I must not have gotten around to another form of probing yet, such as the presence of "iso" in the MEMDISK command-line.

Anyway, please try
iso harddisk=224
on your MEMDISK command-line and let me know if you can then boot your Windows Server 2003 installation .ISO with success.

Sorry, but thanks!
# Syslinux

LABEL bartpe

  KERNEL memdisk

  INITRD bartpe.iso

  APPEND iso harddisk=224

EDIT: Actually the 0xE0 thing was only an issue for MEMDISK, not GRUB4DOS. Were you using MEMDISK, maanu?

#277 liuzhaoyzz

liuzhaoyzz

    Newbie

  • Members
  • 19 posts
  •  
    China

Posted 03 January 2011 - 12:06 PM

Shao,
I integrated winvblock 0.0.1.8 into winxp PE,use grub4dos "map" to boot winxp PE,it BSOD。error code:0x000000C5 (0XE139E000,0x00000002,0x00000001,0x8107446E)
menu.lst:
title WINPE by diy_xxq(20101220_net.iso+winvblock inside)
map (hd0,0)/20101220_net.iso (0xff)
map --hook
chainloader (0xff)

If I get rid of winvblock or used winvblock 0.0.1.7 or use "map --mem",it boot successfully.

Why BSOD with winvblock 0.0.1.8 in grub4dos "map" method?

Edited by liuzhaoyzz, 03 January 2011 - 12:53 PM.


#278 liuzhaoyzz

liuzhaoyzz

    Newbie

  • Members
  • 19 posts
  •  
    China

Posted 03 January 2011 - 01:32 PM

error code:0x000000C5 (0XE139E000,0x00000002,0x00000001,0x8107446E)
or error code:0x0000000A (0XE138E000,0x00000002,0x00000001,0x810BF81D)

#279 liuzhaoyzz

liuzhaoyzz

    Newbie

  • Members
  • 19 posts
  •  
    China

Posted 04 January 2011 - 02:40 AM

By the way,I used wincontig to defrag the iso file,so I'm sure the file is continuous.It can use grub4dos "map"。

#280 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1568 posts
  •  
    American Samoa

Posted 16 January 2011 - 06:24 AM

Can this driver be used outside of bootloaders on its own? For example, can it mount images as drives in Windows similar to ImDisk? What image types this driver supports (raw, img, vhd, etc.)? In what ways it's different from FiraDisk driver?

#281 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 20 January 2011 - 02:21 PM

By the way,I used wincontig to defrag the iso file,so I'm sure the file is continuous.It can use grub4dos "map"。

Hello, liuzhaoyzz.

I apologize for the delay in responding.

I think that version 0.0.1.8 might have included some code which demands that a Microsoft .VHD footer be appended to any disk image file. Since then, I've decided I don't think that's a reasonable expectation. Unfortunately, I haven't yet reversed the code. Just in case I'm wrong and that's not your issue, you could try the latest development build.

Thanks to Marty Connor of the Etherboot Project (gPXE), you can goto the WinVBlock repository and either:
  • Use one of the .tar.gz, .tar.bz2, .zip links beside the top-most commit, OR
  • Click the tree link beside the top-most commit, click the bin directory, then download the files from that page

Also available in the same bin directory thanks to GitHub at the WinVBlock repository that they kindly host.

I've decided to try to get into the habit of committing the development builds with each development cycle. Sometimes these will be unstable or might have less functionality than the releases!

Have fun.

#282 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 20 January 2011 - 02:32 PM

Can this driver be used outside of bootloaders on its own?

Yes.

For example, can it mount images as drives in Windows similar to ImDisk?

Yes. Please try the winvblk.exe and [new] httpdisk.exe utilities out.

What image types this driver supports (raw, img, vhd, etc.)?

Just raw floppy images, raw HDD images, .ISOs, and "flat" .VHD images (which are just a raw image with a Microsoft .VHD footer appended). At some point I will try to incorporate the .VMDK logic from the fine VDK driver.

In what ways it's different from FiraDisk driver?

The WinVBlock and Firadisk (File and RAM Disk) drivers are almost the same age, but have different authors. karyonix is a member of this forum as well as the fine developer of Firadisk.

I have not tested WinVBlock on Windows versions >= Vista, and I doubt that it works with them. I believe that karyonix ensures that Firadisk works with greater Windows versions, so that's another difference.

They have several things in common, including driving boot disks: MEMDISK RAM disks, GRUB4DOS RAM disks, GRUB4DOS sector-mapped disks (which are typically file-backed).

WinVBlock also functions as a library for two "sub-bus" drivers: AoE and HTTPDisk (as of recently).

I am not 100% sure what karyonix' user-land utility looks like, if there is one (I would have to download and check). WinVBlock includes winvblk.exe and httpdisk.exe (as of recently) for connecting disks at post-boot time.

Enjoy (see previous post for recent development download info).

#283 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1568 posts
  •  
    American Samoa

Posted 20 January 2011 - 02:55 PM

Thanks! I recently faced with a challenge of finding a free driver that can mount VMDK disks of various generations in Win 7 64-bit. Current VMWare Diskmount has issues with mounting older files, and no updated GUI (its older GUI is available with VMXBuilder). There is a VDK 64-bit mod, but it doesn't work with newer VMDKs, and neither works at all outside of Test Mode in Win7 64-bit. Hence it would be great, if you add modern OSs and VMDK support. Another advantage of using WinVBlock compare to FiraDisk in booting Win images is discussed in this thread. Could you clarify its essence pls? :cheers:

#284 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 20 January 2011 - 03:53 PM

...Hence it would be great, if you add modern OSs and VMDK support...

I'm definitely planning .VMDK support. As for modern Windows versions, I don't have them and don't use them, so that might be more difficult to support. What I might try to do is audit which Windows functions I use and wrap those that are deprecated in more modern Windows versions.

Another advantage of using WinVBlock compare to FiraDisk in booting Win images is discussed in this thread. Could you clarify its essence pls? :cheers:

I don't perceive a huge difference in using WinVBlock versus using Firadisk in regards to booting a sector-mapped/file-backed disk for purposes of "learning" hardware via wimb's fine work... Unless Firadisk doesn't support boot-time file-backed disks; I'm pretty sure it does. How WinVBlock does it is it uses the GRUB4DOS sector-mapped disk originally, but starts a "hot-swapping" thread which will take additional information passed from GRUB4DOS to then find and use a proper filename instead of a range of sectors. Unfortunately, until the hot-swap is complete, operations which might move the file (such as defragmentation) render the system somewhat unsafe. The thread tries to perform the hot-swap every 10 seconds.

To pass the filename to swap to from G4D to WinVBlock, one uses the information from this post. Reproduced, in part, below:

map (hd0,0)/somedir/XP.HDD (0x80)
map --hook
map (hd0,0)/isodir/some.iso (0xA0)
map --rehook
map --rd-size=2048
map --mem (rd)+4 (0x55)
map --rehook
write (0x55) #!GRUB4DOS\x00v=1\x00somedir/XP.HDD\x00\x80isodir/some.iso\x00\xA0\x00
root (hd0,0)
chainloader /ntldr

While drive 0x55 in the example isn't required in order for WinVBlock to establish the sector-mapped disk, it is required to associate the sector-mapped disk with the hot-swapping operation to switch to using a file for a file-backed disk.

#285 sara - pmedia

sara - pmedia

    Frequent Member

  • Lady
  • 174 posts
  • Location:tel aviv
  •  
    Israel

Posted 20 January 2011 - 06:01 PM

Vortex said

First of all, many thanks for your method and efforts. You can install XP into an image file. My OS is Windows XP. In my host OS XP, I renamed ntldr to xpntldr and the Grub4dos loader grldr to ntldr.

Here is my menu.lst file :

title XP setup

map --mem /winvblock.ima (fd1)
map --mem (md)0x6000+800 (fd0)
map --mem /xpcd.iso (0xff)

map /xpsp3.img (hd0)

map --hook

dd if=(fd1) of=(fd0) count=1

chainloader (0xff)


title Continue XP setup

map --mem /xpcd.iso (0xff)
map /xpsp3.img (hd0)

map --hook

chainloader (hd0)+1

title Boot XP from image file

map /xpsp3.img (hd0)

map --hook

root (hd0,0)

chainloader /ntldr


i cant find winvblock.ima. can someone give me a link?

#286 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 20 January 2011 - 06:09 PM

...i cant find winvblock.ima. can someone give me a link?

Hello, sara - pmedia.

If I'm not mistaken, that winvblock.ima would be nothing more than a floppy disk image with:
  • WVBlk32.sys
  • WinVBlk.inf
  • txtsetup.oem
That is, you could create such a floppy image using WinImage or ImDisk or even WinVBlock, itself. If I'm not mistaken, this floppy will be used by the Windows installation process to load the WinVBlock driver so that the Windows .ISO can be found and attached, rather than a physical optical disc drive.

I could be mistaken about Vortex' intentions.

#287 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 14825 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 20 January 2011 - 06:28 PM

That is, you could create such a floppy image using WinImage or ImDisk or even WinVBlock, itself. If I'm not mistaken, this floppy will be used by the Windows installation process to load the WinVBlock driver so that the Windows .ISO can be found and attached, rather than a physical optical disc drive.

You are not mistaken :cheers: it is what in jargon is called "F6 floppy".
http://reboot.pro/88...7011#entry77011


Don't forget VFD:
http://vfd.sourceforge.net/
http://sourceforge.net/projects/vfd/

:cheers:
Wonko

#288 agni

agni

    Frequent Member

  • Tutorial Writer
  • 270 posts
  • Location:Bengaluru (Bangalore)
  •  
    India

Posted 21 January 2011 - 02:04 AM

@sara - pmedia

I found these instructions to create a floppy image using imdisk at http://diddy.boot-la...iso_install.htm
The instructions at that page are for firadisk.I have modified it for winvblock.

1.Install Imdisk
2.Execute the following command from command prompt
imdisk -a -s 1440K -m R: -o fd -f C:\winvblock.ima -p "/fs:fat"
3.Copy WVBlk32.sys, WinVBlk.inf, txtsetup.oem to drive R:
4.Unmount drive R: using the following command -
imdisk -d -m R:

Your winvblock.ima will be created at c:

Hope this helps.

#289 sara - pmedia

sara - pmedia

    Frequent Member

  • Lady
  • 174 posts
  • Location:tel aviv
  •  
    Israel

Posted 21 January 2011 - 07:50 AM

@agni

tanks for the tip , but i alredy create it with winimg

i'm so happy! finley it's work for me
i uses Vortex g4d comands and now i have 6gb winxp.img run from file with full driverpack integrated (so The learning process will be automatly)& all my apps inside.

i changed all ide driver to "standard..." and comuter to "advansed acpi.." and now its safely boot on diffrent hardware.

for now i mast copy my img to the local disk before, if i boot from usb He stay in loading screen forever...
is there option to copy it from grub4dos?

#290 agni

agni

    Frequent Member

  • Tutorial Writer
  • 270 posts
  • Location:Bengaluru (Bangalore)
  •  
    India

Posted 21 January 2011 - 10:25 AM

If you are booting from USB you need to make a few registry settings and install usbbootwatcher service.These registry settings load usb drivers at the boot time and you can boot your disk image from USB.You don't have to copy the img file to your hard disk.

http://www.911cd.net...showtopic=22473

http://www.911cd.net...opic=22473&st=4

boot_usb_start0_CurrentControlSet.reg

Windows Registry Editor Version 5.00



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbohci]

"Start"=dword:00000000

"Group"="Boot Bus Extender"



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbuhci]

"Start"=dword:00000000

"Group"="Boot Bus Extender"



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbehci]

"Start"=dword:00000000

"Group"="Boot Bus Extender"



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbhub]

"Start"=dword:00000000

"Group"="System Bus Extender"



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbstor]

"Start"=dword:00000000

"Group"="System Bus Extender"


BTW Why is your username in pink ?

#291 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 14825 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 21 January 2011 - 10:47 AM

BTW Why is your username in pink ?


Beecause she is a Lady, and it is such a rare thing among us geeks to have a female member that at the time it was chosen as a distinctive sign, and a special "Group" was created for them.

:cheers:
Wonko

#292 sara - pmedia

sara - pmedia

    Frequent Member

  • Lady
  • 174 posts
  • Location:tel aviv
  •  
    Israel

Posted 21 January 2011 - 11:15 AM

If you are booting from USB you need to make a few registry settings and install usbbootwatcher service.These registry settings load usb drivers at the boot time and you can boot your disk image from USB.You don't have to copy the img file to your hard disk.


UsbBootWatcher fixd it , now its work fine!

BTW Why is your username in pink ? Beecause she is a Lady,

Lol...

Maybe I have a man's soul ..
Any of what interests her ...
(I am a pc technician of religious girls group)

#293 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 21 January 2011 - 12:40 PM

UsbBootWatcher fixd it , now its work fine!

Right. WinVBlock doesn't have any magic USB drivers. So before IopMarkBootPartition() (the source of STOP 0x0000007B, as far as I know) is called, WinVBlock has to have been able to attach the sector-mapped disk to the backing disk. If the backing disk is USB storage, then that USB storage device must be driven (by a driver) before that time. If the USB storage is on a USB hub (of course it is), then that hub must be driven (again, by a driver) before that time. If that hub is from a USB host controller, then that host controller must be driven before that time. That is to say, each device along the path you'd see in Device Manager with View -> Devices by connection must be driven.

Since we cannot load drivers from the boot disk (that's what we're trying to establish!), we are limited to drivers loaded by NTLDR / SETUPLDR (\Windows\System32\Config\SYSTEM / TXTSETUP.SIF, respectively). So one needs USB drivers to start at boot-time.

Since you are booting on a variety of hardware that the image has never been booted on before, the OS needs to know which drivers drive which devices. Since the devices haven't been installed through Device Manager or the Add Hardware Wizard before-hand, we are limited to using CriticalDeviceDatabase associations. We need to actually finish a boot and use Device Manager in order to "properly" install new devices; the CDDB is the "worry about .INF installation later, for now, use this driver" database.

So additionally, the WinVBlock driver should be configured to start after any drivers which drive any backing disks you might use. Those drivers, in turn, obviously have to be configured to start after any drivers which drive the devices those disks are connected to. So:
  • USB host controller driver (USBXHCI.SYS, USBPORT.SYS) -> Provides the hub
  • USB hub driver (USBD.SYS, USBHUB.SYS) -> Provides the USB backing disk
  • USB storage driver (USBSTOR.SYS) -> Provides the backing disk
  • WinVBlock -> Finds the backing disk and provides the [virtual] boot disk
Ta-da!

#294 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 21 January 2011 - 12:49 PM

@Sha0!

Many thanks for your explanation for driver-fools like me :cheers:

I learned a lot from it.

Peter :cheers:

#295 sara - pmedia

sara - pmedia

    Frequent Member

  • Lady
  • 174 posts
  • Location:tel aviv
  •  
    Israel

Posted 21 January 2011 - 01:04 PM

@sha0

First of all thank you for the development of this wonderful driver!

I forgot something. Even after the installation of the service I can only run from a PC that my img system known befor.

so i steel need to
1, copy the .img to the local disk
2, boot from it (hd1,0)
3, when its boot to desktop (even without complete drivers installation) copy the img back to usb (replace it)
4, boot img from usb (hd0,0)

Is there what to do to save these steps?? if no ,can i copy the file from grub4dos?

#296 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1568 posts
  •  
    American Samoa

Posted 21 January 2011 - 01:25 PM

Sara

I truly appreciate Sha0's work and detail explanations, but always want to learn how its different from others from a user prospective. He said, its not much different or beneficial in terms of use from FiraDisk. Pls explain why did you prefer to use WinVBlock for this particular app? In what scenarios would you prefer using FiraDisk? Others welcome to joint for the sake of clarity...

#297 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 21 January 2011 - 01:36 PM

...First of all thank you for the development of this wonderful driver!

You're welcome, I'm sure.

I forgot something. Even after the installation of the service I can only run from a PC that my img system known befor...
...Is there what to do to save these steps?? if no ,can i copy the file from grub4dos?

If it won't boot on new hardware, that's explained by my previous post: Either the drivers are not loaded by NTLDR (so are not available at boot-time) OR the devices along the device path to the backing disk are not being driven (have no associated driver for their PnP device IDs in the CDDB).

Some "driver packs" might populate the CDDB with nice entries, but I find it unlikely that a "driver pack" could support every PnP ID... CDDB would be monstrous! Modern hardware with new IDs might not even be in a "driver pack" which is older than the hardware.

This is why wimb's method is so useful: You boot to a RAM disk first; nothing beyond WinVBlock is required for a RAM disk. This is roughly equivalent to you copying the image to the HDD and booting it first; since all of your storage controllers are in IDE mode, you always have IDE boot-time drivers. Unfortunately, WinVBlock doesn't support giant RAM disk images so your 6 GB image won't work as a RAM disk. I don't even know if GRUB4DOS could load such an image to RAM, though karyonix has done some PAE work for it, if I recall correctly.

There is another way and that is to find the device IDs for the target hardware, then pre-populate those IDs into the CDDB in the image. For example: On my computer I have a USB host controller with PCI VENdor ID 8086 (Intel), DEVice ID 2836. So I would look it up at the PCI Devices web-site and see that it is a USB EHCI controller. So I would make a .REG file for a CDDB entry like this:

Windows Registry Editor Version 5.00



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2836]

"Service"="usbehci"

"ClassGUID"="{36FC9E60-C465-11CF-8056-444553540000}"

(You can find the ClassGUID out by exploring, by looking at another USB host controller's value, or by asking someone.)

It is fairly easy to find PCI VEN & DEV IDs by using Syslinux and the Hardware Detection Tool (HDT).

I don't know that GRUB4DOS can help you to copy your image file to the local HDD. That might require NTFS write support; something many people not using Windows desire, but few people enjoy in a stable fashion.

#298 sara - pmedia

sara - pmedia

    Frequent Member

  • Lady
  • 174 posts
  • Location:tel aviv
  •  
    Israel

Posted 21 January 2011 - 01:42 PM

From what I understand they are built the same purposes, but winvblock it is better for several reasons

1. no parameters need for direct img booting
2. no need to afred to corupt the mbr if you chose worng boot entry img/ram
3. Improved Performance (wimb say)

#299 Vortex

Vortex

    Frequent Member

  • Advanced user
  • 239 posts

Posted 21 January 2011 - 01:52 PM

H Sha0,

Many thanks for your nice work WinVBlock. Kindly, could you have a look at the Server 2003 installation issue?

Installing Server 2003 into an .img file with Firadisk or Winvblock :

http://reboot.pro/13546/

I tried the latest version of WinVBlock, V0.0.1.8 but I could not install Server 2003 on the .img file.

Edited by Vortex, 21 January 2011 - 01:58 PM.


#300 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 14825 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 21 January 2011 - 01:58 PM

@Vortex
Links to threads on reboot.pro need a trailing slash to work. i.e.:
http://reboot.pro/13546/

(the above works when clicked, UNlike the one you posted)

:cheers:
Wonko




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users