Take the 2-minute tour ×

If I want to start the boot process, what file do I point to? I have Ubuntu 11.10 installed on a separate disk from openSuse 12.1 and windows 7. When I installed Ubuntu, I had to reinstall the OpenSuse to boot it and windows. Using OpenSuse boot loader, I can't seem to get the boot menu configured to start Ubuntu. I understand my problem is with the OpenSuse boot loader not being configured correctly. As a newbie I don't really understand the boot process of a linux system.

share|improve this question
add comment

1 Answer

OpenSuse uses the Grub BootLoader. (A Boot Loader is a program that the BIOS looks for when the computer turns on, it is always located in the first 446 bytes of the hard drive). Grub then makes the filesystems of Ubuntu, OpenSuse, and Windows 7 available and looks to a file called /boot/grub/grub.cfg which tells it what operating systems are on the computer and how to boot them.

The Complex answer

Here is and example of a grub.cfg file. This is what an entry for Ubuntu looks like:

### BEGIN /etc/grub.d/12_os-prober ###
menuentry "Ubuntu 11.10 (11.10) (on /dev/sda2)" --class gnu-linux --class gnu --class os {
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 3582d70f-f4a5-484c-b14c-45cd740346b9
    linux /vmlinuz-3.0.0-12-generic root=/dev/sda2
    initrd /initrd.img-3.0.0-12-generic

The insmod part_msdos line tells grub to learn how to read MBR partition tables The insmod ext2 line tells grub to learn how to read ext2/3/4 filesystems
The set root='(hd0,msdos1)' line tells grub that /boot is located on HDD #0, Partition 1 The search ... line tells grub to look at Ubuntu's partition for files
The linux /vmlinuz-3.... line tells grub that the Ubuntu Kernel is named that, on /dev/sda2
The initrd ... line tells grub where to look for the boot image.

The Simple Answer

Boot into OpenSuse and run the following:

sudo find / -name "grub.cfg"
sudo grub-mkconfig -o /file/found/in/above/command/grub.cfg

The first command will find the grub.cfg on your drive, probably at /boot. The second tells grub to look around for new operating systems and install them to the file you found above.

share|improve this answer
add comment

Your Answer


