Help - Search - Members - Calendar
Full Version: Booting USB stick seen as FDD
The CD Forum > The CD Forum > USB Booting
hunter86_bg
OK , I realise that the this post is not on its place and i am really sorry(but i got confused in this big forum),but i have a serious question.Here it is :
Can i boot from my usb stick(pqi i221 8GB) while my bios (recently upgraded) supports Usb-Fdd mode?
I have tried the Hp format tool(no success) and the makebootfat command line (no success again).Maybe i don`t do something right?
The problem is that my Laptop DVD RW fails to read DVD disks and i m expecting it to fail at all and i leave after a month for a place i cant buy any laptop parts(and if i could it would cost me half the laptop).

I hope someone can help me and thanks for trying to help me .
Ed_P
QUOTE (hunter86_bg @ Mar 4 2009, 10:58 AM) *
Can i boot from my usb stick(pqi i221 8GB) while my bios (recently upgraded) supports Usb-Fdd mode?

Maybe. A lot of it depends on the particular BIOS. On a Dell that I have I tried for a month to get it to boot a USB drive that worked find in my desktop. The solution for me was to use PEtoUSB and enable the LBA option. Once I did that the Dell booted it.
jaclaz
I splitted the topic to give your question more visibility.

There are lots of factors involved in USB booting, it's hard to say yes or no (and if yes HOW).

Last time we tried:
http://www.911cd.net/forums//index.php?showtopic=18485

We did NOT succeed. sad.gif

But grub4dos has had in the meantime a lot of improvements/added features, so maybe it's time to try again.

Also, you should check the makebootfat mini-tutorial here:
http://www.911cd.net/forums//index.php?sho...13784&st=44

and report exactly what you tried/which errors you had.

jaclaz
cdob
Well, a long shot:

XP installation can be booted from floppy http://support.microsoft.com/kb/310994
There are a lot of files at root directory. And there is a system32 directory.
Can this configuration used for BartPE Usb-Fdd mode?

Idea: BartPE X:\I386 goes to \ root Usb-Fdd
And directories to root too, e.g. X:\I386\SYSTEM32 goes to \SYSTEM32

I've no hardware to test this idea.
jaclaz
QUOTE (cdob @ Mar 4 2009, 10:15 PM) *
Well, a long shot:


Not that much, the procedure should work allright. smile.gif

Or at least something like that has proved to be working on VM for Recovery Console.

But the problem could be before that.

Some BIOSes mean "USB-FDD" meaning actually "USB Superfloppy" (in which case makebootfat double/triple use MBR may work) and your idea could as well.

Some BIOSes mean "USB-FDD" meaning actually "USB Floppy drive", i.e. they expect "something" 1,474,560 bytes in size "declaring" itself as a "floppy", something like the "NETAC" or similar ones discussed here:
http://www.boot-land.net/forums/index.php?showtopic=4977
http://www.laptopvideo2go.com/forum/index.php?showtopic=6637

It is possible that using some of the newish grub4dos "trick" we can work-around the problem, but it's hard to say.

jaclaz
Sanchez
Same problem here. Need to boot XP Embeeded from USB Stick. The problem is that the machine is Vortex86 with AMIBIOS HIFLEX 1.54, which supports ONLY USB-Superfloppy emulation. In this mode it hides MBR and any sectors before the active partition.
The NTLDR starts, sees the BOOT.INI, but there exists no valid ArcPath pointing to current partition to continue the boot as it's emulated as Superfloppy. So it gives up saying "Windows could not start because of a computer disk hardware configuration problem. Could not read from the selected boot disk. Check boot path and disk hardware." which is obviously right - the boot path is incorrect.
I tried to emulate hard disk with Grub4Dos (built on 25th of March) but to no avail. The commands are:
CODE
map (fd0) (hd0)
map --hook
root (hd0)
chainloader /ntldr
boot

but then it reboots without any messages. Frankly speaking, I did not believe it would work, because it said it would boot NTLDR from "drive=0x80, partition=0xff (hidden sectors 0)". Since the partition was still 0xff, the floppy emulation was still in effect, I presume.

By the way, there is a message during grub4dos boot which says "Notice: tuned sectors-per-track for drive 0 from 63 to 0" or something like that. That could be a problem too but I have no clue to this behavior of grub4dos.

I also tried to use PLoP bootmanager as a USB driver for grub4dos - but it does not "see" the USB stick it booted from.

I also tried to use makebootfat, but after partitioning the USB stick with FAT16 and placing Win98 bootsector along with the files 'command.com', 'io.sys' and 'msdos.sys' the booting process stops with message "Invalid system disk". The WinXP bootsector also fails with message "NTLDR is missing". I think BIOS does not like the partition made by makebootfat and does not see any files in it.

The only solution I see now is to use a specific driver NTBOOTDD.SYS through which to refer to the USB Stick as scsi(0). The boot process will advance at least one step further. I do not know if such driver exists. I know that there is such driver written by Dietmar for booting Windows XP from RAM disk, but there is only 128 Mb of RAM in the machine, so that's not an option.

Has someone been succesful in booting Windows XP (Embedded) from USB stick seen as FDD?

Update 1: I changed path in boot.ini to "multi(0)disk(0)fdisk(0)\WINDOWS". Now NTLDR says that "<Windows root>\system32\hal.dll" is missing or corrupt - it seems that the boot process from USB-FDD finally started!

Update 2: I copied the entire WINDOWS folder to USB stick. But the message about missing or corrupt hal.dll was still there. Then I deleted WINDOWS folder, manually created it, created system32 subfolder and copied hal.dll and ntoskrnl.exe ONLY. Now the booting process goes one step further - it shows "zebra" strip and then says "Windows could not start because of an error in the software. Please report this problem as: load needed DLLs for kernel". It's OK - there were no DLLs yet. The copying of entire folder contents does not help - Windows still cannot find needed DLLs. I believe it's the same problem as when it couldn't find hal.dll if the entire folder was copied.

Please help me solve this problem, I think there is only one step left before the boot succeeds!
jaclaz
It's a tough one, but the grub4dos commands won't work anyway if the hidden sectors are "skipped" by the BIOS.

My guess is that one could combine together grub4dos, makebootfat and a few other tricks.

I need a bit of time to think about the matter....

In the meantime, try this:
QUOTE
map --mem (fd0) (hd0,0)
map --hook
root (hd0,0)

And post what grub4dos has to say.

before going on and attempt:
QUOTE
chainloader /ntldr
boot


jaclaz
Sanchez
OK, let's see, I placed five files: grldr, menu.lst (which grldr doesn't find and falls back to command line), ntldr, boot.ini, ntdetect.com
CODE
map --mem (fd0) (hd0,0)

Error 67: Should not specify '--mem' when mapping a whole drive

So I tried
CODE
map --mem (fd0)+1 (hd0,0)
FAT16 BPB found with 0xEB (jmp) leading the boot sector.
info: BPB total_sectors(511937) is less than the number of sectors in the whole disk image (514080)

probed C/H/S = 32/255/63, probed total sectors = 511937

Error 28: Selected item cannot fit into memory

But that's OK, because RAM is only 128 Mb thumbdown.gif , and USB stick is 256 Mb
CODE
map (fd0)+1 (hd0,0)
FAT16 BPB found with 0xEB (jmp) leading the boot sector.

probed C/H/S = 32/255/63, probed total sectors = 511937

floppies_orig=2, harddrives_orig=0, floppies_curr=2, harddrives_curr=1

map --hook

root (hd0,0)

Error 25: Disk read error

root (hd0)

Filesystem type is fat, using whole disk

chainloader /ntldr

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

boot

The system reboots after that.

Meanwhile, I made NTLDR boot XP Embedded to a certain stage. It seems that arcpath in BOOT.INI should read "multi(0)disk(0)fdisk(0)" when USB is seen as FDD (superfloppy).

The next problem is that something (BIOS?) seems unable to handle FAT16 correctly whistling.gif If my Windows\System32 directory is fragmented, it fails during boot to find files which are in the 2nd (3rd, 4th) fragment. So I need to copy certain files first, so that they fall into the 1st fragment of System32 directory. Then they are found by loader. Also, if I copy Windows folder first and BOOT.INI, NTLDR and NTDETECT.COM files next, then NTLDR fails with message "Fatal error 1 reading BOOT.INI" hmm.gif

Where I'm stuck now: the boot process continues up to the moment when USB drivers should be loaded. I traced it by booting in the safe mode and looking at the files list. It loads some USB drivers and then fails with BSOD 0x7B. I've read Dietmar's tutorials - he mentions that XP Embedded does not support booting from SiS chipset as it has only OHCI compliant, USB 1.1 controller, while XP Embedded expects to find EHCI USB 2.0. That is exactly my case - the SiS chipset! thumbdown.gif I've made necessary adjustments as in Dietmar's tutorials but I'm still getting BSOD 0x7B.
jaclaz
QUOTE
menu.lst (which grldr doesn't find and falls back to command line)

See if removing the --ignore-floppies from the embeeded menu.lst in grldr helps:
http://www.boot-land.net/forums/index.php?...=7231&st=25
http://www.boot-land.net/forums/index.php?...c=6775&st=5
(or however editing it to "hardcode" it to (fd0)

Your finding about "multi(0)disk(0)fdisk(0) is GREAT! smile.gif

but the OHCI/EHCI problem won't be easy.

I thought a bit about the problem of the floppy disk, and I just came up with one of my semi-random ideas wink.gif.

I assume (and this is another form of news to me smile.gif) that you are correct when you affirm the your BIOS "skips" hidden sectors as defined by partiion table in MBR (or however "skips" first 63 sectors of the device) jumping directly to the bootsector.

If this is the case, imagine the following (using VDK and the tools of your choice):
  • you create a "normal" hard disk image the exact size of the stick
  • you partition it with just one Extended partition, the whole size of the image, and with just one volume extending over the whole extended partition
  • the EPBR should go on sector 64 and the actual bootsector should get to sector 64+63=127
  • now you split the image in two files, first part just the first 63 sectors, second part the whole Extended partition
  • you mount second part and apply to it a bootable MBR with MBRFIX or another tool of your choice
  • you re-assemble the image and fix the hidden sectors in the bootsector, see here: http://www.goodells.net/multiboot/index.htm


What happens?

What if you use for the "second part" of the image a makebootfat partition?

See here for a recent attempt I made:
http://www.boot-land.net/forums/index.php?...ic=7500&hl=
http://www.boot-land.net/forums/index.php?...=7500&st=10

The above or some variations of it should make possible, possibly with grub4dos HD re-mapping to get the stupid device to see the USB stick as a hard disk.

About the OHCI problem, the only way to possibly workaround it I presume is the "XP Kansas City Shuffle" or "Fake Signature Method":
http://www.911cd.net/forums//index.php?sho...c=21242&hl=
http://www.boot-land.net/forums/index.php?...ic=6672&hl=

Thoough you may have not enough space on the stick if it's only 256 Mb unsure.gif, and of course it can only work if the condition where you succeed in having the USB stick as hard disk is met.

Please, do consider that all the above are just "guesses" on my part, possibly containing only a small part of the actual solution and that will possibly need extensive testing and tweaking.

jaclaz
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2013 Invision Power Services, Inc.