Jump to content

Problem in installing oem xp.iso from usb


illusions

Recommended Posts

Hi,

I use the usb to install xp unattended iso on dell computer.

The usb install successfully on DELL dimension 630i, DELL dimension 2400, DELL dimension 4700, DELL dimension 310

but on DELL dimension 8300 the text mode is successful but it hang on the Gui mode.

The screen just display

0x80 read 0x8280

0x80 read 0x8280

_

and then hang ....

but it does work when i burn the iso to dvd and use the dvd method to install xp.

Please suggest what to modify on menu.lst .

Info of the iso ............................

I have original dell sp3.iso and update the iso as follows...

make it unattended

ryanvm integrator to integrate post sp3 update

driverpacks base to integrate only the DriverPack Mass Storage 12.06 for Windows 2000/XP/2003 (x86)

ryanvm integrator to create the new iso.

my usb has the following files.

dellsp4.iso

grldr

menu.lst

WinVBlock.IMG.gz <---- got this from Steve Si 's website rmprepusb

menu.lst -----------------------------------------------

#usb bootable

color white/blue black/light-gray

timeout 30

default 0

title Part 1 Install OEM XP - Text Mode

map --mem /WinVBlock.IMG.gz (fd0)

map --mem /WinVBlock.IMG.gz (fd1)

map /dellsp4.iso (0xff)

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

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

map --hook

chainloader (0xff)

title Part 2 Install OEM XP - GUI Mode

map /dellsp4.iso (0xff)

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

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

map --hook

chainloader (hd0)+1

unattended winnt.sif ----------------------------------------

[Data]

AutoPartition=0

MsDosInitiated="0"

UnattendedInstall="Yes"

[unattended]

UnattendMode=FullUnattended

OemSkipEula=Yes

TargetPath=\WINDOWS

OemPreinstall=Yes

UnattendSwitch="NO"

WaitForReboot="No"

NoWaitAfterTextMode=1

NoWaitAfterGUIMode=1

DriverSigningPolicy=Ignore

NonDriverSigningPolicy=Ignore

Hibernation = "No"

[GuiUnattended]

AdminPassword=*

EncryptedAdminPassword=NO

OEMSkipRegional=1

TimeZone=4

OemSkipWelcome=1

[userData]

ProductKey=" "

FullName="Owner"

OrgName=""

ComputerName=Computer

[RegionalSettings]

LanguageGroup="1","7","8","9","10"

[Display]

BitsPerPel=32

Xresolution=1024

YResolution=768

[systemRestore]

DisableSR=1

CreateFirstRunRp=0

[TapiLocation]

CountryCode=1

AreaCode=000

Dialing=Tone

[identification]

JoinWorkgroup=WORKGROUP

[Networking]

InstallDefaultComponents=Yes

[branding]

BrandIEUsingUnattended=Yes

Edited by illusions
Link to comment
Share on other sites


Change this:

title Part 1 Install OEM XP - Text Mode 
map --mem /WinVBlock.IMG.gz (fd0)
map --mem /WinVBlock.IMG.gz (fd1)
map /dellsp4.iso (0xff)
checkrange 0x80 read 0x8280 && map (hd0) (hd1)
checkrange 0x80 read 0x8280 && map (hd1) (hd0)
map --hook
chainloader (0xff)

title Part 2 Install OEM XP - GUI Mode
map /dellsp4.iso (0xff)
checkrange 0x80 read 0x8280 && map (hd0) (hd1)
checkrange 0x80 read 0x8280 && map (hd1) (hd0)
map --hook
chainloader (hd0)+1

TO this:

title Part 1 Install OEM XP - Text Mode 
map --mem /WinVBlock.IMG.gz (fd0)
map --mem /WinVBlock.IMG.gz (fd1)
map /dellsp4.iso (0xff)
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
chainloader (0xff)

title Part 2 Install OEM XP - GUI Mode
map /dellsp4.iso (0xff)
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
chainloader (hd0)+1

You should be able to get a little further (maybe).

OR (better) instead of using the menu.lst, use command mode (on the second part) entering commands one by one on the command line and pressing enter after each one:

map /dellsp4.iso (0xff)
map (hd0) (hd1)
map (hd1) (hd0)
map --hook

Here, instead of:

chainloader (hd0)+1

Enter:

root (hd0,0)

You should get a confirmation message with some relevant data on the partition on the hard disk, if yes then:

chainloader (hd0,0)+1

you should get something like "will boot NTLDR...."

now enter:

boot

What happens? Please report the output of the above commandsbesides a description of what ahppens and if it hangs at which command it does so.

jaclaz

Link to comment
Share on other sites

Change TO this:

title Part 1 Install OEM XP - Text Mode 
map --mem /WinVBlock.IMG.gz (fd0)
map --mem /WinVBlock.IMG.gz (fd1)
map /dellsp4.iso (0xff)
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
chainloader (0xff)

title Part 2 Install OEM XP - GUI Mode
map /dellsp4.iso (0xff)
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
chainloader (hd0)+1

You should be able to get a little further (maybe).

OR (better) instead of using the menu.lst, use command mode (on the second part) entering commands one by one on the command line and pressing enter after each one:

map /dellsp4.iso (0xff)
map (hd0) (hd1)
map (hd1) (hd0)
map --hook

Here, instead of:

chainloader (hd0)+1

Enter:

root (hd0,0)

You should get a confirmation message with some relevant data on the partition on the hard disk, if yes then:

chainloader (hd0,0)+1

you should get something like "will boot NTLDR...."

now enter:

boot

What happens? Please report the output of the above commandsbesides a description of what ahppens and if it hangs at which command it does so.

jaclaz

Hi jaclaz , thank you for replying

Your suggested text mode work fine.

For the Gui mode using command line input ...

map /dellsp4.iso (0xff)

map (hd0) (hd1)

map (hd1) (hd0)

map --hook

root (hd0,0) <--- msg "Filesystem type is ntfs, partition type 0x07"

chainloader (hd0,0)+1 <-- msg "Error 21: Selected disk does not exist"

However, i typed

chainloader (hd0) +1 .... it works

boot .... it start the gui installation.

-------------------

Conclusion .... what is the purpose of the code checkrange 0x80 read 0x8280

in what situation is needed ?

Reference to "Install XP from a ISO file No RAM disk " thread #31 by wimb

Edited by illusions
Link to comment
Share on other sites

0x8280 is 80h if the boot device is a hard disk (80h=first hard disk, 00h=first floppy disk).

Thus if the BIOS booted the USB drive as a hard disk, then swap over hd1 (the internal hard disk) to hd0 (the first hard disk) and vice versa - so that the OS will initially see the first hard disk as the internal hard disk.

If the BIOS booted the USB drive as a floppy (admittedly highly unlikely in my experience!) then don't try to swap over hd0 and hd1 as there may not be an hd1 and the command will fail.

Could you try

title Part 2 Install OEM XP - GUI Mode 
map /dellsp4.iso (0xff)
errorcheck off
debug on
checkrange 0x80 read 0x8280 && map (hd0) (hd1)
checkrange 0x80 read 0x8280 && map (hd1) (hd0)
echo about to hook
map --hook
echo about to use rootnoverify
rootnoverify (hd0,0)
echo about to chainload
chainloader (hd0)+1
echo about to boot from hd0...
pause

and see what happens pls?

Link to comment
Share on other sites

root (hd0,0) <--- msg "Filesystem type is ntfs, partition type 0x07"

chainloader (hd0,0)+1 <-- msg "Error 21: Selected disk does not exist"

However, i typed

chainloader (hd0) +1 .... it works

boot .... it start the gui installation.

No.

You mistyped something.

You just have established root on that volume, so it does exist.

root (hd0,0)
chainloader +1

should work.

Anyway it doesn't matter, it was just a test to "jump over" the MBR code, if for any reason it had issues.

The checking is "flawed" not because it is in any way "wrong" (it is not) but it relies on the behaviour of the BIOS, and a large number of BIOSes are "badly" coded or "non standard".

jaclaz

Edited by jaclaz
Link to comment
Share on other sites

[No.

You mistyped something.

You just have established root on that volume, so it does exist.

root (hd0,0)
chainloader +1

should work.

Anyway it doesn't matter, it was just a test to "jump over" the MBR code, if for any reason it had issues.

The checking is "flawed" not because it is in any way "wrong" (it is not) but it relies on the behaviour of the BIOS, and a large number of BIOSes are "badly" coded or "non standard".

jaclaz

Yes your right jaclaz my typing error, I retype the following code in command line it work.

map /dellsp4.iso (0xff)

map (hd0) (hd1)

map (hd1) (hd0)

map --hook

root (hd0,0)

chainloader (hd0,0)+1

boot

Thanks.

Link to comment
Share on other sites

Could you try

title Part 2 Install OEM XP - GUI Mode 
map /dellsp4.iso (0xff)
errorcheck off
debug on
checkrange 0x80 read 0x8280 && map (hd0) (hd1)
checkrange 0x80 read 0x8280 && map (hd1) (hd0)
echo about to hook
map --hook
echo about to use rootnoverify
rootnoverify (hd0,0)
echo about to chainload
chainloader (hd0)+1
echo about to boot from hd0...
pause

and see what happens pls?

Here is the output ...

Booting Part 2 Install OEM XP - GUI Mode

Address 0x8280: Value 0x80

Address 0x8280: Value 0x80

int13/41(81), version=AA210005, int13/08(81), version0, C/H/S-1023/255/63, int13/02(81), err=0

Initial estimation: Cmax=1023, Hmax 254, Smax=63.

Perfectly Good!

Warning: MBR cylinders(9729) is not equal to the BIOS one(1023).

Warning: MBR total sectors(156296385) is greater than the BIOS one (16434495).

Some buggy BIOSes could hang when you access sectors exceeding the BIOS limit.

about to hook

about to use rootnoverify

about to chainload

about to boot from hd0

_

it pause

and when I press enter it continue to install xp gui.

Edited by illusions
Link to comment
Share on other sites

The original code in Reference to "Install XP from a ISO file No RAM disk " thread #31 by wimb was ...

but this code just hang in one of my dell computer.

title Part 2 Install OEM XP - GUI Mode

map /dellsp4.iso (0xff)

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

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

map --hook

chainloader (hd0)+1

jaclaz suggest this code and it work ...

title Part 2 Install OEM XP - GUI Mode

map /dellsp4.iso (0xff)

map (hd0) (hd1)

map (hd1) (hd0)

map --hook

root (hd0,0)

chainloader (hd0)+1

steve6375 suggest this code and it work ...

title Part 2 Install OEM XP - GUI Mode

map /dellsp4.iso (0xff)

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

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

map --hook

rootnoverify (hd0,0) <----

chainloader (hd0)+1

Therefore, which code should i use that is more versatile. Thanks.

Edited by illusions
Link to comment
Share on other sites

Actually the "original" code is "the right one".

For *any* reason that BIOS does not detect "properly" the device Cylinder number.

How big is the device?

Grub4dos detects 9729*255*63*512=80,023,749,120 (roughly 80 Gb)

The BIOS is limited seemingly to 1023*255*63/512=8,414,461,440 i.e. the last CHS limit of around 8 Gb

The check before the remapping:

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

Is to avoid the remapping if - fr any reason - the (Hd like) USB device is not mapped as first disk (this might happen in, say, 1% of cases or less), the device one boots form is first device in (still say) 99% of cases.

Removing the check:

map (hd0) (hd1) 
map (hd1) (hd0)
map --hook

is valid for this (fictional) 99% of the cases but it will fail in the remaining 1%.

The suggested "manual command":

root (hd0,0)

is not "strictly needed" (it is only a good habit to "establish root and verify the filesystem is accessible" before actually booting from it),it makes a lot of sense if you later chainload the bootsector of that filesystem:

chainloader (hd0,0)+1

since root has already been established, you can replace the above with:

chainloader +1

From the result of the test it seems like the drive is mapped correctly (as drive 80), but something is "wrong" with establishing (or mantaining) current root.

There should be - in theory - no need to establish a root to a volume if affterwards you chainload the MBR of the device (and not the PBR/bootsector of the volume).

What happens is probably that the:

rootnoverify (hd0,0)

BUT, using instead:

root (hd0,0)

should be good also, somehow "resets" the size (number of cylinders) issue.

You should try again the set of commands Steve6375 suggested BUT on command line (that should be ALWAYS used when troubleshooting) to better understand which exact command provokes the posted warning.

The last two commands (before the "boot" needed on command line) should all work the same:

root (hd0,0)
chainloader (hd0)+1

root (hd0,0)
chainloader (hd0,0)+1

root (hd0,0)
chainloader +1

rootnoverify (hd0,0)
chainloader (hd0)+1

rootnoverify(hd0,0)
chainloader (hd0,0)+1

rootnoverify(hd0,0)
chainloader +1

BUT, what may happen if you remove the check (as in the set of commands I suggested for tests) AND the BIOS doesn't map the USB device as first disk (1% of the cases)?

The exchange takes always place, thus the internal disk becomes second disk and the USB device becomes first one.

Since you chainload the MBR of the first device (which is the USB device), then you simply loop back to the grub4dos menu.

At which point you can highlight the menu entry you were trying booting press "e", edit the menu.lstremoving the two disk re-mapping lines and try booting it again.

The "queer" part is that you reported that the "first" part of the booting (that also contains the same checkrange commands) does work allright, so either the mapping of the imaged to the floppy disk devices or some timing problems or the difference between first boot (I presume a cold one) and the second (a warm one) seem to play a role in the issue. :unsure:

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