Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

Install XP from a RAM loaded ISO image


  • Please log in to reply
310 replies to this topic

#101
doveman

doveman

    Advanced Member

  • Members
  • PipPipPip
  • 336 posts

Yes, winnt.sif is not WINNT.SIF.


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

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


How to remove advertisement from MSFN

#102
doveman

doveman

    Advanced Member

  • Members
  • PipPipPip
  • 336 posts
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
kof94

kof94

    Advanced Member

  • Members
  • PipPipPip
  • 433 posts
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
doveman

doveman

    Advanced Member

  • Members
  • PipPipPip
  • 336 posts
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
cdob

cdob

    Friend of MSFN

  • Members
  • PipPipPipPipPip
  • 951 posts

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

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
kof94

kof94

    Advanced Member

  • Members
  • PipPipPip
  • 433 posts
Thank you.

Edited by kof94, 16 November 2009 - 04:10 PM.


#107
kof94

kof94

    Advanced Member

  • Members
  • PipPipPip
  • 433 posts
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
doveman

doveman

    Advanced Member

  • Members
  • PipPipPip
  • 336 posts
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
jaclaz

jaclaz

    The Finder

  • Developers
  • 13,402 posts
  • OS:none specified
  • Country: Country Flag

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...?...=8258&st=37

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

jaclaz

#110
kof94

kof94

    Advanced Member

  • Members
  • PipPipPip
  • 433 posts
My bad, I gzipped the XP iso's and ImDisk obviously can't handle that!

#111
doveman

doveman

    Advanced Member

  • Members
  • PipPipPip
  • 336 posts

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
jaclaz

jaclaz

    The Finder

  • Developers
  • 13,402 posts
  • OS:none specified
  • Country: Country Flag

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...?...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...?...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...?...=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...?...ic=3717&hl=

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

jaclaz

#113
kof94

kof94

    Advanced Member

  • Members
  • PipPipPip
  • 433 posts
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.

Edited by kof94, 23 November 2009 - 05:28 PM.


#114
doveman

doveman

    Advanced Member

  • Members
  • PipPipPip
  • 336 posts

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
jaclaz

jaclaz

    The Finder

  • Developers
  • 13,402 posts
  • OS:none specified
  • Country: Country Flag

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.ozema...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
cdob

cdob

    Friend of MSFN

  • Members
  • PipPipPipPipPip
  • 951 posts

tested install on my desktop with and without card reader.

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

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.

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.

I think this reboot was caused by the for loop in presetup.cmd

I doubt this.
This principal loop is used since several years.

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

Most likely there exist a c: drive then.

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
kof94

kof94

    Advanced Member

  • Members
  • PipPipPip
  • 433 posts
@cdob

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

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

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.

Can you attach the presetup.log file?

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

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.

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

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

No jokes. Thanks for the advice though.

#118
jaclaz

jaclaz

    The Finder

  • Developers
  • 13,402 posts
  • OS:none specified
  • Country: Country Flag

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
cdob

cdob

    Friend of MSFN

  • Members
  • PipPipPipPipPip
  • 951 posts

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
kof94

kof94

    Advanced Member

  • Members
  • PipPipPip
  • 433 posts
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
)

Edited by kof94, 26 November 2009 - 02:26 PM.


#121
bluenix

bluenix
  • Members
  • 6 posts
Good day to all... :)

I'm a newbie here at the forums and I'm searching for a convenient way to make a multiboot USB drive containing XP as one of the setup. I stumbled across this method and I was interested to try it out for myself. I followed all of the said directions in making one. I used the program, WinImage, to extract, edit, and inject the files [setupORG.exe & ISOimage.ini] back again to the .ima file. My XP_INST.IMA and my XPSP3.ISO are all on the root folder. I have 2 NTFS partitions on my Western Digital 250GB USB-HDD which has 48GB [Active] & the rest.

When I try to boot up the USB-HDD, this message shows up and it stays the same for a long time with a blinking cursor at the end of the message:

Booting Windows XP Pro SP3 Setup

XPSP3.iso FAT12 BPB found with 0xEB (jmp) leading the boot sector.

probed C/H/S = 80/2/18, probed total sectors = 2880

floppies_orig=0, harddrives_orig=3, floppies_curr=1, harddrives_curr=3



My menu.lst

title Windows XP Pro SP3 Setup 
ls /XPSP3.ISO || find --set-root /XPSP3.ISO
map --mem /XP_INST.IMA (fd0)
#(fd1) optional, required at some BIOS
#map --mem /XP_INST.IMA (fd1)
map --mem /XPSP3.ISO (0xff)
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
chainloader (0xff)/I386/SETUPLDR.BIN


So my question is: Why does it takes so long to make something happen? Is it already loading the ISO file in to the memory? I have a XP SP3 iso image with a size of 450MB which is also an nLite'd version.


Thank you for the time and effort on reading my questions. Hoping to hear from the support group. :)

#122
ilko_t

ilko_t

    MSFN Addict

  • Super Moderator
  • 1,687 posts
  • OS:none specified
  • Country: Country Flag
It might take long, on motherboards which boot USB on 1.1 or lower speed. In other words you may need to wait like 10-15 minutes.

You may try first booting Plop and then warm booting USB again, in order to get 2.0 speed:
http://www.boot-land...?showtopic=8605

Mind you, it's picky ;)

#123
bluenix

bluenix
  • Members
  • 6 posts
Good day to you ilko_t... :)

Thank you for taking the time and effort on replying to my queries. :)

It might take long, on motherboards which boot USB on 1.1 or lower speed. In other words you may need to wait like 10-15 minutes.

That came to me as a suprise. I really thought that even if your motherboard supports USB 2.0 connection speeds doesn't mean it automatically activates on that manner. Hmmm... Something to ponder on... Thanks for the heads up...

You may try first booting Plop and then warm booting USB again, in order to get 2.0 speed:
http://www.boot-land...?showtopic=8605

Mind you, it's picky :)

Thanks for pointing me on that direction. I have heard and seen PLoP on different forums lately, but I really don't know how does it work and what it is used for. I have lately read all of the 6 posts on that thread, and I must say that it is something noteworthy of to test, experiment, and add it as one my toolkit on my USB-HDD arsenals.


So going back to my previous post, is it safe to assume that based on your answer, the above DOS message that appears on my screen after I have initialized the RAM loading method of cdob, is that I have correctly followed all of the directions down to the last details and it REALLY WORKS, but the end result is just it takes time to load the whole ISO file in to the RAM.

Am I correct? If I try to use PLoP, then the loading time would be gradually improved right?

Another thing, is it ok if I have the XP_INST.IMA file on an active NTFS partition like I have mentioned earlier? Correct me if I'm wrong but I think that floppy images would be booted and running correctly on a FAT32 partition rather on a NTFS one? Does having the IMA file on a NTFS file have an effect on the overall process of the procedure or is it also okay if it would be left there as if it is the same either on a FAT32 one? I am contemplating on this one 'coz I don't know if my approach would be having a USB-HDD with 2 partitions, a FAT32 & NTFS, or just having a 2 partitions with the same format type, say a NTFS one? What do you think?


Thank you for your time and effort for reading and replying on my previous post. Hoping to hear from you or from the rest of the support group. :)


P.S.: Can I suggest a name for cdob's project? How about FiraXP? How does it sounds? :)

#124
jaclaz

jaclaz

    The Finder

  • Developers
  • 13,402 posts
  • OS:none specified
  • Country: Country Flag

Another thing, is it ok if I have the XP_INST.IMA file on an active NTFS partition like I have mentioned earlier? Correct me if I'm wrong but I think that floppy images would be booted and running correctly on a FAT32 partition rather on a NTFS one? Does having the IMA file on a NTFS file have an effect on the overall process of the procedure or is it also okay if it would be left there as if it is the same either on a FAT32 one? I am contemplating on this one 'coz I don't know if my approach would be having a USB-HDD with 2 partitions, a FAT32 & NTFS, or just having a 2 partitions with the same format type, say a NTFS one? What do you think?


We (and grub4dos ;)) are NOT racists against FAT32 or NTFS.

It's binary:
  • If grub4dos can access a filasystem=1
  • If grub4dos cannot=0

Right now grub4dos supports:
  • FAT12
  • FAT16
  • FAT32
  • NTFS
  • EXT2FS/EXT3FS
+ of course CDFS

jaclaz

Edited by jaclaz, 06 December 2009 - 11:00 AM.


#125
bluenix

bluenix
  • Members
  • 6 posts
Good day to you jaclaz... :)

Thank you for having the time on commenting to my post...

We (and grub4dos ;)) are NOT racists against FAT32 or NTFS.

I'm sorry if you have misunderstood me but please bear with me as it is really somewhat hard to digest all of this multiboot thingy here. I'm just really trying first to teach myself here some of the crash course basics of it and doing all of this one step at a time as I don't want to overload myself with so much information at hand. I hope you get the idea. :)

It's binary:

  • If grub4dos can access a filasystem=1
  • If grub4dos cannot=0

Right now grub4dos supports:
  • FAT12
  • FAT16
  • FAT32
  • NTFS
  • EXT2FS/EXT3FS

+ of course CDFS

Thanks for the added information.

Going back to my previous post, can anybody clarify if my above statement is true? I already have the idea how to work on the partitioning and the format type of my USB-HDD.

Thank you for the time and effort on answering my queries. Looking forward to all of your generous replies. :)




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users



How to remove advertisement from MSFN