[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Trouble booting from a large USB hard drive
From: |
Daniel Richard G. |
Subject: |
Trouble booting from a large USB hard drive |
Date: |
Sun, 17 Jan 2010 04:25:16 -0500 |
I recently installed Ubuntu Linux to a 500GB external hard drive, with GRUB2,
and at first could not boot the system due to a GRUB "unknown filesystem"
error. Resolving this problem led to some interesting revelations that I
wanted to share here.
Initially, the hard drive in question was partitioned to have a large (>400GB)
FAT32 partition at the beginning. Knowing that Windows would only mount the
first partition when the drive was plugged in, I figured this was the way to
make the USB drive usable as a data vehicle on non-Linux systems. After that
partition came ones for swap, root, and /home.
After installing Ubuntu, and rebooting, I got the GRUB error. This was on an
HP laptop; later on, I connected the same drive to a Dell desktop
machine---and lo, Ubuntu booted!
I believe that the cause of the problem with the HP laptop was a good
ol'-fashioned BIOS barrier (a la "don't put /boot more than 8.4GB/33GB/137GB
from the start of the disk"). The laptop was a fairly recent model---an HP
EliteBook 6930p---but I'm guessing the code to boot from USB devices didn't
have all the LBA workarounds and whatnot that have been standard in IDE/SATA
boot code for years.
What all but confirmed it for me was an ingenious solution I saw posted
somewhere: an out-of-order partition table. Put the Linux partitions first on
the disk, then the big FAT32 partition---but the FAT32 partition is /dev/sdx1,
and the Linux partitions are /dev/sdx{2,3,4}. Windows mounts the FAT32
partition and ignores the others, just as intended, and Ubuntu boots
flawlessly on the HP laptop.
Aside: All this is also covered in a GRUB bug report at
https://savannah.gnu.org/bugs/?27069
With all that said, I don't consider this to be a bug in GRUB, and this is not
meant to be taken as a bug report. (I presume grub-pc can't work around such
limitations in the BIOS, because there isn't enough room in the MBR to stuff
in a disk-reading library that makes BIOS disk calls unnecessary.) Rather, I
think it is a corner case of which users should be aware---and perhaps GRUB
and/or the Ubuntu installer could do a better job of warning the user if the
disk layout may lead to that. Beyond that, broader awareness/support/use of
out-of-order partition tables [for large USB drives in similar usage
scenarios] doesn't seem like a bad idea.
(Which is not to say I'm certain of all this; that it's a BIOS barrier issue
is only my hypothesis, consistent with what I've observed. Folks here might be
aware of something else that may have been going on.)
--Daniel
--
Daniel Richard G. || address@hidden || Software Developer
Teragram Linguistic Technologies (a division of SAS)
http://www.teragram.com/
- Trouble booting from a large USB hard drive,
Daniel Richard G. <=
- Re: Trouble booting from a large USB hard drive, Isaac Dupree, 2010/01/17
- RE: Trouble booting from a large USB hard drive, Daniel Richard G., 2010/01/17
- Re: Trouble booting from a large USB hard drive, Colin Watson, 2010/01/17
- Re: Trouble booting from a large USB hard drive, Isaac Dupree, 2010/01/17
- RE: Trouble booting from a large USB hard drive, Daniel Richard G., 2010/01/17
- Re: Trouble booting from a large USB hard drive, Colin Watson, 2010/01/18
- RE: Trouble booting from a large USB hard drive, Daniel Richard G., 2010/01/18
Re: Trouble booting from a large USB hard drive, Grégoire Sutre, 2010/01/17