On Wed, Sep 22, 2010 at 05:45:34PM +0200, Thomas Frauendorfer | Miray Software 
wrote:
> On some boards, like the AsRock K7S41GX, Grub fails to boot from  
> superfloppy fat32 formated usb sticks.
>
> The reason for the boot failure is that  the bios of the  mentioned  
> board  replaces byte 0x24 of the bpb with the value 0x00 when it's read  
> through the bios function.
> In fat16 this byte contains the Disc unit number, so this causes no real  
> harm there.
> In fat32 this byte is part of the sectors per FAT information, so by  
> modifying this value the bios makes Grub unable to read the fat system.
>
> The attached workaround reads the backup bpb information on fat32  
> filesystems and uses the sectors per fat information stored there.
>
> PS: I'm sorry if this mail is a duplicate, but I sent it before but I  
> wasn't subscribed so it might have been blocked/dropped before

Wouldn't that be a bug in the BIOS?  Don't go writing to a drive you
don't know what contains.  It could be something other tahn fat16 after
all (what if it was a linux kernel with a bootheader on it and not a
filesystem at all?)

Sounds like the BIOS needs fixing badly.  Nothing wrong with making
grub more robust against corrupt filesystems, but it doesn't actually
fix the bug in the BIOS.

-- 
Len Sorensen

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to