System boots to grub instead of kernel

I installed Fedora 13 on a separate partition and it deleted all of my openSUSE entries in grub. Or the boot menu, whichever is correct. From another thread, I found these commands and tried it:

grub
root (hd0,3)
setup (hd0)
quit
reboot

hd0,3 contained one of my openSUSE installs. Everything went well and grub accepted all of these commands except quit. So I used esc and rebooted.

The reboot brought up the grub shell again. I could find no way to boot anything. Then I used the ‘repair installation’ option from the 11.2 dvd and installed a new boot loader for /dev/sda2 which contains 11.2.

This was successful, so I went to the YaST bootloader tool and added /dev/sda3 (Milestone 5) and /dev/sda4 (Fedora) and rebooted. But these two partitions still boot into grub instead of loading the correct kernel.

How do fix this?

You need to get one copy of Linux working or use a Live boot disk. If you did not overwrite the actual copy of a Linux partition, you could mount the existing partition and look in /boot/grub for an old copy of menu.lst. Further, before attempting to load multiple copies of Linux, you would want to backup your menu.lst files somewhere else. Then you would know what to add back to your possible new menu.lst. Have you tried mounting any of the old Linux partitions and looking for other copies of menu.lst?

If you add in new partitions, you may need to modify the menu.lst information to get it to work properly. In general, grub can work with multiple copies of Linux, but it takes a plan on your part to get them to work together. Many distributions only handle Windows boot partitions automatically and require extra work on your part to have more than one Linux copy installed.

Thank You,

@jdmcdaniel3

Maybe I wasn’t clear before. 11.2 is now booting normally. Here is menu.lst:

###Don't change this comment - YaST2 identifier: Original name: linux###
title SUSE LINUX 
    root (hd0,1)
    kernel /boot/vmlinuz root=/dev/disk/by-id/ata-WDC_WD5001AALS-00L3B2_WD-WCASYA147337-part2 resume=/dev/disk/by-id/ata-WDC_WD5001AALS-00L3B2_WD-WCASYA147337-part1 splash=silent quiet showopts vga=0x31a
    initrd /boot/initrd

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- SUSE LINUX 
    root (hd0,1)
    kernel /boot/vmlinuz root=/dev/disk/by-id/ata-WDC_WD5001AALS-00L3B2_WD-WCASYA147337-part2 showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe
    initrd /boot/initrd

###Don't change this comment - YaST2 identifier: Original name: other###
title openSUSE-11.3
    rootnoverify (hd0,2)
    chainloader +1

###Don't change this comment - YaST2 identifier: Original name: other###
title Fedora
    rootnoverify (hd0,3)
    chainloader +1

It’s 11.3 and Fedora that boot into grub instead of booting the respective kernels. This is what I need to fix.

For the two following entries to work, they assume you have another copy of grub loaded into each of these two partitions.

###Don’t change this comment - YaST2 identifier: Original name: other###
title openSUSE-11.3
rootnoverify (hd0,2)
chainloader +1

###Don’t change this comment - YaST2 identifier: Original name: other###
title Fedora
rootnoverify (hd0,3)
chainloader +1

I would mount both partitions (sda3 & sda4?) in openSUSE 11.2 and then look in /boot/grub of each for another copy menu.lst. Each, if present, would contain a line like the one at the first of your current menu.lst and reads like:

###Don’t change this comment - YaST2 identifier: Original name: linux###
title SUSE LINUX
root (hd0,1)
kernel /boot/vmlinuz root=/dev/disk/by-id/ata-WDC_WD5001AALS-00L3B2_WD-WCASYA147337-part2 resume=/dev/disk/by-id/ata-WDC_WD5001AALS-00L3B2_WD-WCASYA147337-part1 splash=silent quiet showopts vga=0x31a
initrd /boot/initrd

If there are no more menu.lst files on these two other partitions and you did not save a copy some where else, then you may need to reload these Linux versions again. You only need one copy of Grub to run multiply copies of Linux, but it is hard to guess what the loading line looks like as shown above unless you saved it some where.

Thank You,

/dev/sda3 has a normal openSUSE menu.lst. The one for Fedora is different but it does have a kernel listed in the normal way:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You do not have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /, eg.
#          root (hd0,3)
#          kernel /boot/vmlinuz-version ro root=/dev/sda4
#          initrd /boot/initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=15
splashimage=(hd0,3)/boot/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.33.1-24.fc13.x86_64)
        root (hd0,3)
        kernel /boot/vmlinuz-2.6.33.1-24.fc13.x86_64 ro root=UUID=a886245f-d072-4560-a8a1-03088ee63a70 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us rhgb quiet
        initrd /boot/initramfs-2.6.33.1-24.fc13.x86_64.img

Any ideas anyone?

So you need to edit your working copy of menu.lst file so it looks something like the following which at least adds Fedora back into the fold.

Modified by YaST2. Last modification on Sun Apr 11 12:52:40 CDT 2010

THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader

Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader

default 0
timeout 30
##YaST - generic_mbr
gfxmenu (hd0,1)/boot/message
##YaST - activate

###Don’t change this comment - YaST2 identifier: Original name: linux###
title SUSE LINUX
root (hd0,1)
kernel /boot/vmlinuz root=/dev/disk/by-id/ata-WDC_WD5001AALS-00L3B2_WD-WCASYA147337-part2 resume=/dev/disk/by-id/ata-WDC_WD5001AALS-00L3B2_WD-WCASYA147337-part1 splash=silent quiet showopts vga=0x31a
initrd /boot/initrd

###Don’t change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe – SUSE LINUX
root (hd0,1)
kernel /boot/vmlinuz root=/dev/disk/by-id/ata-WDC_WD5001AALS-00L3B2_WD-WCASYA147337-part2 showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe
initrd /boot/initrd

###Don’t change this comment - YaST2 identifier: Original name: other###
title Fedora (2.6.33.1-24.fc13.x86_64)
root (hd0,3)
kernel /boot/vmlinuz-2.6.33.1-24.fc13.x86_64 ro root=UUID=a886245f-d072-4560-a8a1-03088ee63a70 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us rhgb quiet
initrd /boot/initramfs-2.6.33.1-24.fc13.x86_64.img

You would use the command “kdesu kwrite /boot/grub/menu.lst” to perform the edit process and reboot and see if Fedora will run. Now you did not post the top part of your openSUSE menu.lst header so I put in a copy of mine for a complete file listing but you will only replace the bottom two entries with the Fedora one shown above.

Thank You,

SOLVED:

I managed to enter the correct commands in the grub shell to get /dev/sda3 (11.3) to boot. From there, I was able to create a new boot configuration with YaST and now all my partitions are booting.

I then deleted the Fedora partition and reinstalled in VirtualBox. This was a real pain and I don’t know why I didn’t use VBox in the first place. But at least I learned a few things about grub.

Happy to hear you got it all working. So do you use just one grub or is one grub starting another copy of grub? If you use a single menu.lst file, perhaps you can post it so we can see what your solution was.

Thank You,