Jump to content











Photo
* * * * - 3 votes

WinVBlock


  • Please log in to reply
623 replies to this topic

#76 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 27 August 2009 - 10:41 PM

Just did 2 tests, 1 with "memdisk" and 1 with "map --mem".

"memdisk" crash bsod ..7B
"map --mem" crash bsod ..7F

I still have not started pxe-testing so it might not be surprising that it crashed. Or should it also work without pxe-booting?

Either way, I see ndis.sys is forced to load. Both logs attached.

I noticed these messages in memdisk log; "Invalid INT 0x13 Safety Hook Signature" and "No GRUB4DOS drive mappings found" ??

And this message in map_mem log; "Foo: 452390912" ??

I'll jump into pxe-testing this weekend for sure.

Joakim

Attached Files



#77 Sha0

Sha0

    WinVBlock Dev

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

Posted 27 August 2009 - 11:39 PM

Hey joakim. Thanks for testing... I don't understand exactly why you're having such trouble, but wish to help. :frusty: Are you using the exact same image you were testing karyonix' driver with? Also, is this image normally bootable when it's on an HDD? The idea is to take something that will normally boot (with the driver installed, whether PE or full Windows), and then snapshot that to an image. I'm pretty sure you'd guess that, though.

MEMDISK is a Linux-kernel-format binary, so you can use any boot-loader capable of booting Linux kernels to load it, whether it's over PXE or from a CD-ROM, floppy, or HDD. MEMDISK doesn't use the safe MBR hook structure described and referenced by karyonix and tinybit earlier in this thread, so it makes sense why the Probe_Grub4Dos() messages don't find the safety hook in your MEMDISK test debugging log.

Sorry about the "Foo: ..." line; that snuck into the binary, but doesn't mean anything.

Both your logs show that the driver has success in establishing the RAM disks. In the 0x7B, that makes me think that there's no disk signature in the image. In the 0x7E, I'm not sure what's up. I'd like to understand your image a bit more, so I can try to reproduce the problem.

- Sha0

#78 Sha0

Sha0

    WinVBlock Dev

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

Posted 28 August 2009 - 09:48 PM

Nobody? Not one success story? Every time I boot with this driver it works, but nobody else can use it? Hard to believe. Ok, back-burner it is. Thanks to those who tried. Source so far is at: http://git.etherboot....git;a=shortlog

Take care.

- Sha0

#79 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 28 August 2009 - 09:59 PM

I am busy with something else right now, but can assure you that I will run more tests on this driver until success.

I will let you know how it goes, so stay tuned.

Joakim

#80 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7100 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 29 August 2009 - 09:16 AM

Nobody? Not one success story? Every time I boot with this driver it works, but nobody else can use it? Hard to believe. Ok, back-burner it is. Thanks to those who tried. Source so far is at: http://git.etherboot....git;a=shortlog

Take care.

- Sha0


You appear to be like a very good programmer and a really BAD "commercial executive". :frusty:

Anyone landing on this topic will read this whole thread as

bla...bla...bla.... I think... maybe....Not working....I don't know....bla... bla...What about....bla...bla...

and leave it IMMEDIATELY. :ermm:

If I may give you some advice:
  • Start a new thread here:
    http://www.boot-land...hp?showforum=64
  • Give a §@ç#ing name to your driver, right now it can only be referred to as "that experimental thingy that Andy Tim Sha0 wrote", suggested names: grubdisk or grabdisk :ermm:, but whatever will do.
  • Put in the starting post a reference to this thread, so that people willing to test will hopefully find more info and post their reports
  • Add a few simple clear lines on how to install and use the driver, including one or two simple EXAMPLEs

    :rofl:

    jaclaz


#81 dog

dog

    Frequent Member

  • Expert
  • 236 posts

Posted 29 August 2009 - 12:55 PM

I just tried a full xpsp3 image with your latest aoe installed, an active nic, and no 2k3 files or other alterations.
using
title xp.img

map --mem (hd0,0)/xp.img (hd0)

map --hook

root (hd0,0)

chainloader /ntldr
I got PROCESS1_INITIALIZATION_FAILED
stop 6B

using
title xp.img memdisk

kernel /memdisk raw

initrd /xp.img
I got stop 7B, with and without "raw", using the supplied version of memdisk.

I'm happy to try any(?) suggestions, but my experience of debugging is limited :ermm:

#82 cdob

cdob

    Gold Member

  • Expert
  • 1440 posts

Posted 30 August 2009 - 01:20 AM

Nobody? Not one success story?

XP SP2 recovery console based hard disk and memdisk from syslinux 3.82:
recovery console does boot. Good work.

Grub4dos dosn't mount the used FAT12 hard disk image.
There no idea about grub4dos.

It's difficult to name the current release.
Can you add a version number to the driver?
Or add a release date to the zip file?

I look forward to ISO support. And a floppy a: support would be nice.
Idea: XP installation from a ISO memdisk drive, F6 drivers loaded from a virtual floppy.

#83 AeroXP

AeroXP

    Frequent Member

  • Advanced user
  • 177 posts
  • Location:0000:7c00
  • Interests:Motorola 68000 Assembler, PCs, Betas, Boot Disks, x86 Assembler
  •  
    United States

Posted 30 August 2009 - 03:05 AM

I just tried a full xpsp3 image with your latest aoe installed, an active nic, and no 2k3 files or other alterations.
using

title xp.img

   map --mem (hd0,0)/xp.img (hd0)

   map --hook

   root (hd0,0)

   chainloader /ntldr
I got PROCESS1_INITIALIZATION_FAILED
stop 6B

using
title xp.img memdisk

   kernel /memdisk raw

   initrd /xp.img
I got stop 7B, with and without "raw", using the supplied version of memdisk.

I'm happy to try any(?) suggestions, but my experience of debugging is limited :frusty:

Let me look at some my "extensive" kernel Documentation...

PROCESS1_INITIALIZATION_FAILED (0x6B)
PARAMETERS
1 - Indicates the NT status code that caused the failure.
2 - (reserved)

[...]

INACCESSIBLE_BOOT_DEVICE (0x7B)
PARAMETERS
1 - Pointer to the device object or Unicode string of ARC name

DESCRIPTION
During the initialization of the I/O system, it is possible that the driver
for the boot device failed to initialize the device that the system is
attempting to boot from, or it is possible for the file system that is
supposed to read that device to either fail its initialization or to simply
not recognize the data on the boot device as a file system structure that
it recognizes. In the former case, the argument (#1) is the address of a
Unicode string data structure that is the ARC name of the device from which
the boot was being attempted. In the latter case, the argument (#1) is the
address of the device object that could not be mounted.

If this is the initial setup of the system, then this error can occur if
the system was installed on an unsupported disk or SCSI controller. Note
that some controllers are supported only by drivers which are in the Windows
Driver Library (WDL) which requires the user to do a custom install. See
the Windows Driver Library for more information.

This error can also be caused by the installation of a new SCSI adapter or
disk controller or repartitioning the disk with the system partition. If
this is the case, on x86 systems the boot.ini file must be edited or on ARC
systems setup must be run. See the "Advanced Server System Administrator's
User Guide" for information on changing boot.ini.

If the argument is a pointer to an ARC name string, then the format of the
first two (and in this case only) longwords will be:

USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;

That is, the first longword will contain something like 00800020 where 20
is the actual length of the Unicode string, and the next longword will
contain the address of buffer. This address will be in system space, so
the high order bit will be set.

If the argument is a pointer to a device object, then the format of the first
word will be:

USHORT Type;

That is, the first word will contain a 0003, where the Type code will ALWAYS
be 0003.

Note that this makes it immediately obvious whether the argument is a pointer
to an ARC name string or a device object, since a Unicode string can never
have an odd number of bytes, and a device object will always have a Type
code of 3.



#84 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 30 August 2009 - 09:32 PM

Another test done, this time a fresh vm with xpsp2 converted to raw with qemu-img.exe. And driver installed inside vm according to the readme.

This time disk image is NTFS but not compressed, size is almost 1,2 Gb.

I still get bsod ..7B. See attached log. The interesting part looks like this;

c:\src\winaoe\src\driver.c: DriverEntry() @ line 76: Entry

c:\src\winaoe\src\registry.c: Registry_Setup() @ line 94: Entry

c:\src\winaoe\src\bus.c: Bus_Start() @ line 74: Entry

c:\src\winaoe\src\bus.c: Bus_AddDevice() @ line 716: Entry

c:\src\winaoe\src\probe.c: Probe_AoE() @ line 191: No aBFT found

c:\src\winaoe\src\probe.c: Probe_MemDisk() @ line 227: INT 0x13 Segment: 0x9ec0

c:\src\winaoe\src\probe.c: Probe_MemDisk() @ line 228: INT 0x13 Offset: 0x000a

c:\src\winaoe\src\probe.c: Probe_MemDisk() @ line 229: INT 0x13 Hook: 0x0009ec0a

c:\src\winaoe\src\probe.c: Probe_MemDisk() @ line 239: Found MEMDISK sig: 0x0009f1c4

c:\src\winaoe\src\probe.c: Probe_MemDisk() @ line 240: MEMDISK DiskBuf: 0x19fcc000

c:\src\winaoe\src\probe.c: Probe_MemDisk() @ line 241: MEMDISK DiskSize: 2570400 sectors

c:\src\winaoe\src\probe.c: Probe_MemDisk() @ line 258: Could not map memory for MEMDISK!

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 318: INT 0x13 Segment: 0x9ec0

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 319: INT 0x13 Offset: 0x000a

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 320: INT 0x13 Hook: 0x0009ec0a

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 321: INT 0x13 Safety Hook Signature: &..£4Œ

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 324: Invalid INT 0x13 Safety Hook Signature

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 392: No GRUB4DOS drive mappings found

c:\src\winaoe\src\bus.c: Bus_AddDevice() @ line 716: Entry



*** Fatal System Error: 0x0000007b

					   (0xF795F528,0xC0000034,0x00000000,0x00000000)

The memdisk used is the one you have supplied. It cannot map the memory for memdisk... What is actually the hook signature?

Interestingly, when trying to load tiny memdisk with grldr and point back into internal HDD with xpsp2, vmware panics with a "virtual machine kernel stack fault" (hardware reset).

Now, trying map --mem with the same image also bsod ..7B with the interesting parts;

c:\src\winaoe\src\driver.c: DriverEntry() @ line 76: Entry

c:\src\winaoe\src\registry.c: Registry_Setup() @ line 94: Entry

c:\src\winaoe\src\bus.c: Bus_Start() @ line 74: Entry

c:\src\winaoe\src\bus.c: Bus_AddDevice() @ line 716: Entry

c:\src\winaoe\src\probe.c: Probe_AoE() @ line 191: No aBFT found

c:\src\winaoe\src\probe.c: Probe_MemDisk() @ line 227: INT 0x13 Segment: 0x9d00

c:\src\winaoe\src\probe.c: Probe_MemDisk() @ line 228: INT 0x13 Offset: 0x0100

c:\src\winaoe\src\probe.c: Probe_MemDisk() @ line 229: INT 0x13 Hook: 0x0009d100

c:\src\winaoe\src\probe.c: Probe_MemDisk() @ line 276: No MEMDISKs found

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 318: INT 0x13 Segment: 0x9d00

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 319: INT 0x13 Offset: 0x0100

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 320: INT 0x13 Hook: 0x0009d100

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 321: INT 0x13 Safety Hook Signature: $INT13SF

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 328: INT 0x13 Safety Hook Vendor ID: GRUB4DOS

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 338: GRUB4DOS SourceDrive: 0x80

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 339: GRUB4DOS DestDrive: 0xff

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 340: GRUB4DOS MaxHead: 127

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 341: GRUB4DOS MaxSector: 32

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 343: GRUB4DOS DestMaxCylinder: 213

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 344: GRUB4DOS DestMaxHead: 0

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 346: GRUB4DOS DestMaxSector: 62

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 348: GRUB4DOS SectorStart: 0x000cf780

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 349: GRUB4DOS SectorCount: 2572288

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 368: Foo: 1317011456

c:\src\winaoe\src\probe.c: Probe_Grub4Dos() @ line 374: Could not map memory for GRUB4DOS disk!

c:\src\winaoe\src\bus.c: Bus_AddDevice() @ line 716: Entry



*** Fatal System Error: 0x0000007b

					   (0xF79C3528,0xC0000034,0x00000000,0x00000000)

This disk, that was converted with qemu-img.exe like you suggested is not perfectly aligned according to geometry like the ones I shape by hand (but don't seem to have any relevance here).

I am willing to continue testing this driver. My next attempts will be with gpxe..

Could you please name them with versions so it's easier to keep track of what we have. Compiled sources would also be nice (as I currently don't have a compiler system).


Joakim

Attached Files



#85 AeroXP

AeroXP

    Frequent Member

  • Advanced user
  • 177 posts
  • Location:0000:7c00
  • Interests:Motorola 68000 Assembler, PCs, Betas, Boot Disks, x86 Assembler
  •  
    United States

Posted 30 August 2009 - 11:14 PM

I just tried a full xpsp3 image with your latest aoe installed, an active nic, and no 2k3 files or other alterations.
using

title xp.img

 map --mem (hd0,0)/xp.img (hd0)

 map --hook

 root (hd0,0)

 chainloader /ntldr
I got PROCESS1_INITIALIZATION_FAILED
stop 6B

using
title xp.img memdisk

 kernel /memdisk raw

 initrd /xp.img
I got stop 7B, with and without "raw", using the supplied version of memdisk.

I'm happy to try any(?) suggestions, but my experience of debugging is limited :whistling:


I can also say another thing, dog, your first try bugchecked after IO init, where all of the stop 0x7b errors are created.

The problem is that the AoE driver can't mount the drive, because something is not letting it allocate memory, could it be the loaderblock extension struct being nulled out?

#86 Sha0

Sha0

    WinVBlock Dev

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

Posted 01 September 2009 - 12:21 AM

;) jaclaz:

You appear to be like a very good programmer and a really BAD "commercial executive". ;)

I am certainly unfamiliar with what "commercial executives" do. :whistling:
Thanks for the other tips. I'd rather flesh out the driver with a few more features before offering it in a brand new thread.

bla...bla...bla.... I think... maybe....Not working....I don't know....bla... bla...What about....bla...bla...

I never really meant to give that impression. The Blue Screens of Death some users revealed probably would contribute to that impression. The driver has been working for me consistently, but that's to be expected, of course. :D

Give a §@ç#ing name to your driver

Ok, I'd been putting that off. It's called WinVBlock now.
Regarding examples, it really should be as easy as some of the steps I gave in posts #66 http://www.boot-land...?...ost&p=75691 and #69 http://www.boot-land...?...ost&p=75825 ... ... ... Maybe they're not easy. Heheh.

;) dog:

I just tried a full xpsp3 image with your latest aoe installed, an active nic

An active NIC is not required for the driver. With the initial release, it was. NDIS.SYS is not required, either.

with and without "raw", using the supplied version of memdisk.

I'm pretty sure that the "raw" option for MEMDISK is required in order for NTLDR/SETUPLDR to work. GRUB4DOS uses the "raw" strategy by default, whereas MEMDISK doesn't.

:D cdob:

Thank goodness the driver worked for somebody else. That was inspiration enough to name the driver, add version and date info, and attempt a fix for the large images that joakim is having troubles with... :P A nice and small test like the Recovery Console gave me a hint about a sizing issue.

:D joakim:

The hook signature will only be valid currently for GRUB4DOS situations. MEMDISK doesn't use the safe hook signature. It's simply a strategy for verifying "who" created the INT 0x13 hook. It won't be valid for the MEMDISK cases (as your logs show) until such a time as MEMDISK implements it. Whether the signature is valid or not has no bearing on this driver supporting MEMDISKs, which it really should right now.

I've changed a piece of the memory-mapping logic which might help with the large images you've been trying. I wonder if you have the opportunity, if you could please try this latest version. Please remove any traces of the AOE32.SYS driver from your images, and instead use...

:D All:

Attached is WinVBlock 0.0.0.1. I'm crossing my fingers. ;) I really appreciate all the tests and discussion! Community greatness!

- Shao Miller

Attachment removed -- Obsolete due to newer version; check post #1 for download link.

#87 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 01 September 2009 - 06:31 AM

Will keep testing later today, and keep an eye an different sizes. :whistling:

One question;
What function do the 2 executables (aoe.exe & loader32.exe) have. Are they strictly neccessary?

Joakim

#88 Sha0

Sha0

    WinVBlock Dev

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

Posted 01 September 2009 - 11:17 AM

What function do the 2 executables (aoe.exe & loader32.exe) have. Are they strictly neccessary?

Later on aoe.exe will be called something else and will be used to attach disks from the running OS. Strictly speaking, you only need wvblk32.sys. loader32.exe is for installing the driver and also isn't needed, since you're using different processes for installation.

- Sha0

#89 dog

dog

    Frequent Member

  • Expert
  • 236 posts

Posted 01 September 2009 - 07:20 PM

;)
I'm happy to report a win - a full xp 1189MB using map --mem

It was an odd install though - after installing the driver ok, xp found an "unknown device", and forcing the WinVBlock driver caused a bsod. After another reboot it detected a SCSI something, and accepted the driver again giving two "WinVBlock driver" instances:
ROOT\SCSIADAPTER\0000
ROOT\WINVBLOCK\0000

But it works, congrats Sha0!

Edit: memdisk raw work too

Edit2: I just booted a 775MB win2000 image from ram :whistling:

#90 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 01 September 2009 - 11:17 PM

Yyiiihhhhaaaaaa!!!!!!! Finally working!!

and time to;

:P :whistling: ;) ;) ;)

Confirmed working both with "map --mem" and "memdisk raw".

Test done on real xpsp2 install inside vmware with disk image size of 800 Mb, 1,65 Gb and 2,3 Gb.

Also thank you "dog" for pointing out that unknown device needed to be updated to WinVBlock.

Now the funny thing is that device manager shows two instances of WinVBlock under SCSI & RAID. And it did crash bsod ..7B with only 1 WinVBlock instance. Maybe that was why my previous tests failed...

Anyways, really good work!!

Joakim


btw, it will be interesting to see if new modified projects of mobileos/etboot will come with replacing ewf -> winvblock/firadisk

#91 Sha0

Sha0

    WinVBlock Dev

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

Posted 02 September 2009 - 01:26 PM

dog, joakim: Glad to read that it's working for you. Thanks for the feedback. I've identified the cause of the BSoD and resolved it. The reason for the two devices is: One device is due to the Add New Hardware and choosing to install a SCSI adapter. This device will be registered to use the WinVBlock driver. This is the normal way to install devices and tell Windows which driver they should use. The other device is created by WinVBlock and is there to support the very simple WinVBlock injection into a Windows PE/RIS/Windows Setup-style boot. For example, in those setup-style environments, you clearly cannot have pre-installed the driver through the Add New Hardware wizard, since it's the "first time" that the OS has ever booted. So this weird-o device is installed automatically to ensure that the bus device object gets installed. I am rethinking this strategy. This and the fix for the BSoD you folks mentioned will be in releases > 0.0.0.1... I'll post again once ready. - Sha0

#92 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7100 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 02 September 2009 - 01:50 PM

Do we have a name?

Do we have a fumata bianca (white smoke)?
http://en.wikipedia....i/Pope#Election

:whistling:

Let WinVblock be!

tag names of the services:
wvblk32.sys
wvblk64.sys

Adding WinVblock to thread title and info page.

:P

jaclaz

#93 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 02 September 2009 - 07:37 PM

My tests have now moved to PE-based.

2 different images both at 300 Mb, one with 2k3sp2 (moa) and one with xpsp2 (xpe).

They both BSOD. MOA crashed with 7B and 7F for memdisk and map --mem respectively, whereas xpe crashed 0A on both tests. 3 logs attached.

I suspect missing or wrong entries in txtsetup.sif. What I have added in different combinations are these;

[SCSI.Load]

WinVBlock = wvblk32.sys,4



[SCSI.Load]

wvblk32 = wvblk32.sys,4



[ScsiClass.Load]

WinVBlock = wvblk32.sys



[ScsiClass.Load]

wvblk32 = wvblk32.sys

Any thoughts?

Joakim

Attached Files



#94 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 02 September 2009 - 07:41 PM

Forgot to post the registry patch;

[codebox]Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\Linkage] "UpperBind"=hex(07):57,00,69,00,6e,00,56,00,42,00,6c,00,6f,00,63,00,6b,00,00,\ 00,50,00,53,00,63,00,68,00,65,00,64,00,00,00,00,00 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0010\Linkage] "UpperBind"=hex(07):57,00,69,00,6e,00,56,00,42,00,6c,00,6f,00,63,00,6b,00,00,\ 00,50,00,53,00,63,00,68,00,65,00,64,00,00,00,00,00 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0012\Linkage] "UpperBind"=hex(07):57,00,69,00,6e,00,56,00,42,00,6c,00,6f,00,63,00,6b,00,00,\ 00,50,00,53,00,63,00,68,00,65,00,64,00,00,00,00,00 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E97B-E325-11CE-BFC1-08002BE10318}\0001] "DriverDate"="1-1-2006" "DriverDateData"=hex(03):00,40,e9,4e,66,0e,c6,01 "DriverDesc"="WinVBlock Driver" "DriverVersion"="1.0.0.0" "InfPath"="oem13.inf" "InfSection"="WinVBlock" "MatchingDeviceId"="winvblock" "ProviderName"="WinVBlock" [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E97B-E325-11CE-BFC1-08002BE10318}\0002] "DriverDate"="1-1-2006" "DriverDateData"=hex(03):00,40,e9,4e,66,0e,c6,01 "DriverDesc"="WinVBlock Driver" "DriverVersion"="1.0.0.0" "InfPath"="oem13.inf" "InfSection"="WinVBlock" "MatchingDeviceId"="winvblock" "ProviderName"="WinVBlock" [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\winvblock] "ClassGUID"="{4D36E97B-E325-11CE-BFC1-08002BE10318}" "Service"="WinVBlock" [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_FASTFAT\0000\Control] "ActiveService"="Fastfat" [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\SCSIADAPTER\0000] "Capabilities"=dword:00000000 "Class"="SCSIAdapter" "ClassGUID"="{4D36E97B-E325-11CE-BFC1-08002BE10318}" "ConfigFlags"=dword:00000004 "DeviceDesc"="WinVBlock Driver" "Driver"="{4D36E97B-E325-11CE-BFC1-08002BE10318}\\0001" "HardwareID"=hex(07):77,00,69,00,6e,00,76,00,62,00,6c,00,6f,00,63,00,6b,00,\ 00,00,00,00 "Mfg"="WinVBlock" "Service"="WinVBlock" [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\SCSIADAPTER\0000\Control] "ActiveService"="WinVBlock" [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\SCSIADAPTER\0000\LogConf] [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\WinVBlock\0000] "Class"="SCSIAdapter" "ClassGUID"="{4D36E97B-E325-11CE-BFC1-08002BE10318}" "ConfigFlags"=dword:00000000 "DeviceDesc"="WinVBlock Driver" "Driver"="{4D36E97B-E325-11CE-BFC1-08002BE10318}\\0002" "Mfg"="WinVBlock" [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\WinVBlock\0000] "Capabilities"=dword:00000000 "CompatibleIDs"=hex(07):44,00,45,00,54,00,45,00,43,00,54,00,45,00,44,00,49,\ 00,6e,00,74,00,65,00,72,00,6e,00,61,00,6c,00,5c,00,57,00,69,00,6e,00,56,00,\ 42,00,6c,00,6f,00,63,00,6b,00,00,00,44,00,45,00,54,00,45,00,43,00,54,00,45,\ 00,44,00,5c,00,57,00,69,00,6e,00,56,00,42,00,6c,00,6f,00,63,00,6b,00,00,00,\ 00,00 "ConfigFlags"=dword:00000400 "DeviceReported"=dword:00000001 "Legacy"=dword:00000000 "Service"="WinVBlock" [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\WinVBlock\0000\Control] "DeviceReported"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\WinVBlock\0000\LogConf] [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\WinVBlock] "ErrorControl"=dword:00000001 "ImagePath"="X:\\I386\\System32\\DRIVERS\\wvblk32.sys" "Start"=dword:00000000 "Type"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\WinVBlock\Enum] "0"="ROOT\\SCSIADAPTER\\0000" "1"="ROOT\\WinVBlock\\0000" "Count"=dword:00000002 "NextInstance"=dword:00000002 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\WinVBlock\Security] "Security"=hex(03):01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,\ 00,02,00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,\ 00,00,00,00,02,00,60,00,04,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,\ 00,00,05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,\ 00,00,20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,\ 00,00,00,18,00,fd,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,23,02,00,00,\ 01,01,00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00[/codebox]

Joakim

#95 Sha0

Sha0

    WinVBlock Dev

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

Posted 03 September 2009 - 04:20 PM

joakim: According to http://www.boot-land...?...ost&p=75825 , there's no need for the extensive registry patches you posted. In there, we see that for a PE target, one should (*fingers crossed*) only need the following change to TXTSETUP.SIF:
[ScsiClass.Load]

cdrom  = cdrom.sys

disk   = disk.sys

floppy = sfloppy.sys

ramdisk = ramdisk.sys

wvblk32 = wvblk32.sys
Anything beyond that could actually hinder, just the same as manual "injection" of other devices into a PE could involve Blue Screens of Death and a million reboots of trial and error.

Please try removing any of the manual WinVBlock registry changes you made, but using that last line above. That's what gets my XP PEs booted from MEMDISK or GRUB4DOS.

- Sha0

#96 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 03 September 2009 - 10:21 PM

Now time for another :) :)

Works in bartpe with xpe loader and xpsp2 sources. Removing the registry patch did it.

Required TXTSETUP.SIF entries;

[ScsiClass.Load]

wvblk32 = wvblk32.sys



[Scsi.Load]

ndis = ndis.sys

Note that without the ndis.sys entry it will BSOD. So I guess it's not completely independant of ndis.sys..

Doing the same with 2003 sources still BSOD 7B & 7F as posted earlier. Even replacing ramdisk.sys with xpsp2 version makes no difference.

Parts of the windbg log for 2003 build;

memdisk
DriverEntry: Normal OS is running.

Physical Address: 1000	 Length: 9d000 

Physical Address: 100000	 Length: 34b6b000 

Physical Address: 466d0000	 Length: 10000 

Physical Address: 46700000	 Length: 100000 

Total Physical Memory: 886145024 (34d18000)

Modified-> Physical Memory Pages: 216344 (34d18)

Physical Address: 1000	 Length: 9d000 

Physical Address: 100000	 Length: 34b6b000 

Physical Address: 466d0000	 Length: 10000 

Physical Address: 46700000	 Length: 100000 

Total Physical Memory: 886145024 (34d18000)

Modified-> Physical Memory Pages: 216344 (34d18)

Physical Address: 1000	 Length: 9d000 

Physical Address: 100000	 Length: 34b6b000 

Physical Address: 466d0000	 Length: 10000 

Physical Address: 46700000	 Length: 100000 

Total Physical Memory: 886145024 (34d18000)

Modified-> Physical Memory Pages: 216344 (34d18)

Enter DriverEntry(86714280,80503210)

Required extension size: max: 469232 Min: 16348

Enter DriverEntry(86581D98,80503BC8)

Required extension size: max: 457928 Min: 34564

STORMINI: Arcsas Driver entry rtnval = 0

Physical Address: 1000	 Length: 9d000 

Physical Address: 100000	 Length: 34b6b000 

Physical Address: 466d0000	 Length: 10000 

Physical Address: 46700000	 Length: 100000 

Total Physical Memory: 886145024 (34d18000)

Modified-> Physical Memory Pages: 216344 (34d18)

Physical Address: 1000	 Length: 9d000 

Physical Address: 100000	 Length: 34b6b000 

Physical Address: 466d0000	 Length: 10000 

Physical Address: 46700000	 Length: 100000 

Total Physical Memory: 886145024 (34d18000)

Modified-> Physical Memory Pages: 216344 (34d18)

c:\src\winvblock\src\driver.c: DriverEntry() @ line 76: Entry

c:\src\winvblock\src\registry.c: Registry_Setup() @ line 94: Entry

c:\src\winvblock\src\bus.c: Bus_Start() @ line 74: Entry

c:\src\winvblock\src\bus.c: Bus_AddDevice() @ line 716: Entry

c:\src\winvblock\src\probe.c: Probe_AoE() @ line 191: No aBFT found

c:\src\winvblock\src\probe.c: Probe_MemDisk() @ line 227: INT 0x13 Segment: 0x9ec0

c:\src\winvblock\src\probe.c: Probe_MemDisk() @ line 228: INT 0x13 Offset: 0x000a

c:\src\winvblock\src\probe.c: Probe_MemDisk() @ line 229: INT 0x13 Hook: 0x0009ec0a

c:\src\winvblock\src\probe.c: Probe_MemDisk() @ line 239: Found MEMDISK sig: 0x0009f1c4

c:\src\winvblock\src\probe.c: Probe_MemDisk() @ line 240: MEMDISK DiskBuf: 0x34c6b000

c:\src\winvblock\src\probe.c: Probe_MemDisk() @ line 241: MEMDISK DiskSize: 578340 sectors

c:\src\winvblock\src\bus.c: Bus_AddChild() @ line 206: Entry

c:\src\winvblock\src\probe.c: Probe_Grub4Dos() @ line 306: INT 0x13 Segment: 0x9ec0

c:\src\winvblock\src\probe.c: Probe_Grub4Dos() @ line 307: INT 0x13 Offset: 0x000a

c:\src\winvblock\src\probe.c: Probe_Grub4Dos() @ line 308: INT 0x13 Hook: 0x0009ec0a

c:\src\winvblock\src\probe.c: Probe_Grub4Dos() @ line 309: INT 0x13 Safety Hook Signature: &..£4Œ

c:\src\winvblock\src\probe.c: Probe_Grub4Dos() @ line 312: Invalid INT 0x13 Safety Hook Signature

c:\src\winvblock\src\probe.c: Probe_Grub4Dos() @ line 367: No GRUB4DOS drive mappings found



*** Fatal System Error: 0x0000007b

					   (0xF78B2A98,0xC0000034,0x00000000,0x00000000)

map --mem
Physical Address: 1000	 Length: 9c000 

Physical Address: 100000	 Length: 34b7b000 

Physical Address: 46700000	 Length: 100000 

Total Physical Memory: 886140928 (34d17000)

Modified-> Physical Memory Pages: 216343 (34d17)

Physical Address: 1000	 Length: 9c000 

Physical Address: 100000	 Length: 34b7b000 

Physical Address: 46700000	 Length: 100000 

Total Physical Memory: 886140928 (34d17000)

Modified-> Physical Memory Pages: 216343 (34d17)

Physical Address: 1000	 Length: 9c000 

Physical Address: 100000	 Length: 34b7b000 

Physical Address: 46700000	 Length: 100000 

Total Physical Memory: 886140928 (34d17000)

Modified-> Physical Memory Pages: 216343 (34d17)

Enter DriverEntry(86991030,805031C8)

Required extension size: max: 469232 Min: 16348

Enter DriverEntry(86B342A8,80503B80)

Required extension size: max: 457928 Min: 34564

STORMINI: Arcsas Driver entry rtnval = 0

Physical Address: 1000	 Length: 9c000 

Physical Address: 100000	 Length: 34b7b000 

Physical Address: 46700000	 Length: 100000 

Total Physical Memory: 886140928 (34d17000)

Modified-> Physical Memory Pages: 216343 (34d17)

Physical Address: 1000	 Length: 9c000 

Physical Address: 100000	 Length: 34b7b000 

Physical Address: 46700000	 Length: 100000 

Total Physical Memory: 886140928 (34d17000)

Modified-> Physical Memory Pages: 216343 (34d17)

c:\src\winvblock\src\driver.c: DriverEntry() @ line 76: Entry

c:\src\winvblock\src\registry.c: Registry_Setup() @ line 94: Entry

c:\src\winvblock\src\bus.c: Bus_Start() @ line 74: Entry

c:\src\winvblock\src\bus.c: Bus_AddDevice() @ line 716: Entry

c:\src\winvblock\src\probe.c: Probe_AoE() @ line 191: No aBFT found

c:\src\winvblock\src\probe.c: Probe_MemDisk() @ line 227: INT 0x13 Segment: 0x9d00

c:\src\winvblock\src\probe.c: Probe_MemDisk() @ line 228: INT 0x13 Offset: 0x0100

c:\src\winvblock\src\probe.c: Probe_MemDisk() @ line 229: INT 0x13 Hook: 0x0009d100

c:\src\winvblock\src\probe.c: Probe_MemDisk() @ line 264: No MEMDISKs found

c:\src\winvblock\src\probe.c: Probe_Grub4Dos() @ line 306: INT 0x13 Segment: 0x9d00

c:\src\winvblock\src\probe.c: Probe_Grub4Dos() @ line 307: INT 0x13 Offset: 0x0100

c:\src\winvblock\src\probe.c: Probe_Grub4Dos() @ line 308: INT 0x13 Hook: 0x0009d100

c:\src\winvblock\src\probe.c: Probe_Grub4Dos() @ line 309: INT 0x13 Safety Hook Signature: $INT13SF

c:\src\winvblock\src\probe.c: Probe_Grub4Dos() @ line 316: INT 0x13 Safety Hook Vendor ID: GRUB4DOS

c:\src\winvblock\src\probe.c: Probe_Grub4Dos() @ line 326: GRUB4DOS SourceDrive: 0x80

c:\src\winvblock\src\probe.c: Probe_Grub4Dos() @ line 327: GRUB4DOS DestDrive: 0xff

c:\src\winvblock\src\probe.c: Probe_Grub4Dos() @ line 328: GRUB4DOS MaxHead: 254

c:\src\winvblock\src\probe.c: Probe_Grub4Dos() @ line 329: GRUB4DOS MaxSector: 63

c:\src\winvblock\src\probe.c: Probe_Grub4Dos() @ line 331: GRUB4DOS DestMaxCylinder: 143

c:\src\winvblock\src\probe.c: Probe_Grub4Dos() @ line 332: GRUB4DOS DestMaxHead: 0

c:\src\winvblock\src\probe.c: Probe_Grub4Dos() @ line 334: GRUB4DOS DestMaxSector: 62

c:\src\winvblock\src\probe.c: Probe_Grub4Dos() @ line 336: GRUB4DOS SectorStart: 0x001a63d8

c:\src\winvblock\src\probe.c: Probe_Grub4Dos() @ line 337: GRUB4DOS SectorCount: 578340

c:\src\winvblock\src\bus.c: Bus_AddChild() @ line 206: Entry



*** Fatal System Error: 0x0000007f

					   (0x00000000,0x00000000,0x00000000,0x00000000)

So do you have any idea what causes this trouble on 2003 based builds?

Joakim

#97 dog

dog

    Frequent Member

  • Expert
  • 236 posts

Posted 04 September 2009 - 12:23 PM

Cheers Sha0 and Joakim, I was getting BSODs from hwpnp.exe or bartpe.exe, but that's fixed it.
[Version]

Signature= "$Windows NT$"



[PEBuilder]

Name="winvblock"

Enable=1



[SourceDisksFiles]

Files\wvblk32.sys=4



[AddLine]

"txtsetup.sif", "ScsiClass.Load", "wvblk32 = wvblk32.sys,4"

"txtsetup.sif", "SCSI.Load", "ndis = ndis.sys,4"

Works with xp sp3 sources, no 2k3 files needed.
Could open up ram booting to a wider audience :D
;)

#98 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 2756 posts
  • Location:Nantes - France
  •  
    France

Posted 04 September 2009 - 06:59 PM

Hello,

I can report success as well :
I took a 256 mb XPe image I had which I am using for vmware and iscsiboot testings.

I installed the winvblock driver in my xpe (i had a couple of 0xa BSDO in the process).

-Then I created a 512mb blank image to be used a raw vmware disk,
-moved my xpe.img in \_images in there with winimage,
-booted over pxe with a floppy xp bootdisk with a boot.ini pointing to c:\grldr (i was too lazy to make my 512mb image bootable...),
-added the following in menu.lst :
title xpe.img
map --mem (hd0,0)/_images/xpe.img (hd0)
map --hook
root (hd0,0)
chainloader /ntldr
-and sucessfully booted to xpe ;)

some comments :
my vmware has 512mb memory configured but now i see only 256mb.
i see my 2 logical drives contained in my xpe image (c: and d:)
i also see my floppy disk i used to boot over pxe (g:)
i also see my 512mb image (f:)

Very nice : I can now put my disk images on my C drive and choose to boot to these from my boot menu :D

Thanks a lot shao !

Regards,
Erwan.

#99 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 06 September 2009 - 08:23 AM

@Sha0
Do you know what the issue can be with 2003 sources?

Joakim

#100 Sha0

Sha0

    WinVBlock Dev

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

Posted 06 September 2009 - 03:50 PM

joakim: Not yet, but karyonix has been kind enough to alert me to the CLASSPNP trouble and appropriate solution that he has recently encountered for FiraDisk. I will have to investigate if WinVBlock suffers from the same problem. Your earlier logs sure did associate CLASSPNP with the trouble.

Currently, I've been reworking the Registry code for WinVBlock, so it can accept BOOT.INI-style options (karyonix has already done this in FiraDisk, too; karyonix is fast! :D) as well as determine additional settings that a user might like to be persistent. After the Registry reworking, I'll have a look at the CLASSPNP issue.

- Sha0




2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users