cdob

Install XP from a RAM loaded ISO image

312 posts in this topic

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. :)

0

Share this post


Link to post
Share on other sites

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.net/forums/index.php?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? :)

0

Share this post


Link to post
Share on other sites
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
0

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Yep :), but sometimes you simply need to do some experiments yourself. :ph34r:

You simply cannot beat the experience you get in trying things (and failing, and correcting the error and finally succeeding):

Life is "trying things to see if they work"

Since there are no problems with multiple partitions on USB devices seen as fixed (please read as USB HDD), you can do whatever you prefer. B)

I still advice everyone to have a small FAT16 (or FAT32, it's the same nowadays) first Active Primary (boot) partition and put all the rest in Logical Volumes inside extended, but this is my (and Gilles Vollant's :thumbup ) proven working way for the most failsafe settings, not necessarily the "right" one.

jaclaz

0

Share this post


Link to post
Share on other sites

Good day to all... :)

Since there are no problems with multiple partitions on USB devices seen as fixed (please read as USB HDD), you can do whatever you prefer.

I still advice everyone to have a small FAT16 (or FAT32, it's the same nowadays) first Active Primary (boot) partition and put all the rest in Logical Volumes inside extended, but this is my (and Gilles Vollant's ) proven working way for the most failsafe settings, not necessarily the "right" one.

Thanks jaclaz for your tips and insights.

I can now really confirm that the method of cdob's "Loading XP ISO to RAM" is 90% working, especially with the help of the PLoP Boot Manager [Thanks to ilko_t :)], which made it more efficient.

The other 10%, I must say, has yet to be resolved on my part. During the end of the Text-Mode Setup and the PC starts to reboot, I get this windows prompt box which states:

The file 'asms' on Windows XP Professional Service Pack 3 is needed

Type the path where the file is located, and then click OK

Copy files from:

GLOBALROOT\DEVICE\CDROM0\I386

I don't know if this error occurs because of the ISO file, or is it because all the necessary files have not been copied during the Text-Mode Setup process.

A quick search on Google pointed me to a Microsoft Support site and it states there that "the Setup program cannot communicate with the CD-ROM drive."

How can I resolve this? Is it suppose to be the ISO file is loaded on the RAM and all of the necessary files are copied during the Text-Mode Setup?

Thank you for the time and effort on reading my queries. Hoping to hear from the support group. Have a nice day. :)

Edited by bluenix
0

Share this post


Link to post
Share on other sites

I also forgot to mention my current menu.lst settings:

title Windows XP Pro SP3 Setup 
root (hd0,0)
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)
map (hd0) ()
map --hook
chainloader (0xff)/I386/SETUPLDR.BIN

As you will notice, the mapping procedure deviates from the original settings given by cdob 'coz it returns an error number stating that, "The file cannot be found."

I think this is where the problem stem from but I'm not that pretty sure. Just correct me if I have done something wrong or I missed a couple of points here.

Thanks. :)

0

Share this post


Link to post
Share on other sites
As you will notice, the mapping procedure deviates from the original settings given by cdob 'coz it returns an error number stating that, "The file cannot be found."

I think this is where the problem stem from but I'm not that pretty sure. Just correct me if I have done something wrong or I missed a couple of points here.

You missed point #1 ;).

When experimenting with grub4dos DO NOT use pre-made menu.lst entries (until you are sure the one you are working on gives no errors).

Go to Command Mode (press "c") and enter lines MANUALLY.

http://diddy.boot-land.net/grub4dos/files/cli.htm

http://diddy.boot-land.net/grub4dos/files/cli.htm

This way you will know WHAT (WHICH) command returns the Error, and will take a lot of guessing out of the process.

jaclaz

0

Share this post


Link to post
Share on other sites

Good day to you jaclaz... :)

I guess I really don't have a problem, as far as I know, with my current menu.lst.

title Windows XP Pro SP3 x86 Setup 
root (hd0,0)
map --mem /XP_INST.IMA (fd0)
map --mem /XP_INST.IMA (fd1)
map --mem /XPSP3.ISO (0xFF)
map (hd0) ()
map () (hd0)
map --hook
chainloader (0xFF)/I386/SETUPLDR.BIN

The mapping seems to be fine with my current settings as oppose to the one given by cdob which is:

map (hd0) (hd1)
map (hd1) (hd0)

If I use this one, it gives an error that the disk cannot be found.

My situation is the same given by kDn in this post:

I'm glad to keep the fixBoot.USB section, actually I might have deleted this part.

Now this is usefull at some conditions.

Do you have some examples? Which systems dosn't initialize USB properly.

When people testing yours method they feedback error in some cases when installing XP from USB-HDD or USB-Flash as HDD... First stage (txt-mode-setup) running absolutly correct, but after reboot they give error like: Needed file 'asms' on Windows XP Professional Service Pack 3 CD and after Shift+F10 and looking presetup.log we can see that USB device where placed XP_RAM.ISO not found...

Error feedback:

http://forum.ru-board.com/topic.cgi?forum=...p;start=1560#20

http://greenflash.su/forum/2-331-4647-16-1256148181

In which cdob replies saying:

@kDn

It's fun to read http://forum.ru-board.com/ with google translation.

I don't understand some translation parts.

I understand: a Asus A6Q00VM, Pentimum M call, I915 chipset does require fixBoot.USB.

I expect a USB boot nightmare (Dell Dimension 5150) would require this too.

fixBoot.USB. does require a addional reboot and is disabled by default therefore.

I may change fixBoot.USB settings at setup.cmd: detect missing USB drive

Understood finally, I'll add too: if exist c:%ISO_file_search% set reassign=true

Need some time. This includes mkISO_RAMload_sort.cmd, read below.

Maybe I'll just have to wait then for cdob to go back to work after his December vacation. In the meantime, I'll let this project 'hang-in' for a while until I can get a clear cut through to the solution.

Thanks for all of your wonderful support and a good job on this project. Happy holidays to everyone. :hello:

0

Share this post


Link to post
Share on other sites

Well, from my understanding, cdob menu.lst is logical and working, whilst your is "queer".

This should mean :ph34r: that cdob has "normal" hardware and setup and that you have a "queer" one. :whistle:

Let's see:

title Windows XP Pro SP3 x86 Setup

root (hd0,0) <- this is not needed, if you booted from (hd0,0) root will already be on (hd0,0)

map --mem /XP_INST.IMA (fd0) <- OK

map --mem /XP_INST.IMA (fd1) <- OK

map --mem /XPSP3.ISO (0xFF) <- OK

map (hd0) () <- I simply cannot understand this which should mean map (hd0) to (hd0,0) as () is "current root"

map () (hd0) <- I simply cannot understand this which shold mean map (hd0,0) to (hd0) as () is "current root"

map --hook

chainloader (0xFF)/I386/SETUPLDR.BIN <- OK though I personally would have also set root to (0xff)

About the error you were having, you reported once as "file is missing" and another time as "disk is missing", you must make up your mind, and as advised, issue the commands on command line and report WHICH command ouputs the error and the EXACT error, also maybe I missed it, but re-posting a description of your setup (hard disks involved, etc, etc.) may be useful to understand the problem.

In other words, the:

map (hd0) (hd1)

map (hd1) (hd0)

map --hook

exchanges first and second drive

map (hd0) ()

map () (hd0)

map --hook

should be is equivalent to:

map (hd0) (hd0,0) map (hd0) (hd0)

map (hd0,0) (hd0) map (hd0) (hd0)

map --hook

which seems to me, at the most, completely unneeded. :unsure:

jaclaz

Edited by jaclaz
0

Share this post


Link to post
Share on other sites

bluenix

Try:

title Windows XP Pro SP3 x86 Setup from root

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 /XPSP3.ISO (0xFE)

# if start from HDD-device, than remaping hd0<->hd1

checkrange 0x80 read 0x8280 && map (hd0) (hd1)

checkrange 0x80 read 0x8280 && map (hd1) (hd0)

map --hook

write --offset=0 (fd0)/setup/ISOimage.ini \\XPSP3.ISO\n;\n;\n;

map --unmap=0xFE

# uncomment line;setup, fixBoot.USB

write --offset=1782 (fd0)/TXTSETUP.OEM dll = setup, fixBoot.USB\r\n;

configfile (0xFE)/I386/RAMBOOT.LST

@jaclaz

map (hd0) ()

map () (hd0)

map --hook

is means:

map (hd0) (current_boot_device)

map (current_boot_device) (hd0)

map --hook

not root partition

correct exchange:

map (hd1) ()

map () (hd1)

map --hook

where () may be (fd0) or (hd0)

Edited by kDn
0

Share this post


Link to post
Share on other sites
@jaclaz

is means:

map (hd0) (current_boot_device)

map (current_boot_device) (hd0)

map --hook

not root partition

Yes, a "glitch in the matrix" :blushing: , sorry. :(

I confused "root partition" with "root device", but ;):

******************************************************************************

*** Notation For The Current Root Device ***

******************************************************************************

The notation `()' can be used to access the current root device.

You mistyped "current_boot_device" for "current_root_device" (in this case it makes no difference since boot and root device are the same).

Or is the README_GRUB4DOS.txt to be corrected? :unsure:

Correcting previous post.

jaclaz

Edited by jaclaz
0

Share this post


Link to post
Share on other sites

@jaclaz

Or is the README_GRUB4DOS.txt to be corrected?

This is very interesting question :). I think () may change own type corresponding context of command grub4dos.

Try this commands:

map () (hd1)
map --hook
cat --hex --length=512 (hd0)+1
cat --hex --length=512 (hd1)+1
cat --hex --length=512 (hd0,0)+1
cat --hex --length=512 (hd1,0)+1

ls ()/
root ()
geometry (), geometry (hd0), geometry (hd0,0)

And as I know grub4dos manual may be not correct sometimes... or do not have additional information about using commands.

I also read chines forums, ChangeLog_GRUB4DOS.txt (new syntax "map"-command coming soon, current on testing stage).

2009-11-11 let PXE_BUF use BUFFERADDR. cancelled (hd+) support. added (hd) and (hd-N) support.

http://nufans.net/grub4dos/tinybit/

Edited by kDn
0

Share this post


Link to post
Share on other sites

Well, AFAIK the "\tinybit\" repository is somehow a (temporary) "fork" from "main" to experiment some new things.

I wouldn't use it if not for experiments ONLY, as we don't know if it will be "merged back" to main.

This is very interesting question :) . I think () may change own type corresponding context of command grub4dos.

yes. :)

From what I can understand, the () is interpreted slightly differently by the various commands.

Of course geometry ONLY uses the actual device part, i.e. if on a multi-partitioned disk you run:

geometry (hd0,0)
geometry (hd0,1)
geometry (hd0,2)

you get exactly the same result, as you would have with both:

geometry (hd0)
geometry ()

if current root is ANY of the partitions on the disk.

In this case is the geometry command that "trims away" the unneded partition specification.

If you try this:

root (hd0)

you get an

error 17: cannot mount selected partition

If you try:

rootnoverify (hd0)
root ()

you get an

error 17: cannot mount selected partition

which is expected.

In this, the [TAB] autocompletion helps, if you boot from floppy and issue:

root (hd0

[TAB]

the autocompletion adds a comma "," and not the closing brackets, waiting for you to choose a partition on the drive.

On the other hand if you run:

root (hd0,0)
map () (hd1,0)
map --hook
cat --hex --length=512 (hd0)+1
cat --hex --length=512 (hd1)+1
cat --hex --length=512 (hd0,0)+1
cat --hex --length=512 (hd1,0)+1

you get the SAME results as:

root (hd0,0)
map () (hd1)
map --hook
cat --hex --length=512 (hd0)+1
cat --hex --length=512 (hd1)+1
cat --hex --length=512 (hd0,0)+1
cat --hex --length=512 (hd1,0)+1

which means that also map command "trims away" unneeded partition specification, thus, if root is (hd0,0), ANY of these:

map () (hd1)

map (hd0) (hd1)

map (hd0,0) (hd1)

map (hd0) (hd1,0)

map (hd0,0) (hd1,0)

map (hd0,m) (hd1,m)

map (hd0,m) (hd1,n)

actually mean:

map (hd0) (hd1)

jaclaz

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.