From: "Daniel Richard G." <oss@teragram.com>
To: <grub-devel@gnu.org>
Subject: Trouble booting from a large USB hard drive
Date: Sun, 17 Jan 2010 04:25:16 -0500 [thread overview]
Message-ID: <000001ca9756$fae87380$f0b95a80$@com> (raw)
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. || danielg@teragram.com || Software Developer
Teragram Linguistic Technologies (a division of SAS)
http://www.teragram.com/
next reply other threads:[~2010-01-17 9:55 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-17 9:25 Daniel Richard G. [this message]
2010-01-17 14:36 ` Trouble booting from a large USB hard drive Isaac Dupree
2010-01-17 20:45 ` Daniel Richard G.
2010-01-18 0:07 ` Colin Watson
2010-01-18 0:47 ` Isaac Dupree
2010-01-18 1:54 ` Daniel Richard G.
2010-01-18 12:38 ` Colin Watson
2010-01-18 18:15 ` Daniel Richard G.
2010-01-18 1:21 ` Grégoire Sutre
2010-01-18 2:10 ` Daniel Richard G.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='000001ca9756$fae87380$f0b95a80$@com' \
--to=oss@teragram.com \
--cc=grub-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.