Double checking grub-install ??

William Case billlinux at rogers.com
Fri Jun 27 03:18:07 UTC 2008


Hi Stan;

Lets step back a little bit.

On Thu, 2008-06-26 at 18:52 -0700, stan wrote: 
> William Case wrote:
> > Hi Tim;
> >
> > On Fri, 2008-06-27 at 07:35 +0930, Tim wrote: 
> >   
> >> On Thu, 2008-06-26 at 10:28 -0400, William Case wrote:
> >>     
> >>> When I first boot I get the Fedora grub splash screen/menu twice --
> >>> besides that everything else boots normally.
> >>>       
> This describes the behavior that occurs when there is a configfile entry 
> in the
> grub.conf file.  You don't have that? 
> 
> For instance, you keep your mbr on sda.  However, you have another boot 
> partition
> on sdb.  You can put the entry
> root(hd1,0)   # boot for second OS is first partition on second drive
> configfile /grub/menu.lst
> in grub.conf and it will bring up the second menu that you can then 
> select which
> kernel you want to boot on the other OS.
> 
As I understand it, and have used it for over two years, grub has three
parts or stages.

1) stage1 is one line that is installed on the mbr within the 64 bytes
or 512 bits that is reserved on the disk for booting purposes.  Stage1
has the sole function of directing grub to stage1_5 or the grub loader
which is stage2. Stage1 is not grub but only a short binary that directs
the harddisk to read the next stage.  The grub program is in stage2.

2) stage1_5 (stage 1.5) is a file that can reside on the first track
next to the mbr.  stage1_5 is used when the instructions of where to
boot from are more complex than can be handled by the small mbr.  In
that case stage1 directs grub (actually the controller of the harddisk)
to read stage1_5 which then directs grub to read stage2 wherever stage2
happens to be installed.

3) stage2 is a the binary executable that contains the actual boot
loading instructions.  Stage2 gets some of the details for how and what
to load from the grub.conf file.

It is common on a dual boot system, to read the mbr of the first
harddisk (first, second etc. is established by the BIOS setup) and then
be directed to the /boot directory of the second harddisk in order to
read stage2.  Stage2 reads the information contained in
the /boot/grub/grub.conf | menu.lst and proceeds to boot. When booting,
if the hiddenmenu has been commented out, grub shows one and only one
splashscreen with a menu.  For a dual boot with Windows as an option,
the menu gives the user the choice of the latest Linux kernel, the next
to latest kernel and/or to chainload Windows (Other).  Whichever is
selected (or the default), grub boots directly into that Operating
System.

My /boot/grub/grub.conf is as follows:
# boot=/dev/sda
default=0
timeout=5
splashimage=(hd1,4)/grub/splash.xpm.gz
## hiddenmenu

title Fedora (2.6.25.6-55.fc9.x86_64)
root (hd1,4)
kernel /vmlinuz-2.6.25.6-55.fc9.x86_64 ro
root=UUID=884ffe2a-42ff-4835-bf57-b80bc45c3baa rhgb quiet
initrd /initrd-2.6.25.6-55.fc9.x86_64.img

title Fedora (2.6.25-14.fc9.x86_64)
root (hd1,4)
kernel /vmlinuz-2.6.25-14.fc9.x86_64 ro
root=UUID=884ffe2a-42ff-4835-bf57-b80bc45c3baa rhgb quiet
initrd /initrd-2.6.25-14.fc9.x86_64.img

title WindowsXP sp3
rootnoverify (hd0,0)
chainloader +1

There is no reason why I should be having this menu flash once and
disappear, pause, then load so that I can make an OS choice.

As has been suggested here by others, it looks like one stage2 has
become entangled with a second stage2.  I cannot find a second stage2. I
have used 'locate', 'find', and 'grub> find' to search both disks.  In
fact, root]# grub> find /boot/grub/grub.conf returns 'file not found'
error 15.  I have not yet used grub> find from the rescue disk command
line.  I am about to try that next to see what it can tell me.

And, in fact, in the past, if I let anaconda automagically install the
grub setup, it gave me exactly that: stage1 on the sda mbr and stage2
in /boot of sdb. It should have done that when I installed F9, yet
somehow grub remained entangled with an extra stage2.


-- 
Regards Bill;
Fedora 9, Gnome 2.22.2
Evo.2.22.2, Emacs 22.2.1




More information about the users mailing list