LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   confused with GRUB legacy and GRUB2. help wanted! (https://www.linuxquestions.org/questions/linux-newbie-8/confused-with-grub-legacy-and-grub2-help-wanted-930502/)

anirban 02-21-2012 09:11 AM

confused with GRUB legacy and GRUB2. help wanted!
 
Hi,I am a noob inching towards intermediate state.
Simply put,when I face problems, I look up in google and troubleshoot accordingly and that's that.
Also I am a distro hopper, but keep openSUSE 11.4 KDE installed permanently. A couple days back I tried to install PCLOS 2012.2 and mint12 KDE along with win 7(games only! :( ) making it a triple boot (dual boot+1) machine. Now as PCLOS uses grub legacy and mint uses grub2 I am having either mint+7 or PCLOS+7 but not all three. I tried installing the bootloaders on their respective /boot partitions and also on MBR(stupid eh?).
Also tried "redo-mbr" from PCLOS which was supposed to make it alri8.
now when I use 2 distro both using grub2, it's all fine and sunshine, but not with grub1 and grub2.
What do I need to do?
plz offer complete guidance.
long live LQ.

bigrigdriver 02-21-2012 10:18 AM

Since the two versions of grub aren't compatible, you could boot PCLinuxOS in the same manner as boot windows: use the chainloader +1 configuration to boot PCLinuxOS from OpenSuse's grub menu.

Grub2 in OpenSuse should detect grub2 in the Mint installation and add an entry in the grub2 menu for you, just run update-grub from OpenSuse after installing Mint.

Question: after installing PCLinuxOS, did you run update-grub from OpenSuse to see if PCLinuxOS would be added to the grub2 menu in OpenSuse?

anirban 02-21-2012 10:22 AM

@bigrigdriver, please give me details..how to chainload. or direct me to a tutorial.
Also from which os should i do this? (the one with grub1 or the other?)

liberalchrist 02-21-2012 10:23 AM

Neither grub legacy or grub2 always find every available operating system. In grub legacy, you have to edit the menu.lst. You would have to edit whatever the equivalent in grub2. This is usually fairly simple when some are already detected because you have sort of a template to go by. So choose one or the other and stick with it until every system is available. Then make a copy of the appropriate file for future reference.

bigrigdriver 02-21-2012 10:32 AM

The grub2 manual (GNU GRUB Manual 1.99) section (4.1.2 Chain-loading an OS) describes chainloading. Since OpenSuse is the distro you keep permanently, you should do it from OpenSuse. That way, you can change other distros at will without affecting your OpenSuse installation in any adverse way.

anirban 02-21-2012 10:37 AM

@bigrigdriver, but openSUSE has grub legacy. Currently I cant get into the other linux os (the one that uses grub2)
So how do I do it?
@liberalchrist, in openSUSE I can look around and find the menu.lst but do i write in it? a mere mentioning of the other distro(mint) sure won't make it bootable?

liberalchrist 02-21-2012 10:47 AM

If you are going to hop around different distros, you need to learn as much as you can about booting. It took me a long time to learn about grub. I later switched to lilo, and that took a while as well. Go to the grub homepage, http://www.gnu.org/software/grub/, and read the documentation. I personally find legacy easier to understand, but you may want to be more progressive. Yes, you do want to write in the menu.lst. That is the only way you can make changes.

anirban 02-21-2012 12:07 PM

@lc,so i went to openSUSE's bootloader, added mint, specified it's /boot partition and rebooted. -> mint didn't boot
again I went to bootloader, edited mint and specified it's / partition and rebooted -> mint didn't boot.
(Is this the same thing as editing menu.lst? coz both time the menu.lst showed mint as an entry...)

liberalchrist 02-21-2012 12:55 PM

If your new entry is showing up as a boot option, you are on the right track. Post a copy of your menu.lst.

anirban 02-21-2012 01:11 PM

just to make sure this is not mint's fault,installed chakra 2012.2 and tried again. same result.
here's menu.lst of openSuSE
"# Modified by YaST2. Last modification on Tue Feb 21 22:20:30 IST 2012
# THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
# For the new kernel it try to figure out old parameters. In case we are not able to recognize it (e.g. change of flavor or strange install order ) it it use as fallback installation parameters from /etc/sysconfig/bootloader

default 0
timeout 8
##YaST - generic_mbr
gfxmenu (hd0,4)/message
##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 12.1
root (hd0,4)
kernel /vmlinuz-3.1.0-1.2-default root=/dev/disk/by-id/ata-Hitachi_HTS545032B9A300_100203PBP306Q6FV57TL-part6 resume=/dev/disk/by-id/ata-Hitachi_HTS545032B9A300_100203PBP306Q6FV57TL-part7 splash=silent quiet showopts vga=0x317
initrd /initrd-3.1.0-1.2-default

###Don't change this comment - YaST2 identifier: Original name: windows 3###
title windows 7 (Loader)
rootnoverify (hd0,2)
chainloader +1

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 12.1
root (hd0,4)
kernel /vmlinuz-3.1.0-1.2-default root=/dev/disk/by-id/ata-Hitachi_HTS545032B9A300_100203PBP306Q6FV57TL-part6 showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x317
initrd /initrd-3.1.0-1.2-default

###Don't change this comment - YaST2 identifier: Original name: other###
title Chakra 2012.2
rootnoverify (hd0,9)
makeactive
chainloader +1 "

what am i doing wrong?

liberalchrist 02-21-2012 01:39 PM

First, you need to decide what operating system you are trying to install and stick with it. Only one bootloader can be installed on the MBR at one time. This needs to be openSuse because this is your permanent system. Assuming this is the bootloader you have installed, each time you add or change another distro, you need to edit this menu.lst with a text editor. In order to chainload, you would have to choose the option to install Grub in the root partition when installing Chakra. I don't know how chainloading works between Grub Legacy and Grub2, but I doubt that the quotation marks at the end of the chainloader +1 belong there.

Normally, between linux installations it is better to use a regular grub entry such as the one's you have for openSuse. It would look something like this. You have to make sure you are identifying the right partition in your root line and the right kernel and initrd locations in your other entries.

title Chakra 2012.2
root (hd0,9)
kernel /boot/vmlinuz-3.1.0 root=/dev/sda10
initrd /boot/initrd-3.1.0-1.2-default

Read this tutorial. Also read all the Grub website documentation for your brand of Grub as I suggested in my earlier post. You will not get a complete tutorial in a post on this forum.

yancek 02-21-2012 02:46 PM

You refer in one of your post to a separate boot partition for Mint as well as the root partition for the filesystem. Have you now removed Mint and replaced it with Chakra? Do you actually have a separate boot partition? I use PCLinux to boot Ubuntu, Mint, etc.. with an entry like this:

Quote:

title Ubuntu-10.10
root (hd0,4)
kernel /boot/grub/core.img
#savedefault
##boot
Ubuntu is on sda5 so you will need to change your entry to (hd0,9) if your system is on sda10.
I'm not sure why your chainloader entry didn't work. You might try googling bootinfoscript, downloading it and running it from Opensuse and posting the results.txt file it produces. It will show a lot of details about your system and boot files which should help to resolve your issue.

theNbomr 02-21-2012 07:13 PM

I fail to see why chainloading a Linux OS is a good idea. Using the installed legacy grub, you need to point it to a valid kernel, and a valid initramdisk (assuming the target Linux uses one).
Code:

title    Your Target OS, whatever it is
root      (hdx,y)
kernel    /boot/vmlinuz-2.6.xx.yy-something root=/dev/hdxn
initrd    /boot/initrd-2.6.xx.yy-something

You will have to figure out what to use to tell grub which partition it is supposed to use to find the boot directory for the specified OS. The parameters 'x' and 'y' in the example should be replaced by the hard-disk number (starting from zero) and the partition number on that disk, also numbered from zero, respectively. If you have three hard disks, and the target OS is on the third one, and the boot partition is the second partition on that disk, the root parameter would look like
Code:

root      (hd2,1)
This tells grub how to find a partition. Now, tel grub what files make up the bootable OS:
Code:

# From a Debian 5 installation
kernel          /boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro
initrd          /boot/initrd.img-2.6.26-2-686

The specified directories are expected to be found on the partition identified to grub as the 'root', above. The kernel name and initrd are simply the names of the respective files in the specified directory. Give the kernel a pointer to what it is supposed to mount as a root filesystem. Use Linux syntax (/dev/hdc1) rather than grub syntax.

You can mount the various partitions on your system to poke around and find where the desired boot directories are. Use the kernel and initrd images that you find there.

--- rod.

liberalchrist 02-21-2012 07:27 PM

I agree with theNbomr, chainloading makes no sense. I do know, however, that some distributions have tweaked themselves so much that they need a whole list of boot options appended to their kernel line to present themselves the way they want. Even so, the boot options can be transcribed to the working menu.lst.

anirban 02-22-2012 12:55 AM

@lc, I'l surely go through whatever documentation I can find on grub1 and 2,somehow I feel this area has been overlooked from a noob's perspective.
@yancek, yes I installed Chakra over the partitions of Mint. that means / of Chakra was on / of mint (formatted) and /boot on /boot.
And yes I have two /boot now. one of openSUSE and other of chakra(which was mint BEFORE).
@Rod, I learned the (hdx,y) thing the hard way, but how do I get access to the /boot partitions of chakra while I'm on SUSE? it's plain impossible to view the files even if I grant root privilege.

Damn! I already feel I should stick with dual booting :( . Also I appreciate the help you all are trying to give, but plz understand that I have already tried rescatux,super grub cd,Dedoimedo's tutorials on his website and few others. and I am yet to find a result.
Can sum1 tell me if I can install Grub2 on openSUSE?


All times are GMT -5. The time now is 08:07 AM.