MSFN Forum: Install XP from a RAM loaded ISO image - MSFN Forum

Jump to content


  • 14 Pages +
  • « First
  • 4
  • 5
  • 6
  • 7
  • 8
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

Install XP from a RAM loaded ISO image

#101 User is offline   doveman 

  • Member
  • PipPip
  • Group: Members
  • Posts: 231
  • Joined: 22-August 05

Posted 12 November 2009 - 12:34 PM

Quote

Yes, winnt.sif is not WINNT.SIF.


I didn't have any problems with that, the problem was purely with XP_RAM.iso .

Quote

Grub4dos ignore case at (floppy, hard) disk file system, your USB stick.
Grub4dos is case sensitive at ISO 9660 file system, your CD.


Yeah, it turns out that Grub4dos was actually finding the XP_RAM.iso on my VHD third partition, so was set root and loading XP_RAM.iso from there, which was an old, incorrectly built one, which wasn't loading WINNT.SIF. I've got round that problem by changing the first line to "find --set-root /XPRAMCD.lst" and making that file in the root of the CD. Very confusing, but I've finally managed to successfully install from USB, CD and HD, in VMware at least :thumbup


#102 User is offline   doveman 

  • Member
  • PipPip
  • Group: Members
  • Posts: 231
  • Joined: 22-August 05

Posted 13 November 2009 - 10:44 PM

Just wanted to report that thanks to TigerWhite's post #26, I've successfully installed from an Nlited Driverpacked XP_RAM.ISO contained in an ISO mounted in VMware's VCD-ROM. I was getting an error about unable to find firadisk in TXT-mode, until I added the line to mount the IMA to (fd1). :thumbup

Only downside is it isn't installing the stuff in the I386\SVPACK folder for some reason, but pretty good job nonetheless.

#103 User is offline   kof94 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 433
  • Joined: 28-November 05

Posted 16 November 2009 - 04:01 AM

A few years ago I remember someone saying that this sort of thing would never be possible with XP, so when I saw this I had to have ago.

Everything seams pretty straight forward and I'll test installing XP from a USB stick in the next day or so but I have one question.

Is there any additional steps required to mount a PE (UBCD4Win) in RAM using this method?

#104 User is offline   doveman 

  • Member
  • PipPip
  • Group: Members
  • Posts: 231
  • Joined: 22-August 05

Posted 16 November 2009 - 04:43 AM

Someone may well correct me, but I'm not sure you need to go through all this just to boot a PE ISO in RAM.

I've had success using the following menu.lst entries. I think you just need to make sure your PE build includes the BootSDI plugin.

title PE iso
find --set-root /iso/PE.iso
map /iso/PE.iso (hd32)
map --hook
chainloader (hd32)

title PE.iso - mem
find --set-root /iso/PE.iso
map --mem /iso/PE.iso (hd32)
map --hook
chainloader (hd32)

#105 User is offline   cdob 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 876
  • Joined: 29-September 05

Posted 16 November 2009 - 02:33 PM

View Postkof94, on Nov 16 2009, 05:01 AM, said:

Is there any additional steps required to mount a PE (UBCD4Win) in RAM using this method?
No, there are no addional steps required.
However it's reccomended to "gzip.exe -9 UBCD4WIN.ISO" Required disk space and boot time is reduced.
http://www.gzip.org/ and ubcd4win\plugin\Add-Ons\UnxUtils\files\gzip.exe

title mem Loading UBCD4Win.GZ /I386/SETUPLDR.BIN
ls /images/UBCD4WIN.GZ || find --set-root /images/UBCD4WIN.GZ
map --mem /images/firadisk.ima (fd0)
map --mem /images/UBCD4WIN.GZ (0xFF)
map --hook
chainloader (0xFF)/I386/SETUPLDR.BIN


View Postdoveman, on Nov 16 2009, 05:43 AM, said:

Someone may well correct me, but I'm not sure you need to go through all this just to boot a PE ISO in RAM.
A classic XP/2003 won't boot without additional drivers.
Yes, a BootSDI version does work, because this use RAM load already (2003 SP1 setupldr.bin based).

#106 User is offline   kof94 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 433
  • Joined: 28-November 05

Posted 16 November 2009 - 04:10 PM

Thank you.

This post has been edited by kof94: 16 November 2009 - 04:10 PM


#107 User is offline   kof94 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 433
  • Joined: 28-November 05

Posted 21 November 2009 - 05:08 AM

Ok, I'm having the same issue as Doveman. After booting from hdd (and after presetup.cmd runs) I get an error that the installation CD cannot be found.

At best guess I'd say it hasn't been mounted at all.

I've trieed this in Qemu and on real hardware, same result... any ideas?

#108 User is offline   doveman 

  • Member
  • PipPip
  • Group: Members
  • Posts: 231
  • Joined: 22-August 05

Posted 21 November 2009 - 05:22 AM

Most of my problems were because of the wrong case in filenames (XP_RAM.ISO, WINNT.SIF, DOSNET.SIF, TXTSETUP.SIF) so I'd check they're all upper-case as a first-step.

#109 User is offline   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,448
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 21 November 2009 - 05:43 AM

View Postdoveman, on Nov 16 2009, 11:43 AM, said:

Someone may well correct me, but I'm not sure you need to go through all this just to boot a PE ISO in RAM.

I've had success using the following menu.lst entries. I think you just need to make sure your PE build includes the BootSDI plugin.


I will gladly. ;)

Booting a PE in RAM is not anything new.

It is possible since the release of Server2003 SP1, end of 2004/first months of 2005 methods were found:
http://www.911cd.net...?showtopic=9685
http://www.911cd.net...showtopic=10445
http://www.911cd.net...showtopic=10482
http://www.911cd.net...showtopic=10806

The BootSDI plugin is just the way some winbuilder projects implemented RAMDISK booting.

The way you depict, (mapping the iso to --mem with grub4dos) you are effectively loading the PE in memory TWICE, read here WHY:
http://www.boot-land.net/forums/index.php?...=8258&st=37

With Firadisk or WinVblock, you re-use the SAME image in RAM loaded via grub4dos.

jaclaz

#110 User is offline   kof94 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 433
  • Joined: 28-November 05

Posted 21 November 2009 - 12:48 PM

My bad, I gzipped the XP iso's and ImDisk obviously can't handle that!

#111 User is offline   doveman 

  • Member
  • PipPip
  • Group: Members
  • Posts: 231
  • Joined: 22-August 05

Posted 21 November 2009 - 08:42 PM

View Postjaclaz, on Nov 21 2009, 11:43 AM, said:

I will gladly. ;)


Thought you might ;)

You're quite right though and it's rather obvious (now that you've pointed it out!)

Then again, using the first menu entry I listed, without the -mem switch, with a BootSDI PE will do the job won't it? Obviously this isn't an option for a pre-built ISO made without using the BootSDI option. Is there any advantage to building the PE without BootSDI and using Firadisk instead?

#112 User is offline   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,448
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 22 November 2009 - 03:49 AM

View Postdoveman, on Nov 22 2009, 03:42 AM, said:

Then again, using the first menu entry I listed, without the -mem switch, with a BootSDI PE will do the job won't it? Obviously this isn't an option for a pre-built ISO made without using the BootSDI option. Is there any advantage to building the PE without BootSDI and using Firadisk instead?

You will need a contiguous source file for direct mapping.

Using Firadisk you are not anymore limited to the "mythical" but actually effective 500/512 Mb size limit of RAMDISK.SYS (and OK, the limit is somewhere else, AND it can be overcome now :wacko: ):
http://www.boot-land.net/forums/index.php?...ic=9474&hl=

But still it takes TIME to load an image to RAM, expecially if source is a slow device, besides requiring LOTS of RAM.

Once the image is loaded in RAM, it's speed isn't that great, Karyonix is working to speed up things:
http://www.boot-land.net/forums/index.php?...8804&st=186

If and when either Karyonix or Sha0 (Firadisk and WinVblock developers respectively) or some other developer will take seriously this idea:
http://www.boot-land.net/forums/index.php?...=8168&st=11

things may change. ;)

I even found a couple of possible candidates (existing drivers) but it seems that noone is interested in the minimalistic approach, as well as in this one:
http://www.boot-land.net/forums/index.php?...ic=3717&hl=

I am always looking around for volunteers, do you happen to have a "lab rat attitude"? :unsure:

jaclaz

#113 User is offline   kof94 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 433
  • Joined: 28-November 05

Posted 23 November 2009 - 03:50 PM

Since looking at this thread: Install 2000/XP/2003 from RAM loaded small ISO I started to wonder if it would be possible to combine the two projects (sort of).

Would it be possible to boot a mini iso with the boot files (as flyakites guide - saves on boot time!) in RAM (0XFF) and direct boot the full iso (safes RAM) from the UFD (0XFE) then install from the full iso. Just a thought but I wondered if it would work.

Edit: Nearly forgot... tested install on my desktop with and without card reader. Everything went fine except on the attempt where I created a new partition on the drive (disk was empty) and ended up with a random reboot just at the point presetup.cmd should have run. I booted to hdd a second time and everything went fine except I ended up with a 'All Users.WINDOWS' dir in Documents and settings.

I think this reboot was caused by the for loop in presetup.cmd because on subsequent installs (and on the second attempt above) I had "No Disk" errors at this point when the card reader was connected.

A part from disconnecting it prior to install the only solution I can think of is to reverse the search order in the loop, that way the UFD (where my OEM dir is) should, hopefully, be found before the card reader.

SET TAGFILE=\OEM
FOR %%i IN (Y X W V U T S R Q P O N M L K J I H G F E D C) DO IF EXIST "%%i:%TAGFILE%" SET CDDRIVE=%%i:& GOTO DPsFound


If I was doing this in a bash script I'd search for the volume label instead and save a possible 23 mounts but I have know idea how to do that in Windows.

This post has been edited by kof94: 23 November 2009 - 05:28 PM


#114 User is offline   doveman 

  • Member
  • PipPip
  • Group: Members
  • Posts: 231
  • Joined: 22-August 05

Posted 24 November 2009 - 05:05 AM

View Postjaclaz, on Nov 22 2009, 09:49 AM, said:

I am always looking around for volunteers, do you happen to have a "lab rat attitude"? :unsure:


I do normally but unfortunately I've got too many other things to fix to take on any more at the moment :no:

If I could just get PLOP working with my hardware, to speed up loading the RAM image from USB, I'd be happy.

#115 User is offline   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,448
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 24 November 2009 - 06:45 AM

View Postkof94, on Nov 23 2009, 10:50 PM, said:

If I was doing this in a bash script I'd search for the volume label instead and save a possible 23 mounts but I have know idea how to do that in Windows.


In Windows there is the "LABEL" command:
http://ss64.com/nt/label.html

and the "VOL" one (advised ;)):
http://ss64.com/nt/vol.html
it also returns the volume serial.

But you have anyway to loop. :unsure:

The vlm.exe inside DSFOK:
http://members.ozemail.com.au/~nulifetv/fr...ware/index.html
will scan all volumes, but it won't return the drive letter. :(

The MOUNTVOL command will scan all volums, but won't return the label. :(

A possible "cure" is worst than the actual illness ;):
@ECHO OFF
SETLOCAL ENABLEEXTENSIONS
SETLOCAL ENABLEDELAYEDEXPANSION
Set Label=%1
FOR /F "tokens=1,2 delims=:, " %%A IN ('vlm.exe') DO (
IF NOT Label==%%A SET VOLUME=%%A
IF /I %%B==%Label% GOTO :do_mountvol
)
GOTO :EOF

:do_mountvol
SET Volume=%Volume:.=?%
SET COUNTER=0
For /F %%? in ('mountvol.exe ^| FIND "\"') DO CALL :do_pairs %%?
FOR /F "tokens=2 delims==" %%? IN ('SET Drive ^| FIND "%Volume%"') DO SET %LABEL%=%%?
SET %LABEL%
GOTO :EOF

:do_pairs
SET ThisItem=%1
IF "%ThisItem:~0,4%"=="\\?\" SET /A Counter=!Counter!+1
Set Drive%Counter%=%ThisItem%=!Drive%Counter%!
GOTO :EOF


jaclaz

#116 User is offline   cdob 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 876
  • Joined: 29-September 05

Posted 24 November 2009 - 11:05 AM

View Postkof94, on Nov 23 2009, 04:50 PM, said:

tested install on my desktop with and without card reader.
Disconnect external card readers if possible. This reduce the risk.

Quote

ended up with a random reboot
What's a ramdom reboot? How often did the machine reboot?
Can you attach the presetup.log file?

There is a fix drive letter enabled by default. This may add one reboot.

"Post#1" said:

Setup may assign letter c: to another device.
C: is not available for new installed windows.
Setup.cmd deletes MountedDevices.
At reboot windows assign letters again: c:\windows

Did you used fixDrive.USB option? This may add a reboot too.

Quote

I think this reboot was caused by the for loop in presetup.cmd
I doubt this.
This principal loop is used since several years.

Quote

because on subsequent installs (and on the second attempt above)

Most likely there exist a c: drive then.

Quote

I had "No Disk" errors
Thanks for the hint. Add a "DIR %%i: &&"
FOR %%i IN (C D E F G H I J K L M N O P Q R S T U V W X Y) DO (
  FOR %%j in (%ISO_file_search%) DO (
	echo search ISO file "%%i:%%j">>presetup.log
	DIR %%i: && IF EXIST "%%i:%%j" (
	  SET ISOfile=%%i:%%j
	  goto :ISO_file_found)
  )
)


#117 User is offline   kof94 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 433
  • Joined: 28-November 05

Posted 24 November 2009 - 04:19 PM

@cdob

Quote

Disconnect external card readers if possible. This reduce the risk.

Yeah, I had no issues when I disconnected the card reader!

Quote

What's a ramdom reboot? How often did the machine reboot?

By 'random' I just meant that I didn't expect it because it didn't happen without the card reader attached.

Quote

Can you attach the presetup.log file?

No can't because I've wiped the drive now.

Quote

There is a fix drive letter enabled by default. This may add one reboot.

I did notice that when the hdd was already partitioned, when I repartitioned it and returned to hit enter to install it was assigned to C: and the drive letter for my ufd was removed (just a hyphen when it was previously C:). But on this occasion the the hdd was blank so after partitioning it was assigned to I: when I started the install.

fixDrive.USB is uncommented in textsetup.oem so I assume thats what caused reboot because %systemdrive% was I: prior to that.

Quote

Thanks for the hint. Add a "DIR %%i: &&"

Forgive my ignorance but wont this still cause the "No Disk" errors because there's still going to be an attempt to "mount" a non-existent filesystem and list it's contents?

@jaclaz

Quote

A possible "cure" is worst than the actual illness newwink.gif:

No jokes. Thanks for the advice though.

#118 User is offline   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,448
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 25 November 2009 - 04:55 AM

View Postkof94, on Nov 24 2009, 11:19 PM, said:

No jokes. Thanks for the advice though.

You are welcome, and now the nice part ;):
I too have a couple of "problematic" machines that have one of those "stoopid" card readers to which Windows assigns a letter even if there is no media.
On these, the "IF EXIST" will throw an error.
This:
@ECHO OFF
SET TAGFILE=\OEM

FOR /F "tokens=1 delims=\ " %%? IN ('MOUNTVOL.EXE ^|FIND ":\"') DO (
DIR %%?|FIND "%TAGFILE:\=%">nul&&SET CDDRIVE=%%?& GOTO DPsFound
)

GOTO :EOF
:DPsFound
SET CDDRIVE

is a workaround, that loops only through existing drives and does not throw error for "device not ready" or "no disk".

jaclaz

#119 User is offline   cdob 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 876
  • Joined: 29-September 05

Posted 25 November 2009 - 09:04 AM

View Postkof94, on Nov 24 2009, 05:19 PM, said:

Forgive my ignorance but wont this still cause the "No Disk" errors because there's still going to be an attempt to "mount" a non-existent filesystem and list it's contents?

At XP 32 bit a dir does behave different. Open a command prompt and run "dir I:".
There is a command line message displayed only, but no "No Disk" window.

In addition there is errorlevel set internally: therefore the following && find is not executed.
Finally: "No Disk" window is not displayed.

Try too: remove find
FOR %%i IN (C D E F G H I J K L M N O P Q R S T U V W X Y) DO (
  FOR %%j in (%ISO_file_search%) DO (
	echo search ISO file "%%i:%%j">>presetup.log
	DIR "%%i:%%j" && (
	  SET ISOfile=%%i:%%j
	  goto :ISO_file_found)
  )
)


#120 User is offline   kof94 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 433
  • Joined: 28-November 05

Posted 25 November 2009 - 12:16 PM

Well I've certainly learnt something today, thanks to both of you :).


Edit: I liked both solutions so much I thought I'd combine them:

set tagfile=\OEM
for /f "tokens=1 delims=: " %%? in ('mountvol.exe ^|find ":\"') do (
  dir %%?:%tagfile% >nul 2>&1 && set CDDRIVE=%%?:
)
if not defined CDDRIVE (
  goto EOF
)

This post has been edited by kof94: 26 November 2009 - 02:26 PM


Share this topic:


  • 14 Pages +
  • « First
  • 4
  • 5
  • 6
  • 7
  • 8
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2013 msfn.org
Privacy Policy