David A. Cobb wrote:
This isn't a development question, but I'm hoping the list's knowledge
of GRUB will help me understand it.
Running Ubuntu 9.04, everything up-to-date, package "grub-pc" version 1.96+
GRUB-2 was installed after having GRUB 0.9x running for years. The
installation involved letting GRUB chainload GRUB-2 until I saw it was
ready for primetime, then running an upgrade script. I mention that
because it's important to know that there is still a GRUB 0.9x image
somewhere.
Trying to get past a nasty problem involving the interaction between a
2003 Phoenix BIOS, and a big 160-GB disk that would not have been
available in 2003. I used BIOS setup to change the disk detection to
manual, and made sure the numbers that came up were the same as after a
successful boot.
Booted, and WHOA! I got the system-selection screen from GRUB 0.9x.
But, it included versions of the kernel that were not installed until
after I switched to GRUB-2. Actually, the only thing I'm sure was
"wrong" was the lack of a colorful splash image. Well, no, actually,
I'm fairly sure the console displays were not the same as the "WELCOME
TO GRUB" that shows at the start of the GRUB-2 boot; but it goes past
pretty quick, and I could be wrong about that.
So, maybe I hosed my GRUB-2 installation. That wouldn't explain how a
GRUB 0.9x image was found. Anyway, I re-installed the package and
(re)ran grub-install. And rebooted. And got the same screen.
So, eliminate the one variable I knew was changed: I reset the BIOS
Setup to do automatic disk detection. Voilla!!
I'm back with the GRUB-2 splash screen, and everything is cool.
But, I'm puzzled [yeah, that is my normal state]. Did the BIOS actually
read a different image? Or, did the "old" GRUB fail to chainload, even
though there is no visible sign during a normal boot that the old GRUB
is still around? If the latter, should I consider writing the GRUB-2
image onto the MBR again? Or, would that be just asking for trouble?
TIA
_______________________________________________
David, I'll just add this to what Felix has told you, because it does
indeed sound like you had the old grub-legacy installed to the MBR of
more than one of your drives.
Since I've been playing with Grub2 SVN, I've come to find that the
constant writing to the MBR can go awry, causing strange things with the
hard drive. At one point, I thought my drive was bad, but turned out
the MBR was just confused. What I do now is to clear out the MBR every
other update to be sure I get a clean install of the latest Grub2.
Here's what you do from a root shell:
dd if=/dev/zero of=/dev/sdx bs=446 count=1
(the "x" is the letter of your installed drive, "a" "b" )
Also, for the "bs" number, never use more than "446" as anything larger
will overwrite your partition table of the drive, pretty much rendering
it useless without any partitions.
What it does is write zero's to the MBR of the drive, overwriting any
info there. Then you can run your "grub-install /dev/sdx" to install
Grub2 to your MBR of the booting drive.
Hopefully helpful,
Pat
--
---Zenwalk v6.0--Linux 2.6.28---
Registered Linux User #225206
"Ever tried Zen computing?" http://www.zenwalk.org
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel