Results 1 to 9 of 9
Greeting!
Noobish question on multibooting multiple Linux distros.
I have four of the current major Linux distributions. Each has been installed and run individually (no other Linux distribution installed) in ...
- 03-27-2010 #1Just Joined!
- Join Date
- Mar 2010
- Posts
- 5
Multibooting multiple Linux distros
Greeting!
Noobish question on multibooting multiple Linux distros.
I have four of the current major Linux distributions. Each has been installed and run individually (no other Linux distribution installed) in a dual-boot configuration with Windoze. No problem.
What I want to do is install all four Linux distributions and multiboot them. Reading the internet it would seem this is a simple task with GRUB. The short version being - install a Linux distro with a separate /boot partition for GRUB and use GRUB to boot the other Linux distros from the GRUB boot menu.
So I installed one of the Linux distros with a separate partition for /boot. The distro installer installed GRUB in /boot and correctly setup a dual-boot configuration with Windoze. GRUB was installed to the MBR.
Next I installed a second Linux distro in its own root partition and told the distros installer NOT to install GRUB to the MBR, but rather, to the boot sector of the root partion of the second Linux distro. Installation was uneventful (and I could access the second Linux partition from the first installed Linux distro, things looked ok).
Then I added to following to the installed (MBR - /boot) GRUB's menu.lst:
After which I rebooted the system and the new entry for the second Linux distro now appears in the GRUB boot menu. I selected the second Linux distro from the boot menu and got the following GRUB error:Code:title lixux distro 2 root (hd0,7) chainloader +1
Error 5 : Partition table invalid or corrupt
Hmmm...fdisk, GParted, and Super GRUB Disk don't think the partition table is toast and I can still boot to the first Linux distro and Windoze from GRUB.
Next I check the menu.lst created by the installer of the second Linux distro which is as follows:
Okay, it is different, so let's copy the relevant part to the installed menu.lst and try again. So the following was added to the installed GRUB's menu.lst (of course removing the original chainloader entry attempt):Code:# 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,7) # kernel /boot/vmlinuz-version ro root=/dev/hde8 # initrd /boot/initrd-version.img #boot=/dev/hde8 default=0 timeout=5 splashimage=(hd0,7)/boot/grub/splash.xpm.gz hiddenmenu title Scientific Linux (2.6.18-164.2.1.el5) root (hd0,7) kernel /boot/vmlinuz-2.6.18-164.2.1.el5 ro root=LABEL=/ rhgb quiet initrd /boot/initrd-2.6.18-164.2.1.el5.img title Other rootnoverify (hd1,0) chainloader +1
Upon rebooting the system the boot menu shows the change. Selecting the second Linux distro from the boot menu results in the same GRUB Error 5 and I can still boot to the first Linux distro and Windoze.Code:splashimage=(hd0,7)/boot/grub/splash.xpm.gz hiddenmenu title Scientific Linux (2.6.18-164.2.1.el5) root (hd0,7) kernel /boot/vmlinuz-2.6.18-164.2.1.el5 ro root=LABEL=/ rhgb quiet initrd /boot/initrd-2.6.18-164.2.1.el5.img
Checking and rechecking I cannot find the problem. I suspect there is something I missed in the multiboot configuration but have no clue as to what it might be.
For yuks, here is the output from fdisk:
Note that sdb above is actually the boot disk where GRUB is installed in the MBR, boot order is selected in the BIOS and works correctly.Code:linux-xqyj:~ # fdisk -l Disk /dev/sda: 120.0 GB, 120034123776 bytes 255 heads, 63 sectors/track, 14593 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x2b072b07 Device Boot Start End Blocks Id System /dev/sda1 * 1 14593 117218241 7 HPFS/NTFS Disk /dev/sdb: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x000e0a41 Device Boot Start End Blocks Id System /dev/sdb1 1 262 2104483+ 83 Linux /dev/sdb2 263 1306 8385930 82 Linux swap / Solaris /dev/sdb3 1307 60801 477893587+ f W95 Ext'd (LBA) /dev/sdb5 1307 16971 125829081 83 Linux /dev/sdb6 16972 22193 41945683+ 83 Linux /dev/sdb7 22194 32636 83883366 83 Linux /dev/sdb8 * 32637 37735 40957686 83 Linux
Any help?
TIA
- 03-27-2010 #2
Welcome to the forums dkwilson
You are unlikely to need to create a separate boot partition, but on the basis you already have it lets see if we can get things to work the way you want ...
you are using label=... to identify partitions, have you created more than one partition with the same label? can you post the output of
Code:ls /dev/disk/by-label -l
- 03-27-2010 #3Just Joined!
- Join Date
- Mar 2010
- Posts
- 5
Jonathan183: here's the labels, no duplicates:
Code:cosmic@linux-xqyj:~> ls /dev/disk/by-label -l total 0 lrwxrwxrwx 1 root root 10 2010-03-26 16:33 DRV1_VOL1 -> ../../sda1 lrwxrwxrwx 1 root root 10 2010-03-26 16:33 SUSE -> ../../sdb6 lrwxrwxrwx 1 root root 10 2010-03-26 16:33 \x2f -> ../../sdb8 cosmic@linux-xqyj:~>
- 03-27-2010 #4
What is the output of
andCode:mount
Code:cat /boot/grub/menu.lst
- 03-28-2010 #5Just Joined!
- Join Date
- Mar 2010
- Posts
- 5
Jonathan183:
Since last here I have reinstalled the two Linux distros a few times to try to resolve the problem. Alas, no change.
Although the distro should not matter since this is an issue of multibooting any distro with GRUB, I will mention the distros. The two distros that I am working with are openSUSE 11.2 and Scientific Linux 5.4. openSUSE is installed first with its GRUB (legacy) installed to the MBR. Scientific Linux is installed second. On the last install of SL I did not make custom partitions but instead let Anaconda create default partitions from free disk space. Anaconda created a /boot partition (sd8 ) for SL and an LVM partition (sd9). Letting Anaconda do its thing did not alter the boot problem.
Since I reinstalled everything some previous info changed, so I'll just update everything to be clear.
The partitions are:
Labels are:Code:linux-zx2q:~ # fdisk -l Disk /dev/sda: 120.0 GB, 120034123776 bytes 255 heads, 63 sectors/track, 14593 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x2b072b07 Device Boot Start End Blocks Id System /dev/sda1 * 1 14593 117218241 7 HPFS/NTFS Disk /dev/sdb: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x00008ec3 Device Boot Start End Blocks Id System /dev/sdb1 1 262 2104483+ 83 Linux /dev/sdb2 263 1306 8385930 82 Linux swap / Solaris /dev/sdb3 1307 60801 477893587+ f W95 Ext'd (LBA) /dev/sdb5 1307 16971 125829081 83 Linux /dev/sdb6 16972 22193 41945683+ 83 Linux /dev/sdb7 22194 32636 83883366 83 Linux /dev/sdb8 * 32637 32649 104391 83 Linux /dev/sdb9 32650 60801 226130908+ 8e Linux LVM
Mounts are:Code:linux-zx2q:~ # ls /dev/disk/by-label -l total 0 lrwxrwxrwx 1 root root 10 Mar 27 20:23 DRV1_VOL1 -> ../../sda1 lrwxrwxrwx 1 root root 10 Mar 27 20:23 SUSE -> ../../sdb6 lrwxrwxrwx 1 root root 10 Mar 27 20:23 \x2fboot -> ../../sdb8
The menu.lst of the MBR GRUB (openSUSE) is:Code:linux-zx2q:~ # mount /dev/sdb6 on / type ext4 (rw,acl,user_xattr) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) debugfs on /sys/kernel/debug type debugfs (rw) udev on /dev type tmpfs (rw) devpts on /dev/pts type devpts (rw,mode=0620,gid=5) /dev/sdb1 on /boot type ext4 (rw,acl,user_xattr) /dev/sdb5 on /home type ext4 (rw,acl,user_xattr) /dev/sdb7 on /tmp type ext4 (rw,acl,user_xattr) fusectl on /sys/fs/fuse/connections type fusectl (rw) securityfs on /sys/kernel/security type securityfs (rw) gvfs-fuse-daemon on /home/cosmic/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=cosmic)
The device.map of the MBR GRUB (openSUSE) is:Code:# Modified by YaST2. Last modification on Sat Mar 27 20:40:27 EDT 2010 # THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader # Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader default 0 timeout 8 gfxmenu (hd0,0)/message ###Don't change this comment - YaST2 identifier: Original name: linux### title openSUSE 11.2 - 2.6.31.5-0.1 root (hd0,0) kernel /vmlinuz-2.6.31.5-0.1-default root=/dev/disk/by-id/ata-WDC_WD5000AAKB-00H8A0_WD-WCASY8802778-part6 resume=/dev/disk/by-id/ata-WDC_WD5000AAKB-00H8A0_WD-WCASY8802778-part2 splash=silent quiet showopts vga=0x31a initrd /initrd-2.6.31.5-0.1-default ###Don't change this comment - YaST2 identifier: Original name: failsafe### title Failsafe -- openSUSE 11.2 - 2.6.31.5-0.1 root (hd0,0) kernel /vmlinuz-2.6.31.5-0.1-default root=/dev/disk/by-id/ata-WDC_WD5000AAKB-00H8A0_WD-WCASY8802778-part6 showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe vga=0x31a initrd /initrd-2.6.31.5-0.1-default ###Extracted from grub.conf created by Anaconda installer### splashimage=(hd0,7)/grub/splash.xpm.gz hiddenmenu title Scientific Linux (2.6.18-164.2.1.el5) root (hd0,7) kernel /vmlinuz-2.6.18-164.2.1.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet initrd /initrd-2.6.18-164.2.1.el5.img ###Don't change this comment - YaST2 identifier: Original name: windows### title Windows map (hd1) (hd0) map (hd0) (hd1) rootnoverify (hd1,0) makeactive chainloader +1
Note that I set the BIOS boot order so I can leave Windoze on a separate drive and boot via chainloading from GRUB rather than muck around with the MBR of the Windoze drive.Code:(hd0) /dev/disk/by-id/ata-WDC_WD5000AAKB-00H8A0_WD-WCASY8802778 (hd1) /dev/disk/by-id/ata-WDC_WD1200JB-00GVA0_WD-WCALA2021057
The menu.lst (grub.conf) created by SL Anaconda is:
To recap, from the GRUB menu list I can boot to either openSUSE or Windoze with no problem. When I select SL, I get the following error from GRUB:Code:# grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,7) # kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00 # initrd /initrd-version.img #boot=/dev/hde8 default=0 timeout=5 splashimage=(hd0,7)/grub/splash.xpm.gz hiddenmenu title Scientific Linux (2.6.18-164.2.1.el5) root (hd0,7) kernel /vmlinuz-2.6.18-164.2.1.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet initrd /initrd-2.6.18-164.2.1.el5.img title Other rootnoverify (hd1,0) chainloader +1
Again, thanks for your help!Code:root (hd0,7) Error 5: Partition table invalid or corrupt Press any key to continue...
- 03-28-2010 #6
I think this may be a grub/BIOS issue, and the problems may be due to 1024 cylinder limit ... in some instances grub is not able to boot from a partition above 1024 cylinders. You could test this out by placing your boot partition on the hard drive around the same place you currently have swap. Make sure it does not exceed 1024 cylinder limit and see if you are able to boot both versions of Linux.
btw if you install scientific linux grub to the MBR will the system boot?
- 03-28-2010 #7Just Joined!
- Join Date
- Mar 2010
- Posts
- 5
Jonathan183,
Ouch! I was hoping you would see some error in my ways!!!
I doubt that the BIOS is an issue as it is ACPI and EDD 3.0 compliant (newer machine) and does support LBA and so large drives. (BTW, in a former life I designed motherboards for a major industry player.)I think this may be a grub/BIOS issue, and the problems may be due to 1024 cylinder limit ... in some instances grub is not able to boot from a partition above 1024 cylinders. You could test this out by placing your boot partition on the hard drive around the same place you currently have swap. Make sure it does not exceed 1024 cylinder limit and see if you are able to boot both versions of Linux.
The large hard drive is connected via a PCI ATA card (Sil680 based) so I really don't suspect any problem there - vanilla stuff.
GRUB? Maybe, but my system is very plain jane common.
Yes, did that before attempting multiboot. In fact, I installed Fedora, Mint, openSUSE, Scientific Linux, and Ubuntu individually. All distros installed an booted fine. In fact, all distro installers correctly setup the dual-boot with Windoze.btw if you install scientific linux grub to the MBR will the system boot?
In the off chance that somehow the old 8Gb limit is the problem I will put SL boot in the /boot partition at sdb1 (the boot partition for SUSE) and see it that makes a difference.
If I can take the GRUB error at face value, that implies that Anaconda is barfing. Dunno.
Another option is to install some other distro in place of SL to see what happens. Have not changed the distro mix yet because I'm not sure where the problem is (and I'm new to Linux so it could easily be moi).
Any case, I'll move the boot below 8Gb and if that doesn't work replace SL with another distro and report my findings.
- 03-29-2010 #8Just Joined!
- Join Date
- Mar 2010
- Posts
- 5
Jonathan183:
Got it working!
What I did was to create the directory /boot/sl in the SUSE /boot partition, sdb1 (the SUSE installed GRUB is on the MBR of the drive). Then I copied the kernel files from the SL /boot partition ( sdb8 ) to /boot/sl in the SUSE /boot partition and modified menu.lst as follows:
Now SL boots when selected from the GRUB menu. This is how I wanted to do this to begin with - I must have screwed something up in my earlier attempts.Code:# Modified by YaST2. Last modification on Sun Mar 28 22:19:16 EDT 2010 # THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader # Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader default 0 timeout 8 gfxmenu (hd0,0)/message ###Don't change this comment - YaST2 identifier: Original name: linux### title openSUSE 11.2 - 2.6.31.12-0.2 root (hd0,0) kernel /vmlinuz-2.6.31.12-0.2-default root=/dev/disk/by-id/ata-WDC_WD5000AAKB-00H8A0_WD-WCASY8802778-part6 resume=/dev/disk/by-id/ata-WDC_WD5000AAKB-00H8A0_WD-WCASY8802778-part2 splash=silent quiet showopts vga=0x31a initrd /initrd-2.6.31.12-0.2-default ###Don't change this comment - YaST2 identifier: Original name: failsafe### title Failsafe -- openSUSE 11.2 - 2.6.31.12-0.2 root (hd0,0) kernel /vmlinuz-2.6.31.12-0.2-default root=/dev/disk/by-id/ata-WDC_WD5000AAKB-00H8A0_WD-WCASY8802778-part6 showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe vga=0x31a initrd /initrd-2.6.31.12-0.2-default title Scientific Linux (2.6.18-164.2.1.el5) root (hd0,0) kernel /boot/sl/vmlinuz-2.6.18-164.2.1.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet initrd /boot/sl/initrd-2.6.18-164.2.1.el5.img ###Don't change this comment - YaST2 identifier: Original name: windows### title Windows map (hd1) (hd0) map (hd0) (hd1) rootnoverify (hd1,0) makeactive chainloader +1
I could not chainload SL which implies that Anaconda did not write GRUB stage1 to the boot sector of the selected partition or that GRUB choked. Dunno.
Why SL could not boot from /boot in sdb8 is a mystery. I am certain there is no issue with 1024 cylinders so GRUB may be the culprit.
Stuff to look at later...in the meantime gonna install more distros.
Thanks for your input, it was quite helpful!
- 03-29-2010 #9


Reply With Quote

