Jump to content

Bios seeing USB stick as floppy


barnai

Recommended Posts

I put all the floppies files at the stick root, and tried to launch install through the setupldr.bin. i. e. (if Im not mistaken):

- chainloader (fd0)/setupldr.bin
- boot

But it almost immediately stops and restarts, saying that "NTDETECT failed".

Is there anything that could help ?

Link to comment
Share on other sites


Ok, let's try again, from scratch this time.

Use fbinst ( and NOTHING else) to partition/format the USB stick:

http://www.boot-land.net/forums/index.php?showtopic=7932

Verify you can boot to grub4dos.

Add to the stick NTLDR, NTDETECT.COM and a BOOT.INI with these contents:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
C:\grldr="Grub4Dos"

You should have on your stick:

grldr

menu.lst

NTLDR

NTDETECT.COM

BOOT.INI

and nothing else

Run on grub4dos Command Line the commands detailed in this thread:

http://www.911cd.net/forums//index.php?sho...c=18485&hl=

and report grub4dos feedback for EACH of them and the error you get when you choose the entry "Microsoft Windows XP Professional" in BOOT.INI (if you get there)

The whole point is that you should have a different error from "NTDETECT.COM not found, like a missing arcpath.

How big is the stick?

How much RAM do you have?

Can you procure yourself a small stick 64÷512 Mb in size?

jaclaz

Link to comment
Share on other sites

OK Im trying all this.

My stick is 1GB, and same for the RAM.

No I wont be able to find a stick of the size ur asking. What use would it be ?

Just checking. :)

Some motherboards may treat "small" sticks as "floppy" and "big" sticks as "hd", the "switch is usually around the 512 Mb size, so it is not your case if the 1 Gb stick is seen as floppy as well.

On the other hand a smallish stick can more easily "fit into RAM" should we attempt a ramdisk approach.

I am not fully sure to understand the behaviour you describe, as it is very different from past reports of people who had similar "floppy only" issues that I can remember, like th thread I linked you to. :unsure:

jaclaz

Link to comment
Share on other sites

I must be somewhat cursed with all those usb boot format tools :angry:

I formatted the stick with fbinst (v1.5-2009-06-20), with the most simple command

fbinst (hd1) format --fat16 --force

then I loaded g4d (v0.4.4-2009-10-16) on it using the command

fbinst (hd1) add grldr <path to grldr>

put the menu onto it with a proper file fb.txt

fbinst (hd1) add-menu fb.cfg fb.txt

finally I put grldr and a simple menu.lst on the stick, tried to boot and ... nothing ! Not bootable.

So, a bit randomly now :thumbup I tried adding the --zip option (which I had only tried once before with RMPREPUSB and if I remember it didnt work) to the formatting command

fbinst (hd1) format --fat16 --zip --force

and ... the (magic) stick became bootable !

I am not sure to understand what Im talking about :whistle: but I suppose the zip option enforced the floppy detection. And now grub actually finds the menu.lst, which is logic since when I go into commandline I find that the root of the stick is the current file root. fd0 still appears in the devices listed when u enter some command followed by "(" and press TAB. But when u try to get access to it, grub says it cant mount the partition ...

Anyway I went on, assuming everything was perfectly normal :wacko::angel and put the nt files on the stick. After booting I entered the commands u gave in ur second link, and there was no message returned except for the chainloading:

Will boot NTLDR from drive 0x80, partition=0x0 (hidden sectors=0x3f00)

Then when I booted and selected the windows entry, the error was something familiar:

Windows could not start because the following file is missing or corrupt:
<Windows root>\system32\hal.dll.
Please re-install a copy of the above file

Link to comment
Share on other sites

We are one step ahead. :)

Not very far from before, but seemingly in the right direction. :)

Now NTDETECT.COM is apparently not a problem anymore.

The:

Windows could not start because the following file is missing or corrupt:

<Windows root>\system32\hal.dll.

is (unlike what it seems), good news.

If you boot from the stick, when you are on grubd4dos, press c for command line and just issue:

root

[ENTER]

What is the result?

Unfortunately right now this:

is logic since when I go into commandline I find that the root of the stick is the current file root.

seems to me a "truism".

Add to the stick a "tag" file, say "mystick.tag", an empty (0 byte) .txt file renamed will do.

Reboot and run:

find --set-root /mystick.tag

[ENTER]

root

[ENTER]

What is the result?

jaclaz

Link to comment
Share on other sites

Unfortunately right now this:
is logic since when I go into commandline I find that the root of the stick is the current file root.

seems to me a "truism".

No I dont think so. What I call the file root (I cant find something more appropriate) is the result of the command "root". It now happens to correspond to the root of the stick (= (fd0)), but before it did not. And that made grub go directly to commandline at boot, because it was unable to find menu.lst.

So as I say the result of the command "root" is (fd0), with some details :

(fd0): Filesystem type is fat, partition type 0x0E

But concerning the tag file, when I create it and try ur command, I get:

Error 15: File not found

If u can figure it out... :blink:

Link to comment
Share on other sites

What I call the file root (I cant find something more appropriate) is the result of the command "root".

Yep :), it is just a term that has not be "standardized" since it is the result of the grub4dos command root, I would call it "grub4dos root" ;) and it's value is represented not by "the root of the stick" but by "(fd0)".

(I had no way to know if it was represented by something else, like (hd0,0), as an example)

But concerning the tag file, when I create it and try ur command, I get:

Error 15: File not found

What happens if you type instead:

chainloader /

and press [TAB]

?

What happens with:

map (fd0) (hd31)

[ENTER]

map --hook

[ENTER]

root (hd31,

[TAB]

What does it complete to?

root (hd31,0) ?

If yes, press [ENTER]

chainloader /

[TAB]

can you see the tag file, and the other files on the stick?

jaclaz

Link to comment
Share on other sites

What happens if you type instead:
chainloader /

and press [TAB]

?

The files at the root of the stick are listed.

What happens with:

map (fd0) (hd31)

[ENTER]

map --hook

[ENTER]

root (hd31,

[TAB]

What does it complete to?

root (hd31,0) ?

If yes, press [ENTER]

chainloader /

[TAB]

Yep it completes to (hd31,0), and as before, when TAB is pressed after "chainloader /", the files on the stick are listed. After the mapping I tried to find the tag file again ("find /fubar.tag"), still without success.

And just for the sake of it, I tried doing "map (fd0) (hd31,0)" as well, but nothing changed.

NOW replacing the mapping by

map (fd0) (hd0,0)

did the trick !... The find command returns "(hd0,0)" !

can you see the tag file, and the other files on the stick?

Yeah, as confusing as it might be, the files are listed all right when u do "ls /" or press TAB after a "/" as above. It doesnt work with "ls (fd0)/": as I said in my previous post, it returns

Error 17: Can not mount the selected partition

BUT after one of the mappings above, "ls (hd31,0)/" or "ls (hd0,0)/" works fine.

You still following ?... :wacko::wacko::wacko:

Link to comment
Share on other sites

You still following ?... :wacko::wacko::wacko:

NO, I am actually leading. ;)

:P

So you can now:

map (fd0) (hd0) <- try this, should give the same result as map (fd0) (hd0,0)

map --hook

root (hd0,0)

chainloader /ntldr

boot

What happens?

jaclaz

Edited by jaclaz
Link to comment
Share on other sites

Good, then you can have in menu.lst entries:

title NTLDR
map (fd0) (hd0)
map --hook
root (hd0,0)
chainloader /ntldr

title SETUPLDR.BIN
map (fd0) (hd0)
map --hook
root (hd0,0)
chainloader /setupldr.bin

title UNHOOK
map --unhook

Try re-adding the floppy contents and see what happens with second entry.

Then you can try re-starting from where we were stopped by the (fd0) result:

http://www.msfn.org/board/bios-seeing-usb-...79-page-12.html

jaclaz

Link to comment
Share on other sites

OK we're thru with the ntdetect problem !...

But I got back to the biosinfo.inf barrier:

The INF file \$WIN_NT$.~BT\biosinfo.inf could not be loaded
The error code is 18

I cant imagine why hes looking for a folder $WIN_NT$.~BT. Anyway I tried to create a folder $WIN_NT$.~BT and put biosinfo.inf into it. And ... YEAH the install went on !!! :thumbup

It stopped a little further though, saying something similar

The file \$WIN_NT$.~BT\ntkrnlmp.exe could not be loaded
The error code is 14

So I took the ntkrnlmp.ex_ at the root and expanded it into the new folder. Quite expectedly, I got another stop about a file halaacpi.dll, and I suppose it could go on for a while. But I think it will not be hard to sort out, all the more that when I was googling about the biosinfo.inf problem, I found a lot of threads in forums where people were going through that series of missing file errors.

In any case we've made a helluva progress here imo. I cant do anything more now, for obvious reasons (Happy Xmas btw :D ), but we're surely getting somewhere.

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