Jump to content

Bios seeing USB stick as floppy


barnai

Recommended Posts

Hi

I am trying to install Windows XP from an USB flash disk (UFD).

I managed to make the UFD bootable. The WinSetupFromUSB.log contains no error messages. But when I boot on the UFD, it is detected as a floppy (--> fd0), which makes all the grub commands irrelevant.

Still I tried to adjust the commands accordingly, and managed to launch the first part of the windows install. But (once again) the process stops immediately, reporting the error: "The file biosinfo.inf could not be loaded. The error code is 14" or so.

I found a lot of things about errors involving that biosinfo file, but they are mostly related to the absence of the file in the $WIN_NT$.~BT folder. Which is not relevant for me. So I came to the conclusion that it is rather related to the fact that the UFD is detected by the loader as a floppy.

Could you tell me what you think about it ? And if I'm right what is the best solution to avoid the floppy detection ?

Thanks in advance for your answers.

P.S. The execution of WinSetupFromUSB was not exactly flawless: there was a dialog telling me that (if I remember...) the grub bootsector could not be installed and that it would install on the mbr. I tried to find the corresponding log, and came out with this:

2009/12/08 22:36:11- Installing grub4dos BS/MBR and files
2009/12/08 22:36:11- Backing up MBR of disk #1
2009/12/08 22:36:11- C:\WinSetupFromUSB\files\grub4dos\grubinst.exe -s=mbrdisk1-20091208-222835.dat -t (hd1)
2009/12/08 22:36:15- Backed up MBR of disk #1
2009/12/08 22:36:15- Backing up BootSector of disk #1 partition #0
2009/12/08 22:36:18- Backed up BootSector of disk #1 partition #0
2009/12/08 22:36:18- Checking for grldr string in BootSector of disk #1 partition #0
2009/12/08 22:36:27- Saved BootSector of disk #1 partition #0
2009/12/08 22:36:28- Grub4dos bootsector not found
2009/12/08 22:36:28- Checking for grldr string in MBR of disk #1
2009/12/08 22:36:32- Saved MBR of disk #1
2009/12/08 22:36:33- Grub4dos MBR not found
2009/12/08 22:36:33- Installing grub4dos bootsector to (hd1,0)
2009/12/08 22:36:33- C:\WinSetupFromUSB\files\grub4dos\grubinst.exe (hd1,0)
2009/12/08 22:36:40- Checking for grldr string in BootSector of disk #1 partition #0
2009/12/08 22:36:43- Saved BootSector of disk #1 partition #0
2009/12/08 22:36:44- Grub4dos bootsector not found
2009/12/08 22:36:44- Could not install grub4dos bootsector
2009/12/08 22:36:53- Installing grub4dos MBR to (hd1)
2009/12/08 22:36:53- C:\WinSetupFromUSB\files\grub4dos\grubinst.exe (hd1)
2009/12/08 22:36:59- Checking for grldr string in MBR of disk #1
2009/12/08 22:37:03- Saved MBR of disk #1
2009/12/08 22:37:04- Grub4dos MBR found
2009/12/08 22:37:04- Copying grldr
2009/12/08 22:37:04- Copying menu.lst
2009/12/08 22:37:04- Copying default
2009/12/08 22:37:04- grub4dos installed

Hope that helps.

Edited by barnai
Link to comment
Share on other sites


OK I got something !

Using fuwi's tool in the link given by jaclaz, I was able to launch BartPE environment through the kick-boot option (the simple boot one gives a disk error).

Yet the UFD is still detected as a floppy (which must explain the disk error). But as long as the Windows install can be done...

Edited by barnai
Link to comment
Share on other sites

@barnai I have a couple of ideas and need someone to test them on such hardware as I can't find such. This would eventually be a workaround for all those cases where BIOS insists on showing the USB stick as a floppy. Wanna give a hand with this?

Link to comment
Share on other sites

Use the latest beta:

http://www.datafilehost.com/download-20d0545c.html

Extract contents of the archive in C:\ for example, run WinSetupFromUSB inside.

Format the USB sick and prepare it with your Windows source. Assuming it's XP.

Once finished open up in Notepad h:\winsetup.lst, replace H: with the drive letter of your USB stick.

Replace:

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

with:

map (fd0) (hd1)

in both places.

Save winsetup.lst and ensure it did not end up with .txt extension.

Test installation and report with details what happened and on what stage.

Link to comment
Share on other sites

Theres a problem: the stick cant be booted on any more. It doesnt even get to the gru4dos menu.

I did the same as before though: I formatted in FAT16 with RMPREPUSB, checking "Boot as HDD" and "XP/WinPEv1/BartPE bootable (NTLDR)"

Any clue ?

Edited by barnai
Link to comment
Share on other sites

I managed to boot on it after formatting with Bootice. I did the winsetup.lst modification, but Im back to the same point as before: the installation is launched but stops immediately returning the error:

The file \WINSETUP\...\I386\biosinfo.inf could not be loaded
The error code is 2

Im not sure if its "loaded" or "found" though, since the first line was too long and therefore did not fit in the screen. Anyway the file biosinfo.inf is actually in the folder I386.

Besides the error code is not the same as before: it was 14 with v0.2.3.

Any idea ?

Link to comment
Share on other sites

Try this line in winsetup.lst first:

Change

map (fd0) (hd1)

to

map (fd0) (hd1,0)

and test.

Next, if still no luck- can you rebuild the ISO file in \WIN_SETUP directory? Have the tools? UltraISO is the easiest way, next is mkisofs tool. Let me know if you need more details.

You'd need to extract txtsetup.sif from it, change this line in SetupData section in it:

from

BootDevice="multi(0)disk(0)rdisk(1)partition(1)"

to

BootDevice="multi(0)disk(0)fdisk(0)"

and rebuild the ISO with the modified txtsetup.sif.

If still no luck try to change

SetupSourceDevice=\ArcName\multi(0)disk(0)rdisk(1)partition(1)

to

SetupSourceDevice=\ArcName\multi(0)disk(0)fdisk(0)

as well.

You may need to remove the lines map (fd0) (hd1,0) or map (fd0) (hd1) in winsetup.lst.

Another combination could be

BootDevice="multi(0)disk(0)fdisk(0)partition(1)"
SetupSourceDevice=\ArcName\multi(0)disk(0)fdisk(0)partition(1)

again without the 'map' lines mentioned in winsetup.lst.

Link to comment
Share on other sites

- With the fd0 map command modification, I didnt get anything new (same error msg).

- With the first iso modification (with or without the fd0 map command) I got a slightly different error msg: the error code switched from 2 to 18 (... Windows works in mysterious ways :whistle: )

- Finally with the second iso modification (with or without the fd0 map command again) the behaviour was still the same (the install stopped almost immediately) and the error message was:

I/O Error accessing boot sector file multi(0)disk(0)fdisk(0)partition(1)

Are we cornered ? :unsure:

P.S. Googling around about grub4dos, I tumbled on this page (which you may already know of) where its said that:

The "map" process is implemented using INT 13 - any disk emulation will remain accessible from an OS that uses compatible mode disk access, e.g. DOS and Windows 9x. The emulation can't however, be accessed from an OS which uses protected mode drivers (Windows NT/2000/XP/Vista, Linux, FreeBSD) once the protected mode kernel file(s) take control.

So I tried to use the files rather from the folder next to the iso (taking it as root), removing the iso mapping commands, and got that error message:

The INF file txtsetup.sif is corrupted or missing, status 14

Wouldnt it be possible, from this point, to have the install process find the txtsetup.sif in some way ?

Edited by barnai
Link to comment
Share on other sites

P.S. Googling around about grub4dos, I tumbled on this page (which you may already know of) where its said that:

Actually we helped in WRITING the grub4dos guide ;):

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

If you are allright with it, I would split your post in a new thread dedicated to "USB seen as floppy" where we can continue experimenting, without increasing too much the length oc the "main" thread.

I am afraid that you will need lot of patience as we will need to carry lots of experiments, but mo, we are not cornered (yet). :)

jaclaz

Edited by jaclaz
Link to comment
Share on other sites

@barnai

When you boot from USB and get to grub4dos menus, before you select anything else, press "c" to enter command prompt. Then enter:

find /winsetup.lst

What's the result returned?

As for the mapping- re-mapping is valid, the information is gathered during real mode and passed to the setup as we modified it. There is no further rescanning. Thus grub4dos mapping survives, serving our needs perfectly ;)

BTW- what's the motherboard model if it is a desktop? If laptop- what's the exact model?

Link to comment
Share on other sites

Actually we helped in WRITING the grub4dos guide ;):

Hah I was expecting sth like that.

If you are allright with it, I would split your post in a new thread dedicated to "USB seen as floppy" where we can continue experimenting, without increasing too much the length oc the "main" thread.

OK No problem for me.

When you boot from USB and get to grub4dos menus, before you select anything else, press "c" to enter command prompt. Then enter:

find /winsetup.lst

What's the result returned?

(fd0)

BTW- what's the motherboard model if it is a desktop? If laptop- what's the exact model?

Its a laptop, model: fujitsu-siemens Amilo Pi 1536.

Link to comment
Share on other sites

Hmm, try:

BootDevice=\device\floppy0
SetupSourceDevice=\device\floppy0

without map entries in winsetup.lst.

One if these combinations should work, there should be a way to do it :ph34r:

Did you get the idea what we are changing?

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