Jump to content











Photo
- - - - -

Disappearing memory mapped ISO drive with winvblock - XP setup

xp memdisk grub for dos iso

  • Please log in to reply
49 replies to this topic

#1 madmax69

madmax69

    Member

  • Members
  • 41 posts
  •  
    United Kingdom

Posted 12 November 2011 - 06:15 PM

Hi,

I've been looking to grub4dos/pxe boot a complete XP Pro setup (just to see if I can do it). I have an nLited setup which is proven to work when burned to CDROM and which I've had some mysterious problems with when using a GRUB/PXE boot and memdisk 4.04.

I have a 2 stage boot process set up on a Grub4dos PXE menu and the winvblock driver added manually to txtsetup.sif in my nLite image. Sometimes the setup completes ok, sometimes it doesn't. The most curious thing is that were reported during setup but the symptom was:
---------------------------------------------------------
Only 2 or 3 services running but all seem to be installed
Program Files folder is largely empty but with a small number of expected folders but in *lower-case* except for
--
Common Files (ok)
internet explorer
microsoft frontpage
movie maker
msn gaming zone
netmeeting
outlook express
SiSLan (was ok)
windows media player
windows nt
xerox
--
No networking installed but SiS NIC driver installed ok
The "installs start menu items" takes a mere 3 seconds rather than the usual several minutes
Setup completes (reboot after stage #2) with the message that a CDROM drive has been detected as new hardware and with the image visible as drive D:
Clicking say IE on the desktop returns an "Open with" prompt (IE not installed)
Hardly any program items added to the start menu
---------------------------------------------------------
Stage #1 runs fine whether from a GRUB memory mapped image or from a memdisk mapped ISO file, partion and file copy look OK
Stage #2 is running from a GRUB memory mapped ISO as I can't figure out how to memdisk map the ISO *and* have /ntldr boot from (hd0,1)

Stage 2 always loads and boots OK with no complaints about the missing CDROM and appears to continue with no errors whatsoever but with the symptoms listed above.

Eventually I twigged that the memory mapped boot CD may have "vanished" during setup phase 2; I pressed SHIFT+F10 and surely enough, drive D: was absent. Curious that no error messages were issued. I guess Windows checks for the CD only at the start of phase 2 and simply skips if the disk is "removed".

I have had the entire PXE/GRUB boot process complete succcessfully (stages #1 and #2) - failures seem to be random. I have enough memory in the PC - 1.2gb and my ISO image is around 500mb. When successful (and in stage #1) the mapped ISO XP setup image appears as drive D:

What I'd like to know (if anyone has any thoughts) is:

a) Has anyone had similar problems with xp setup via PXE?
B) Has anyone experienced disappearing mapped disks with memdisk and winvblock?
c) Is this a known winvblock problem? (I can't find anything)
d) I'd like to try setup stage #2 using memdisk rather than GRUB memory mapping but have no idea how to map the ISO and then boot (hd0,1)/ntldr rather than the ISO. Is this possible using a memdisk command argument? I tried adding a chain boot command and it simply wipes any mapped ISO disk image from that config block.
e) Is there a more robust driver than winvblock which could be used and which is easily integrated into nlite? I found that the supplied winvblock install crashed nLite when I tried to add it so had to edit txtsetup.sif manually.
f) Is this perhaps an issue relating to early or late binding of the winvblock driver?
g) Is pxekeep perhaps needed for the image to persist reliably?

My GRUB4DOS menu.lst/default config section is:

#####################################################################
title Start nLite XP Install CD - Appx 750m+ Host Memory Reqd
map mem (pd)/iso/WinLite-no-apps.iso (0xff) || map --mem (pd)/iso/WinLite-no-apps.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)

#####################################################################
title nLite XP Install Stage #2 (Boot ntldr 2nd Partition hd0,1) - default item
# My test box has a recovery partition on (hd0,0)
map mem (pd)/iso/WinLite-no-apps.iso (0xff) || map --mem (pd)/iso/WinLite-no-apps.iso (0xff)
map --hook
root (hd0,1)
chainloader (hd0,1)/ntldr
#####################################################################

(I hope I've not missed anything!) :)

#2 Wonko the Sane

Wonko the Sane

    The Finder

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

Posted 12 November 2011 - 06:35 PM

g) Is pxekeep perhaps needed for the image to persist reliably?

This sounds like an excellent idea:
http://reboot.pro/15160/

:cheers:
Wonko

#3 madmax69

madmax69

    Member

  • Members
  • 41 posts
  •  
    United Kingdom

Posted 12 November 2011 - 06:55 PM

Thanks for the suggestion. I'll have a did thru that page although from first glance it looks like "map" and sanboot stuff.
I almost have this working but I think it's simply some sort of issue with the winvblock driver

The pxe keep was an afterthought as I was about to submit the post.
I just tested but adding - pxe keep - in the GRUB config causes both stage #1 and stage #2 to "hang" :(

I can get it to work every now and then using the GRUB map method and then chaining appropriately. I just wanted to try using memdisk v4 on stage #2 (ntldr boot) to see if the winvblock driver was more stable with that method. I can use it on stage #1 as that boots the ISO.

If only it were possible to execute a command before setup and copy the contents of the remainder of the CD to the HDD I could avoid a 2nd or even 3rd download of the ISO!

Once I've satisfied myself with this method I'll go on to look again at http booting althoughh sanboot will still need to address the 2-stage XP setup issue ;)

#4 Wonko the Sane

Wonko the Sane

    The Finder

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

Posted 12 November 2011 - 07:04 PM

As a generic :ph34r: (not necessarily applicable to this case) what you describe sound a lot like TIMING problems, though since you have seemingly not only different levels of success, but also different levels of failures :w00t: AND you have (neededly, mind you, but still....) inserted in it every possible level of complexity, from nlite to manually modified txtsetup.sif, and PXE and "what not" I am afraid that it will be a tough job to troubleshoot. :(

Wouldn't a good ol' RIS install do?
Or a WinPE based one?

Of course, the fun is actually in finding the problem and solving it in your current approach. :thumbup:

:cheers:
Wonko

#5 madmax69

madmax69

    Member

  • Members
  • 41 posts
  •  
    United Kingdom

Posted 12 November 2011 - 07:08 PM

A bit more info...
I decided to try to track down exactly where the winvblock drive disappears during stage #2 of the XP setup

Using SHFIT+F10 I can see the drive at the start of stage #2
"please wait..." -> drive is ok
"installing devices" start -> drive ok
"installing devices" 50% progress -> drive ok
GRUB mapped drive D: disappears at 60% thru "installing devices" (before "Windows installs network components" message)

It appears windows is most likely re-installing the device and destroying the active (boot) instance. XP appears to have no knowledge that the drive has vanished and setup continues without any error messages!

I must be installing the driver incorrectly by adding entries to textsetup.sif manually or there's a glitch in how the driver is installed by windows perhaps?

#6 madmax69

madmax69

    Member

  • Members
  • 41 posts
  •  
    United Kingdom

Posted 12 November 2011 - 07:10 PM

PS LOL - yep, I must be a martyr. I just wanted to master this method rather than admit defeat! :)

#7 Wonko the Sane

Wonko the Sane

    The Finder

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

Posted 12 November 2011 - 07:20 PM

It appears windows is most likely re-installing the device and destroying the active (boot) instance. XP appears to have no knowledge that the drive has vanished and setup continues without any error messages!

I must be installing the driver incorrectly by adding entries to textsetup.sif manually or there's a glitch in how the driver is installed by windows perhaps?

Maybe the issue is "inherent" to adding the drive through txtsetup.sif. :dubbio: (or in the way you added it manually)
Can you detail exactly what you added to TXTSETUP.SIF?
Similar methods (not PXE based) use a F6 floppy image to install in text mode the driver.
Cannot say HOW this F6 floppy approach can be adapted in a PXE boot. :unsure: :blush:

:cheers:
Wonko

#8 madmax69

madmax69

    Member

  • Members
  • 41 posts
  •  
    United Kingdom

Posted 12 November 2011 - 07:30 PM

Yes, I had thought that. Adding manually was an act of desperation as it wasn't possible to add the drive using nLite's menu without a runtime crash error.

However, nLite does add the driver, it includes the entries OK in the final, sorted txtsetup.sif file and it is obviously active in stage #1... and if you reboot stage #2 again it makes a new appearance again as drive D:

Windows is uninstalling the initial instance used to access the memory mapped ISO before replacing. I'd had some thoughts about the F6 boot method but as you point out, it's not PXE friendly and defeats the object. Maybe there's some method of including boot time drivers that Windows must not touch?

If it wasn't for this one single issue the method would work!

I edited txtsetup.sif manually, to add these entries:
and copied wvblk32.sy_ to /i386 of my nLite distro
Maybe nLite reorders the parameters? (see the underscore) - I'd agree that this method isn't ideal.
Maybe I'm missing an entry??
-----------------------------------------------------
; wvblk32.sys entries for TXTSETUP.SIF

[SourceDisksFiles]
wvblk32.sys = 1,,,,,,4_,4,1,,,1,4

[SCSI.Load]
wvblk32 = wvblk32.sys,4

[SCSI]
wvblk32 = "WinVBlock RAMdisk driver"
-----------------------------------------------------

#9 madmax69

madmax69

    Member

  • Members
  • 41 posts
  •  
    United Kingdom

Posted 12 November 2011 - 07:33 PM

Oh, sorry, I forgot to add. wvblk32.sys is compressed to WVBLK32.SY_ using COMPRESS.EXE -Z and is version 0.0.1.8

#10 madmax69

madmax69

    Member

  • Members
  • 41 posts
  •  
    United Kingdom

Posted 12 November 2011 - 08:04 PM

BTW The config is the same as this one listed by hydeist on here...
http://reboot.pro/8168/page__st__371

Which refers to this: http://pxe.dev.above...ng/Windows_2003
(but which uses 2 separate ISO images)

#11 madmax69

madmax69

    Member

  • Members
  • 41 posts
  •  
    United Kingdom

Posted 12 November 2011 - 09:08 PM

The other thread on WinVBlock details some of the same issues but didn't reach any conclusion.
I think, though, that I've found a fix (or more accurately, a reliable kludge) which also explains how I managed to get it accidentally to work every so often (whilst tinkering with my GRUB config)

I was just running sha0's recommended "sc qc wvblk32" command from the WinVBlock thread after pressing SHIT+F10. I also decided to boot twice from stage #1 (booting the ISO rather than ISO at #1 and /ntldr at #2).

I figured that whilst booting directly to /ntldr might have the tradeoff of more control over the boot process (esp, interacting with the boot prompt - "Press any key to boot from CD" - that I'd try booting from CD both times and let the ISO CDROM chain to ntldr.

Monitoring sc qc wvblk and doing a DIR on drive D: continuously throughout the setup I found that the drive wasn't removed this time. So there's some dependency on whether or not Windows removes WinVBlock which relates to the chosen boot source.

If booted from ISO then the WinVBlock driver *doesn't* get removed. If you map the ISO using GRUB and then boot /ntldr directly then WinVBlk *does* get removed each time. As for why, I'm not sure. I'm not an expert at that level. Perhaps someone with more in-depth driver config knowledge/windows setup might know?

The caveat is that if using this kludge you have to build nLite with the "Press any key..." option enabled.

I think I'd call this a temporary fix but I'm still interested if an ISO can be mapped in GRUB using memdisk whilst /ntldr is booted directly. Still testing ;)

#12 Wonko the Sane

Wonko the Sane

    The Finder

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

Posted 13 November 2011 - 09:21 AM

Monitoring sc qc wvblk and doing a DIR on drive D: continuously throughout the setup I found that the drive wasn't removed this time. So there's some dependency on whether or not Windows removes WinVBlock which relates to the chosen boot source.

If booted from ISO then the WinVBlock driver *doesn't* get removed. If you map the ISO using GRUB and then boot /ntldr directly then WinVBlk *does* get removed each time. As for why, I'm not sure. I'm not an expert at that level. Perhaps someone with more in-depth driver config knowledge/windows setup might know?

The caveat is that if using this kludge you have to build nLite with the "Press any key..." option enabled.

I think I'd call this a temporary fix but I'm still interested if an ISO can be mapped in GRUB using memdisk whilst /ntldr is booted directly. Still testing ;)


I am losing you. :w00t:
Can you post which grub4dos menu.lst works and which one doesn't?

In any case, if you don't want the "Press any key to boot from CD...." simply remove BOOTFIX.BIN from the .iso or instead of booting the .iso through it's bootsector chianload /I386/SETUPLDR.BIN ;).

:cheers:
Wonko

#13 madmax69

madmax69

    Member

  • Members
  • 41 posts
  •  
    United Kingdom

Posted 13 November 2011 - 03:17 PM

Controlling the boot message isn't really an issue for me as nLite has a "tick option" to enable/disable.

But if one is looking to move towards a fully-unattended install one ends up with conflicting demands which lead to a need for x2 ISO image (no prompt to boot stage #1 and a prompt which gets ignored at stage #2 and which allows the XP CD boot loader to select and chain to the correct /ntldr (in my case /ntldr is on the 2nd partition of the 1st disk). It just occurred to me that I may be able to take greater control over the process by directly launching /ntldr from a boot menu. It's not essential but nice to have.

You can certainly do it with x1 image and I have it sat in front of me as I type PXE/gPXE chain booting and installing via http but I have to press a key for stage #1

Both of the menu options work except for this issue of the mapped ramdisk vanishing during the 2nd phase install. I did several more installs last night and found to my dismay that what I thought was a fix turned out to be a random fluke. The drive may still disappear regardless.

I tried opening a console with SHIFT+F10, changing to drive D: and hopefully "locking" the drive to prevent removal of the driver. Even this failed. "sc qc wvblk32" showed the driver still active but drive D: transiently vanished for a minute or two then "reappeared" again. At least with that method the install continued OK with nothing missing at the end. Having to manually open a console on the mapped CD isn't really a "fix" though.

Edit: Just finished another install and deliberately did not "lock" the drive busy using a console window. Installation succeded as before but a shed-load of stuff is missing exactly as before. It looks like opening a console and locking the drive does help. I opened a console (but did not select D:) and noticed that the drive "vanished" again at about the same time but this time did not "reappear". I'm going to reinstall yet again and lock the drive again and see if it works again.

Edited by madmax69, 13 November 2011 - 03:25 PM.


#14 Wonko the Sane

Wonko the Sane

    The Finder

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

Posted 13 November 2011 - 03:31 PM

I seem vaguely to remember how the issue is present (unsolved) with XP but it works (for unknown reasons) in Win2003. :unsure:

Can you make a test with a Server 2003 source and verify that nothing changes?

To "control" the booting sequence you may want to "steal" or "borrow" ;) some ideas from these:
http://www.msfn.org/...omusb-with-gui/
http://www.msfn.org/...aded-iso-image/
http://www.msfn.org/...rom-a-iso-file/

You could also try to use Firadisk instead of WinVblock, but cannot say if it will change anything. :dubbio:

:cheers:
Wonko

#15 madmax69

madmax69

    Member

  • Members
  • 41 posts
  •  
    United Kingdom

Posted 13 November 2011 - 03:49 PM

Thanks Wonko. I'd thought about Firadisk and downloaded some info on it last night.

I wish I could do an install with 2k3 but I don't have a disk (then again, maybe it's as well or I'd have more excuses to stay up till 5am LOL)

The repeat install "locking" drive D: is progressing and has passed the stage where it all goes belly-up. I can see "C:program files" nicely filling up with the correct folders. Again, locking the drive by opening a console and selecting the CDROM drive (D: in my case) stops the drive from "vanishing". Maybe there's some useful info in this for sha0? Had I not had some inspiration I'd have been completely flummoxed by the apparently random broken install.

It looks like there's nothing I can do from the GRUB side of things to resolve this and I'm not sure how this workaround (kludge LOL) can be automated.

My idea was to have a single password-protected GRUB session, boot the PC from PXE, enter the password, go for a cup of tea and come back and find a finished install of XP complete with apps. I've spent enough time now for about 2,000 cups of tea LOL :D

The apps scripting bit is done and working but at the moment too big to integrate (another 700mb) but works from a real DVD boot

#16 madmax69

madmax69

    Member

  • Members
  • 41 posts
  •  
    United Kingdom

Posted 13 November 2011 - 04:01 PM

For the benefit of anyone following this thread later. Here's the result of sc qc wvblck32 during the crucial phase when the mapped ISO vanishes during XP setup. AFAIK this shows everything OK with the installed driver. I've repeated twice now "locking" the mapped drive with an active console and this has allowed XP setup to complete and install all components.

(The ISO maps as drive D: in my case)

[SC] GetServiceConfig SUCCESS

SERVICE_NAME: wvblk32
TYPE : 1 KERNEL_DRIVER
START_TYPE : 0 BOOT_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME :
LOAD_ORDER_GROUP : SCSI miniport
TAG : 0
DISPLAY_NAME : wvblk32
DEPENDENCIES :
SERVICE_START_NAME :

C:>dir d:
The system cannot find the path specified.

#17 Wonko the Sane

Wonko the Sane

    The Finder

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

Posted 13 November 2011 - 05:29 PM

Maybe you can try with this (still oldish) development version:
http://git.etherboot...3750a07d5a:/bin

:cheers:
Wonko

#18 madmax69

madmax69

    Member

  • Members
  • 41 posts
  •  
    United Kingdom

Posted 13 November 2011 - 06:17 PM

Thanks. Downloaded. I'll give that a shot later this evening. The httpdisk driver also looks interesting. I'll snag the docs and see how easy it is to integrate into the gpxe chainbooting I'm also looking at :)

#19 madmax69

madmax69

    Member

  • Members
  • 41 posts
  •  
    United Kingdom

Posted 13 November 2011 - 09:55 PM

OK, drew a blank with that 0.0.1.18 Dev #2 release of winvblock. Same behaviour. If a console session isn't used to "lock" the drive then Windows removes it. If you lock by opening a console and selecting the drive, XP completes a successful install.

Out of interest (and it may or may not be of relevance) but I booted from the CD image on the 3rd reboot (required to activate the SiS NIC card) and noticed that the vblock driver appears as a removable device in the USB manager (system tray). This may explain the ease with which the ISO vanished and re-appeared perhaps?

I don't know how to insert an image here but here's a link to a screendump
http://pxe.kerys.co....2-removable.JPG

Oh, and I also tried using gzip -9 (Win32) on the ISO and found it gained 10% saving in size, working perfectly with memdisk 4.04

#20 reboot12

reboot12

    Frequent Member

  • Advanced user
  • 215 posts
  • Interests:WinXP, Debian, OpenWrt, gPXE, iPXE, BIOS, Coreboot
  •  
    European Union

Posted 18 May 2014 - 04:55 AM

Hi. I have exactly the same problem while install WinXP from ISO mapped GRUB4DOS -> Install WinXP from ISO to HDD

 

I tried many tests with different ISO images with WinVBlock integrated - nLite or manually edit TXTSETUP.SIF and wvblk32.sy_ in I386 folder but always the same issue.

 

I found how work around problem - need disable CD-ROM drive

 

Tested only with virtual machine VMware Workstation 8 because this allows disable CD-ROM drive in settings :-) I make tests always with MS VirtualPC 2007 but unfortunatelly in this machine no possible disable CD-ROM drive.

 

After disable CD-ROM drive WinXP install OK :1st:

 

P.S. On real machines probably need disable IDE Secondary Channel in BIOS and/or disconnect CD-ROM from motherboard.


Edited by reboot12, 18 May 2014 - 05:04 AM.


#21 betrand

betrand

    Frequent Member

  • Advanced user
  • 467 posts
  •  
    France

Posted 24 May 2014 - 03:42 PM

Why do dummy img installs work (no Winvblock CDrom loss) and not real partitions?

I was thinking in terms of OFS (link...) to create a small FAT volume before the

real 1st volume, ie inside the 63s. In that volume the reference to an img,

which is in fact the real partition. The only problem is the FileAllocationTable in the small volume

won't fit!

 

Why does Grub4dos /Winvblock have to reference as an img, and if not (real partition),

the thing doesn't install?

 

Or did I miss something?

:dubbio:

 

:cheers:



#22 reboot12

reboot12

    Frequent Member

  • Advanced user
  • 215 posts
  • Interests:WinXP, Debian, OpenWrt, gPXE, iPXE, BIOS, Coreboot
  •  
    European Union

Posted 25 May 2014 - 06:08 AM

Other solution to resolve problem is map floppy disk image before map ISO image - please read my thread:

Install WinXP from ISO to HDD :good:



#23 betrand

betrand

    Frequent Member

  • Advanced user
  • 467 posts
  •  
    France

Posted 26 May 2014 - 07:06 PM

Hi Reboot12,

I never doubted mapping a img helped when intalling Xp from iso.

I just  was wondering why with a dummy img it installed.

By dummy image, is it meant the HD image to install to,

or a dummy image (as Fdd.img in your linked post)?

 

:cheers:



#24 betrand

betrand

    Frequent Member

  • Advanced user
  • 467 posts
  •  
    France

Posted 27 May 2014 - 01:14 PM

Other solution to resolve problem is map floppy disk image before map ISO image

 

Does the driver initiate (hd, fd) imgs before isos, then?

 

Just for my information anyway, :).

 

Also, reading this



#25 betrand

betrand

    Frequent Member

  • Advanced user
  • 467 posts
  •  
    France

Posted 27 May 2014 - 07:34 PM

Other solution to resolve problem is map floppy disk image

 

 

Hi Reboot12,

I never doubted mapping a img helped

I might have misinterpreted what you meant. (I was thinking F6:p)







Also tagged with one or more of these keywords: xp, memdisk, grub for dos, iso

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users