Jump to content

Install XP from a ISO file


cdob

Recommended Posts

This part can be removed from the menu.lst

floppy,vmem=find:/Inst/XP_INST.IMA ;\n\0

and just use this part

write (99) [FiraDisk]\nStartOptions=cdrom,vmem=find:/Inst/XP_RAM.ISO;\n\0

The Find Floppy is not needed due to memory or direct map of IMA

Link to comment
Share on other sites


did you face any error while testing server 2003 sp2 32bit using iso install method ?
A default 2003 SP2 32bit trial does install fine here.

Did you edited the ISO file? Which file size do you use?

" firadisk,sys not found , make sure cd is stil in cdrom and bla bla "
Which hardware and grub4dos version do you use?

Try fd0 only

map --mem /images/XP_INST.IMA (fd0)
#map --mem /images/XP_INST.IMA (fd1)

And about false hdN machines: can you name a example?

Which disks are connected?

Boot grub4dos, press c to command line.

Which fd and hd devices are listed?

Which device match USB drive?

Which device match internal hard disks?

Link to comment
Share on other sites

i use modded server 2003 ISO , it is actually DataCenter edition . size about 300 MB.

i will try with fd0 only.

and i use grub4dos 2012-12-30 . modded iso's of xp work fine on same hardware though.

i have an old branded DELL desktop . 1TB seagate + 80GB Samsung . booted with 8GB Kingsten . made bootable using fbinst.

Link to comment
Share on other sites

i use modded server 2003 ISO size about 300 MB.

That's havily modded. Try a vanilla 2003 image.

modded iso's of xp work fine on same hardware though.

I'm getting missing firadisk at XP size about 300 MB. It's size or nlited version?

Does your txtsetup.sif calls sfloppy.sys still?

i have an old branded DELL desktop .
Which Dell desktop do you use?
1TB seagate + 80GB Samsung . booted with 8GB Kingsten .

Which boot drive do you use by default?

Which XP/2003 target do you install to?

Edit menu.lst, replace two checkrange lines with

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

clear

echo existing hd:
echo
geometry (hd9) && echo
geometry (hd8) && echo
geometry (hd7) && echo
geometry (hd6) && echo
geometry (hd5) && echo
geometry (hd4) && echo
geometry (hd3) && echo
geometry (hd2) && echo
geometry (hd1) && echo
geometry (hd0) && echo

pause pause

clear
echo mapping hd

#calculate max HDD
set /a hdN=*0x475&0xff + 0x80 - 1
echo max HDD (%hdN%)

geometry (hd9) && map (hd9) (hd8) && echo map (hd9) (hd8) && echo
geometry (hd8) && map (hd8) (hd7) && echo map (hd8) (hd7) && echo
geometry (hd7) && map (hd7) (hd6) && echo map (hd7) (hd6) && echo
geometry (hd6) && map (hd6) (hd5) && echo map (hd6) (hd5) && echo
geometry (hd5) && map (hd5) (hd4) && echo map (hd5) (hd4) && echo
geometry (hd4) && map (hd4) (hd3) && echo map (hd4) (hd3) && echo
geometry (hd3) && map (hd3) (hd2) && echo map (hd3) (hd2) && echo
geometry (hd2) && map (hd2) (hd1) && echo map (hd2) (hd1) && echo
geometry (hd1) && map (hd1) (hd0) && echo map (hd1) (hd0) && echo
geometry (hd0) && map (hd0) (%hdN%) && echo map (hd0) (%hdN%) && echo

map --hook

pause pause

clear
echo mapped hd
echo
geometry (hd9) && echo
geometry (hd8) && echo
geometry (hd7) && echo
geometry (hd6) && echo
geometry (hd5) && echo
geometry (hd4) && echo
geometry (hd3) && echo
geometry (hd2) && echo
geometry (hd1) && echo
geometry (hd0) && echo

pause pause

Post the output messages.

Does boot.ini work now?

Link to comment
Share on other sites

geometry (hd9) && map (hd9) (hd8) && echo map (hd9) (hd8) && echo

geometry (hd8) && map (hd8) (hd7) && echo map (hd8) (hd7) && echo

geometry (hd7) && map (hd7) (hd6) && echo map (hd7) (hd6) && echo

geometry (hd6) && map (hd6) (hd5) && echo map (hd6) (hd5) && echo

geometry (hd5) && map (hd5) (hd4) && echo map (hd5) (hd4) && echo

geometry (hd4) && map (hd4) (hd3) && echo map (hd4) (hd3) && echo

geometry (hd3) && map (hd3) (hd2) && echo map (hd3) (hd2) && echo

geometry (hd2) && map (hd2) (hd1) && echo map (hd2) (hd1) && echo

geometry (hd1) && map (hd1) (hd0) && echo map (hd1) (hd0) && echo

geometry (hd0) && map (hd0) (%hdN%) && echo map (hd0) (%hdN%) && echo

Can this be used in the everyday menu.lst to map the HD for more than one HD or is this for test purposes?

Link to comment
Share on other sites

try this floppy image of friadisk

It's by chenall? http://chenall.net/post/ntboot/

That's a direct approach to boot once from USB.

The firadisk registry entry is added to txtsetup.oem

There are # added to txtsetup.oem

[Config.FiraDisk]

###############################################################################################################################################################

title Setup Windows from ISO
set XPISO=XP.ISO
set fira.opt=cdrom,vmem=find:/images/%XPISO%;
map /images/%XPISO% (222)
map --mem /images/firadisk.IMG (fd0)
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
#chenall's ntboot http://chenall.net/post/ntboot/
cat --locate=###### --number=1 (fd0)/TXTSETUP.OEM > nul || call :error firadisk.img file error..
set offset=%?%
write --offset=%offset% (fd0)/TXTSETUP.OEM value=Parameters,StartOptions,REG_SZ,"%fira.opt%"\r\n
cat --skip=%offset% --locate=/ --replace=\\ (fd0)/TXTSETUP.OEM
chainloader (222)/I386/SETUPLDR.BIN

This works at USB boot friendly BIOS, almost all cases nowadays.

study batch file included and inf file too.
That's a nice approach. However redistribution of certain files is unclear.

Do you have a idea:

how does chinese friends solve hard disk mapping?

is this for test purposes
Yes, for test purposes so far. Try and report 20 real world examples.

Edited: %ISO_TYPE%/ removed

Edited by cdob
Link to comment
Share on other sites

Yes, for test purposes so far. Try and report 20 real world examples.

Will do

title Setup Windows from ISO

set XPISO=XP.ISO

someone stole my variable. I have a patten on that variable! :realmad: JK :lol:

What exactly does this do or mean?

[Config.FiraDisk]

####################################################################################################

%ISO_TYPE%

where is this variable set in the above menu.lst?

Edited by laddanator
Link to comment
Share on other sites

I just downloaded the NTBOOT_DPMS.iso from

extracted the firadisk.img and use a modded menu.lst from the one cdob posted

title Setup Windows from ISO
set XPISO=XP.ISO
set fira.opt=cdrom,vmem=find:/images/%XPISO%;
map /images/%XPISO% (222)
map --mem /images/firadisk.IMG (fd0)
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
#chenall's ntboot http://chenall.net/post/ntboot/
cat --locate=###### --number=1 (fd0)/TXTSETUP.OEM > nul || call :error firadisk.img file error..
set offset=%?%
write --offset=%offset% (fd0)/TXTSETUP.OEM value=Parameters,StartOptions,REG_SZ,"%fira.opt%"\r\n
cat --skip=%offset% --locate=/ --replace=\\ (fd0)/%ISO_TYPE%/TXTSETUP.OEM
chainloader (222)/I386/SETUPLDR.BIN

And made changes. My menu.lst

#PRO SP3 ISO
iftitle [find --set-root --devices=h /laddsbootusb.tag && call set USBRoot=%@root^%] XP PRO SP3 Install From ISO From %USBRoot%\nDec 11 With Most Drivers\nThis Is A Little Slower Method
password --md5 $1$A$hzYlFap3SLNNQ/tA7c3.S.
find --set-root --ignore-cd --devices=h /laddsbootusb.tag
clear
set /p /u Answer=ARE YOU SURE YOU WANT TO INSTALL XP PRO SP3...Y or N :
if /i "%Answer%"=="n" echo Back To Main Menu! && configfile %USBRoot%/Menu/xpiso.lst
set XPISO=PRO.ISO
set Map=%USBRoot%/BOOTWS/FULLISO
set fira.opt=cdrom,vmem=find:/XP/ISO/%XPISO%;
if not exist %USBRoot%/XP/ISO/%XPISO% echo Can Not Find XP %XPISO%. Please Contact Superman && pause --wait=10 Going Back To Main Menu && configfile %USBRoot%/menu.lst
clear
map --unmap=0:0xff
map --unhook
checkrange 8 calc *0x475 & 0xFF && configfile %Map%/8.lst
checkrange 7 calc *0x475 & 0xFF && configfile %Map%/7.lst
checkrange 6 calc *0x475 & 0xFF && configfile %Map%/6.lst
checkrange 5 calc *0x475 & 0xFF && configfile %Map%/5.lst
checkrange 4 calc *0x475 & 0xFF && configfile %Map%/4.lst
checkrange 3 calc *0x475 & 0xFF && configfile %Map%/3.lst
checkrange 2 calc *0x475 & 0xFF && configfile %Map%/2.lst
boot

And I used my Asus with 3 internal drives so my BOOTWS/FULLISO/4.LST

set List4=4.lst
map %USBRoot%/XP/ISO/%XPISO% (222)
map --mem %USBRoot%/XP/Floppy/firadisk.img (fd0)
map --mem %USBRoot%/XP/Floppy/firadisk.img (fd1)
map --e820cycles=3 || map --e820cycles=0
clear
checkrange 0x80 read 0x8280 && map (hd0) (hd3)
checkrange 0x80 read 0x8280 && map (hd1) (hd0)
checkrange 0x80 read 0x8280 && map (hd2) (hd1)
checkrange 0x80 read 0x8280 && map (hd3) (hd2)
map --hook
clear
cat --locate=###### --number=1 (fd0)/TXTSETUP.OEM > nul || call :error firadisk.img file error..
cat --locate=###### --number=1 (fd1)/TXTSETUP.OEM > nul || call :error firadisk.img file error..
set offset=%?%
write --offset=%offset% (fd0)/TXTSETUP.OEM value=Parameters,StartOptions,REG_SZ,"%fira.opt%"\r\n
cat --skip=%offset% --locate=/ --replace=\\ (fd0)/%ISO_TYPE%/TXTSETUP.OEM
write --offset=%offset% (fd1)/TXTSETUP.OEM value=Parameters,StartOptions,REG_SZ,"%fira.opt%"\r\n
cat --skip=%offset% --locate=/ --replace=\\ (fd1)/%ISO_TYPE%/TXTSETUP.OEM
echo %List4%
echo %XPISO%
echo %fira.opt%
pause --wait=10 Making Sure Paths Exist...Hit Enter Key At AnyTime
chainloader (222)/I386/SETUPLDR.BIN

And I just installed PRO and MCE with one boot to USB and did not use the XP_INST_v05.7z . Same mods in the ISO...updates and DriverPacks(No USB Drivers)

I deleted the firadisk.cmd (this allows you to keep firadisk after install or delete) from the img and the setting to copy the firadisk.cmd from the txtsetup.oem and added the delete commands from the firadisk.cmd to me runone program installer .cmd

if not exist %WinDir%\system32\drivers\firadisk.sys goto Barn

;set /p del=ÊÇ·ñɾ³ýFiradiskÇý¶¯?(Y/N)y
;if /i not "%del%"=="y" goto :next
;devcon remove *\firadisk
;del %WinDir%\system32\drivers\firadi*.sys
>>%~f0 echo [-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Firadisk]
>>%~f0 echo [-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FiraDisk]
>>%~f0 echo [-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\FIRADISK]
;pause
;goto Barn

Edited by laddanator
Link to comment
Share on other sites

In order to shift hard disk positions this unfinished batch could be a start base for a solution. I've been testing and using it last few weeks and it surprisingly seems to work somehow. Now with batch scripting support in grub4dos it's way easier than before.

It might need some cleaning up.

Reason behind detecting 5 or more internal disks was hinted by Tinybit here:

http://reboot.pro/12449/page__view__findpost__p__108897

grub4dos has currently 8 map slots, unless something changed in the last versions- I used max. 5 slots for hd shift, so reserved are 2 for floppies and 1 for mapped ISO.

shifthd.zip

Link to comment
Share on other sites

Edited: %ISO_TYPE%/ removed

Cool. I was going to remove it an test. I kinda figured it wasn't need but I didn't want to stray of the path til I made sure it worked without editing.

Now I did hit one small thing on my Asus M4A88TD-M/USB machine, I loaded MCE with slipstreamed updates and all DriverPacks (not in ISO, on root of USB drive and they get copied to HD right before GUI starts) and when the computer booted up the first time before I removed the firadisk.cmd which ask do you want to delete firadisk and I typed 'n' and the computer blue screened with a firadisk driver error, so I rebooted and all was fine. On the next test when I was ask to delete, I typed 'y' this time and the computer did not blue screen. I will have to list the specifics on the actual drivers loaded later.

Link to comment
Share on other sites

In order to shift hard disk positions this unfinished batch could be a start base for a solution.
Thanks, that's a wonderful soltution. I like this.

What about using file name %~pnx0 as tag file

echo Locating %~pnx0
find --set-root --devices=fh %~pnx0

A menu.lst

title Setup Windows XP from ISO : \nBoot once from USB
set myISO=/images/XP_PRO_HP_OEM.iso
#ilko_t http://www.msfn.org/board/topic/149675-install-xp-from-a-iso-file/page__view__findpost__p__988093
/boot/shifthd.bat
find --set-root --devices=h %myISO%
map %myISO% (222)
map --mem /images/FIRADISK.IMG (fd0)
#map --mem /images/FIRADISK.IMG (fd1)
map --rehook
#chenall's ntboot
cat --locate=###### --number=1 (fd0)/TXTSETUP.OEM > nul || call :error firadisk.img file error..
set offset=%?%
set fira.opt=cdrom,vmem=find:%myISO%;
write --offset=%offset% (fd0)/TXTSETUP.OEM value=Parameters,StartOptions,REG_SZ,"%fira.opt%"\r\n
cat --skip=%offset% --locate=/ --replace=\\ (fd0)/TXTSETUP.OEM
cat (fd0)/TXTSETUP.OEM
pause press a key
root (222)
chainloader (222)/I386/SETUPLDR.BIN

Link to comment
Share on other sites

In order to shift hard disk positions this unfinished batch could be a start base for a solution.
Thanks, that's a wonderful soltution. I like this.

What about using file name %~pnx0 as tag file

echo Locating %~pnx0
find --set-root --devices=fh %~pnx0

Perfect!

Can you help with PLoP detection? Maybe I should open a new thread for that...

I couldn't reliably detect if 5.0.13 was loaded in order to avoid messing with hard drives afterwards. For example "find --set-root /file" after PLoP was loaded from USB causes a hard hang on the two computers I was playing with.

The reason is that grub4dos tries to access a "phantom" hard drive. USB disk is hd0, internal becomes hd2, hd1 is something messed up, existing but not accessible. Author is aware of the problem, but when would be fixed is unknown:

http://forum.plop.at/index.php/topic,165.msg1493.html#msg1493

http://forum.plop.at/index.php/topic,151.0.html

Not to mention that in a few cases simply loading PLoP from USB and find --set-root afterwards something went wrong with the partition table (I guess) on the internal disk, and after reboot from the local disk bootmgr started complaining about wrong boot configuration so had to rebuild the BCD store. Quite bad behaviour which has to be avoided.

Link to comment
Share on other sites

title Setup Windows XP from ISO : \nBoot once from USB

set myISO=/images/XP_PRO_HP_OEM.iso

#ilko_t

/boot/shifthd.bat

find --set-root --devices=h %myISO%

map %myISO% (222)

map --mem /images/FIRADISK.IMG (fd0)

#map --mem /images/FIRADISK.IMG (fd1)

map --rehook

#chenall's ntboot

cat --locate=###### --number=1 (fd0)/TXTSETUP.OEM > nul || call :error firadisk.img file error..

set offset=%?%

set fira.opt=cdrom,vmem=find:%myISO%;

write --offset=%offset% (fd0)/TXTSETUP.OEM value=Parameters,StartOptions,REG_SZ,"%fira.opt%"\r\n

cat --skip=%offset% --locate=/ --replace=\\ (fd0)/TXTSETUP.OEM

cat (fd0)/TXTSETUP.OEM

pause press a key

root (222)

chainloader (222)/I386/SETUPLDR.BIN

Not sure if it's just my luck but the last few newer Asus I have tested on including mine...will not work with (fd0) but is fine with (fd1)

Link to comment
Share on other sites

Not to mention that in a few cases simply loading PLoP from USB and find --set-root afterwards something went wrong with the partition table (I guess) on the internal disk, and after reboot from the local disk bootmgr started complaining about wrong boot configuration so had to rebuild the BCD store. Quite bad behaviour which has to be avoided

Funny you say this but mine is a little different. I used this in test on my Asus with 3 internal HD

#calculate max HDD
set /a hdN=*0x475&0xff + 0x80 - 1
echo max HDD (%hdN%)

geometry (hd9) && map (hd9) (hd8) && echo map (hd9) (hd8) && echo
geometry (hd8) && map (hd8) (hd7) && echo map (hd8) (hd7) && echo
geometry (hd7) && map (hd7) (hd6) && echo map (hd7) (hd6) && echo
geometry (hd6) && map (hd6) (hd5) && echo map (hd6) (hd5) && echo
geometry (hd5) && map (hd5) (hd4) && echo map (hd5) (hd4) && echo
geometry (hd4) && map (hd4) (hd3) && echo map (hd4) (hd3) && echo
geometry (hd3) && map (hd3) (hd2) && echo map (hd3) (hd2) && echo
geometry (hd2) && map (hd2) (hd1) && echo map (hd2) (hd1) && echo
geometry (hd1) && map (hd1) (hd0) && echo map (hd1) (hd0) && echo
geometry (hd0) && map (hd0) (%hdN%) && echo map (hd0) (%hdN%) && echo

And my Windows 7 complaining about wrong boot configuration also and I had to use my Windows 7 DVD to repair because if I tried to boot any repair stuff that required bootmgr from USB, got the same wrong boot configuration error as if the system was confused.

Link to comment
Share on other sites

i use RUN batch by a chinese friend Sratif , who is moderator of WUYOU.and that FIRADISK img is also by him , not chenall. may be he borrowed some code from chenall's ntboot . i dont know.

RUN batch of Sratf support RUN --SWAP EXT switch . picture below . no need for those long MENU entry . :thumbup

swap.jpg

as soon as your iso mapped , it gives you the above menu , and ask the user to swap the hdd . when mapping ok , it again asks the user to press ENTER to continue booting iso .

read post # 1103 and 1104

RUN batch can be downloaded from 1st page

http://bbs.wuyou.com/viewthread.php?tid=191301&extra=page%3D1&page=1

and more screen shots.

RUN has to be in BOOT/GRUB/ path . when you will press RUN from command line it will take you to batch mode. where press H enter . and help menu will open.

post # 1104 explains RUN usage with custom floppy image , like XP_INST.

Edited by maanu
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...