Jump to content

Install XP from a RAM loaded ISO image


cdob

Recommended Posts

Cdob's boot-the-loop is an alternative to mapping counted sectors, if you can write the sizes into the cd at build time:

Thanks for the reminder. That way menu.lst dosn't have to contain sector numbers.

Not integrated yet. Need some time to settle current features, maybe next year.

@demontager

Don't use addional mapping. Try

title Load PLoP boot manager - USB
find --set-root /boot/plpbt.bin
kernel /boot/plpbt.bin

In addition you may configure PLoP plpbt.bin http://www.plop.at/en/bootmanager.html#plpcfgbt

plpcfgbt stm=hidden cnt=on cntval=1 dbt=usb plpbt.bin

@kDn

Thanks for VMSCSI report, fixed.

@TigerWhite

Sorry no further idea, don't use I VirtualBox. fd0 and fd1 seems a good work arround.

Link to comment
Share on other sites


Successful tested for Install of XP-SP3 on real hardware (including internal multi-cardreader) :thumbup

Did not use USB-stick.

AFTER format of Harddisk install partition, I installed grub4dos as boot option in boot.ini menu using BOOT_IMG.exe

Then copied folder Inst with XP_INST.IMA and XP_RAM.ISO to Harddisk.

Made entry in menu.lst without the mapping for USB-stick

title Loading XP RAM install - /Inst/XP_RAM.ISO
ls /Inst/XP_RAM.ISO || find --set-root /Inst/XP_RAM.ISO
map --mem /Inst/XP_INST.IMA (fd0)
map --mem /Inst/XP_INST.IMA (fd1)
map --mem /Inst/XP_RAM.ISO (0xFF)
# map (hd0) (hd1)
# map (hd1) (hd0)
map --hook
chainloader (0xFF)/I386/SETUPLDR.BIN

I tried this and didn't have much luck. I don't use boot.ini, so I just added those lines to my existing menu.lst. My ISO is slightly tweaked with nLite, with the XUpdatePack-SP3, a few individual drivers and some program addons.

The first line "ls || find" didn't seem to work and I had to manually enter root (hd0,0) for the rest of it to be able to find the files.

After mapping XP_RAM.ISO I got:

Autodetect number of heads failed: Use default value 255

Autodetect sectors per track failed: Use default value 63

but perhaps that doesn't matter.

After

map --hook

chainloader (0xFF)/I386/SETUPLDR.BIN

I got

Error 19: Cannot mount selected partition

and that was the end of that!

Link to comment
Share on other sites

I just added those lines to my existing menu.lst.

Which menu.lst sections does work at existing menu.lst? Do you use find already?

Which boot configuration do you use?

Do you boot from USB? Do you boot from internal hard disk?

How do you start grub4dos?

Which directory and files did you add?

Which hardware: motherboard and BIOS do you use?

chainloader (0xFF)/I386/SETUPLDR.BIN

I got

Error 19: Cannot mount selected partition

Which grub4dos do you use? Try a current version http://nufans.net/grub4dos/

How do you build the ISO image?

In addition: /I386/SETUPLDR.BIN is case sensitive. Does exist a file \I386\SETUPLDR.BIN ?

Link to comment
Share on other sites

Hi

Which menu.lst sections does work at existing menu.lst? Do you use find already?

Which boot configuration do you use?

Do you boot from USB? Do you boot from internal hard disk?

How do you start grub4dos?

I have grub installed on my HD MBR and the menu.lst on (hd0,0), which is normally just used to allow me to dual-boot between two different XPs.

I don't normally use find and just boot from internal HD.

Which directory and files did you add?

I expanded setup.exe from my nLited I386 folder to setupORG.exe and put that in the IMA. Then I made a folder Inst on my (hd0,0) and put the IMA and ISO in there.

Which hardware: motherboard and BIOS do you use?

Motherboard is Gigabyte GA-8I848PM. BIOS F5

How do you build the ISO image?

With nLite.

In addition: /I386/SETUPLDR.BIN is case sensitive. Does exist a file \I386\SETUPLDR.BIN ?

Yes

I'll try a newer grub4dos and see if that helps. Shows v0.9.7 at the moment

Link to comment
Share on other sites

OK. I replaced grldr with 0.4.4 dated 20-06-09 and it does work better now, although the XP setup only shows "Setup is checking your hardware config" at the top of the screen before going to a blank screen and giving up.

Actually, trying to install from CD/DVD doesn't work any better but I put that down to a dodgy drive/IDE port. The only way I've got to work so far is from a USB stick using USB_MultiBoot_10 (using the same files as I burnt to DVD and used to make XP_RAM.iso).

Link to comment
Share on other sites

Boot different XP ISO images from one USB stick or hard disk.

Edit txtsetup.oem, uncomment the line

dll = setup, ISOimage.txt

There are two approaches:

One add different XP ISO files but one floppy image

Example:

/Inst/XP_PRO.ISO and /Inst/XP_HOME.ISO

title Loading XP PRO install - write /Inst/XP_PRO.ISO
ls /Inst/XP_PRO.ISO || find --set-root /Inst/XP_PRO.ISO
map --mem /Inst/XP_INST.IMA (fd0)
#optional, (fd1) required at some BIOS
#map --mem /Inst/XP_INST.IMA (fd1)
map --mem /Inst/XP_PRO.ISO (0xFF)
map --hook
write --offset=0 (fd0)/setup/ISOimage.ini \\Inst\\XP_PRO.ISO\n;\n;\n;
chainloader (0xFF)/I386/SETUPLDR.BIN

title Loading XP HOME install - write /Inst/XP_HOME.ISO
ls /Inst/XP_HOME.ISO || find --set-root /Inst/XP_HOME.ISO
map --mem /Inst/XP_INST.IMA (fd0)
#optional, (fd1) required at some BIOS
#map --mem /Inst/XP_INST.IMA (fd1)
map --mem /Inst/XP_HOME.ISO (0xFF)
map --hook
write --offset=0 (fd0)/setup/ISOimage.ini \\Inst\\XP_HOME.ISO\n;\n;\n;
chainloader (0xFF)/I386/SETUPLDR.BIN

Or use a multi boot ISO Image, that's one ISO file, one floppy image

To create a ISO Image compare Multi-Boot CD/DVDs http://www.msfn.org/board/index.php?showforum=82

title Loading XP PRO install - write /Inst/XP_RAM.ISO
ls /Inst/XP_RAM.ISO || find --set-root /Inst/XP_RAM.ISO
map --mem /Inst/XP_INST.IMA (fd0)
#optional, (fd1) required at some BIOS
#map --mem /Inst/XP_INST.IMA (fd1)
map --mem /Inst/XP_RAM.ISO (0xFF)
map --hook
write --offset=0 (fd0)/setup/ISOimage.ini \\Inst\\XP_RAM.ISO\n;\n;\n;
chainloader (0xFF)/XPPR/SETUPLDR.BIN

title Loading XP HOME install - write /Inst/XP_RAM.ISO
ls /Inst/XP_RAM.ISO || find --set-root /Inst/XP_RAM.ISO
map --mem /Inst/XP_INST.IMA (fd0)
#optional, (fd1) required at some BIOS
#map --mem /Inst/XP_INST.IMA (fd1)
map --mem /Inst/XP_RAM.ISO (0xFF)
map --hook
write --offset=0 (fd0)/setup/ISOimage.ini \\Inst\\XP_RAM.ISO\n;\n;\n;
chainloader (0xFF)/XPHM/SETUPLDR.BIN

I replaced grldr with 0.4.4 dated 20-06-09 and it does work better now
Yes, grub4dos support ISO files, ancient grub dosn't do this.
the XP setup only shows "Setup is checking your hardware config" at the top of the screen before going to a blank screen and giving up.

a dodgy drive/IDE port.

Setup require stable hardware, this includes the ports.

A i848 support SATA ports too. Can you disable broken port at BIOS?

Link to comment
Share on other sites

Setup require stable hardware, this includes the ports.

A i848 support SATA ports too. Can you disable broken port at BIOS?

I've got one SATA HD and one IDE DVD drive.

After extensive testing I've found the following:

XP setup (whether on CD, HD or USB) get's stuck at the "Setup is detecting your hardware configuration" unless I disable my SATA HD. If I disable it, it works fine (but of course then I've got nothing to install XP on!)

My USB keyboard doesn't work in XP setup or in grub4dos 0.4.4 booted from USB stick. It does work in grub4dos 0.4.4 booted from HD. USB Keyboard support is enabled in BIOS. I tried all 4 ports on the backplate. Also, booting grub4dos from USB stick requires me to send a break at the grub4dos menu by pressing the power button momentarily, as it won't even respond to the PS/2 keyboard otherwise. This is not necessary when booting grub4dos from HD.

So basically, my motherboard sucks!

XP_RAM.ISO still won't work from SATA HD even with the IDE DVD drive disabled. It does work from USB stick with SATA HD disabled (but takes too long to load even a cut-down 170MB SP2). The only XP setup that's worked with the SATA drive enabled is the USB_Multiboot_10 created one on the USB stick, so I'm wondering what's different about this that allows it to work.

Link to comment
Share on other sites

Need to correct some lines to more right work:

http://www.msfn.org/board/index.php?s=&amp...st&p=881387

And activate this file, uncomment the line

dll = setup, ISOimage.txt

need to read:

And activate this file, uncomment the line

dll = setup, ISOimage.ini

In XP_INSTF.IMA\SETUP\ISOimage.ini change strings:

;directory and name of ISO image to mount
\Inst\XP_RAM.ISO

to

\Inst\XP_RAM.ISO
;directory and name of ISO image to mount

becouse menu entry like

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

give something like:

\Test\XP_123.ISO
;
;
;of ISO image to mount
\Inst\XP_RAM.ISO

and wrong work setup.cmd script...

Link to comment
Share on other sites

I'm having trouble getting a multiboot iso to work.

I have created a multiboot ISO with XPPC and XOHO. which represent XP Pro Corp with DriverPacks and XP Home OEM without DriverPacks.

Neither of them seem to be working.

I get to the point where it mounts the ISO which seems like it is successful because it takes about a minute to do it.

but then the computer just restarts and never goes into txtmode setup. :(

Here is what I have done:

I placed the floppy image on the USB stick: \Inst\XP_INST.IMA

I placed my ISO here on the USB Stick: \Inst\XP_RAM.iso

I uncommented this in the txtsetup.oem inside of \Inst\XP_INST.IMA:

dll = setup, ISOimage.ini

Here is my menu.lst:

title Windows XP Multiboot ISO Setup
root (hd0,0)
configfile /XP_RAM.lst
savedefault

And here is my XP_RAM.lst:

title XP PRO install - write /Inst/XP_RAM.ISO
ls /Inst/XP_RAM.ISO || find --set-root /Inst/XP_RAM.ISO
map --mem /Inst/XP_INST.IMA (fd0)
#optional, (fd1) required at some BIOS
#map --mem /Inst/XP_INST.IMA (fd1)
map --mem /Inst/XP_RAM.ISO (0xFF)
map --hook
write --offset=0 (fd0)/setup/ISOimage.ini \\Inst\\XP_RAM.ISO\n;\n;\n;
chainloader (0xFF)/XPPC/SETUPLDR.BIN

title XP HOME install - write /Inst/XP_RAM.ISO
ls /Inst/XP_RAM.ISO || find --set-root /Inst/XP_RAM.ISO
map --mem /Inst/XP_INST.IMA (fd0)
#optional, (fd1) required at some BIOS
#map --mem /Inst/XP_INST.IMA (fd1)
map --mem /Inst/XP_RAM.ISO (0xFF)
map --hook
write --offset=0 (fd0)/setup/ISOimage.ini \\Inst\\XP_RAM.ISO\n;\n;\n;
chainloader (0xFF)/XOHO/SETUPLDR.BIN

The ISO itself is only 680 MB.

Any ideas?

Edit:

Further info... I created the multiboot structure using Windows XP PowerPacker. Which isn't much different in how it creates a multiboot disk then unattended.msfn.org

Edited by Siginet
Link to comment
Share on other sites

Another bugfix needed in file mkISO_RAMload_sort.cmd :

...

echo ./WIN* 9978

echo ./win* 9978

echo ./BOOTFONT.BI? 9978

echo ./%boot_x64%/* 1100

...

Bold - line to insert

FOR %%a in (WIN* bootfont.bi?) do (call :sort_boot %%a)

change to:

rem FOR %%a in (WIN* bootfont.bi?) do (call :sort_boot %%a)

or remove, becouse that line not useful and provide wrong sorting like that:

.//WIN51 9899

.//WIN51IP 9898

.//WIN51IP.SP3 9897

.//BOOTFONT.BIN 9896

Edited by kDn
Link to comment
Share on other sites

but then the computer just restarts

This indicates: setupdlr.bin dosn't find ntdetect.com.

using Windows XP PowerPacker

Which bootloader do you use by default? Can you try grub4dos?

Do you hexedit setupldr.bin? i386 --> XPPC

I wonder, does some configurations require root (0xFF) ?

Try

root (0xFF)
chainloader (0xFF)/XPPC/SETUPLDR.BIN

Try the CD image bootloader too

chainloader (0xFF)

@kDn

Thanks for ISOimage.ini corrections. Yes, change this settings.

Correct or false sorting is confusing.

The sort file is one part only. The builded ISO image is importand.

Mentioned function :mk_sort_list_static is not used anymore. This is a reference from last year.

I'll check .//BOOTFONT.BIN again, as far as I remember // is replaced by / internally.

Link to comment
Share on other sites

cdob

Mentioned function :mk_sort_list_static is not used anymore. This is a reference from last year.

I see that, but I say about :mk_sort_list_dynamic function. With original script generated file sort.txt like that:

...

./WIN* 9978

./win* 9978

...

.//WIN51 9899

.//WIN51IP 9898

.//WIN51IP.SP3 9897

.//BOOTFONT.BIN 9896

...

files WIN51, WIN51IP, WIN51IP.SP3 sorted correct becouse have line ./WIN* 9978, but BOOTFONT.BIN not correct and have too hight LBA in ISO. Check this, please.

FYI: I using mkisofs 2.01.01a65 (i686-pc-cygwin) Copyright © 1993-1997 Eric Youngdale © 1997-2009 Jцrg Schilling.

Link to comment
Share on other sites

but then the computer just restarts

This indicates: setupdlr.bin dosn't find ntdetect.com.

using Windows XP PowerPacker

Which bootloader do you use by default? Can you try grub4dos?

Do you hexedit setupldr.bin? i386 --> XPPC

I wonder, does some configurations require root (0xFF) ?

Try

root (0xFF)
chainloader (0xFF)/XPPC/SETUPLDR.BIN

Try the CD image bootloader too

chainloader (0xFF)

It works when I create a cd/dvd. If I remember correctly powerpacker uses bcdw for the boot menu. It references SETUPLDR.BIN files to launch each os.

The only main difference with powerpacker and the normal method is powerpacker has no need for the XPPC.BIN files on the root of the disk. It launches directly from the setupldr.bin files. Just like grub4dos is. So I can't figure out what may be going wrong. I tried my old SP2 disk and it works fine. But whenever I try a powerpack disk it doesn't. :(

Could someone else verify if they have the same prob with powerpacker? If it is a bug in powerpacker then I can fix it.

Edited by jaclaz
Link to comment
Share on other sites

It works when I create a cd/dvd. If I remember correctly powerpacker uses bcdw for the boot menu. It references SETUPLDR.BIN files to launch each os.

The only main difference with powerpacker and the normal method is powerpacker has no need for the XPPC.BIN files on the root of the disk. It launches directly from the setupldr.bin files. Just like grub4dos is. So I can't figure out what may be going wrong. I tried my old SP2 disk and it works fine. But whenever I try a powerpack disk it doesn't. :(

Could someone else verify if they have the same prob with powerpacker? If it is a bug in powerpacker then I can fix it.

You joking right? :unsure:

BCDW fixes hardcoded paths in setupldr.bin on-the-fly.

You need to hexedit SETUPLDR.BIN yourself, unless you use \i386 (CD/ISO) or /minint (HD).

jaclaz

Edited by jaclaz
Link to comment
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.
×
×
  • Create New...