You are not logged in.
Hi, everybody,
I've got two SATA hard drives: sda and sdb. There is a Linux on sdb, and the GRUB in it's MBR. Here's /boot/grub/menu.lst (sdb):
timeout 10
color black/cyan yellow/cyan
gfxmenu (hd0,0)/usr/share/gfxboot/themes/pclinuxos/boot/message
default 0
title linux 2.6.22.15.tex2
kernel (hd0,0)/boot/vmlinuz-2.6.22.15.tex2 BOOT_IMAGE=2.6.22.15.tex2 root=/dev/sdb1 acpi=on resume=/dev/sdb2 splash=silent vga=788
initrd (hd0,0)/boot/initrd-2.6.22.15.tex2.img
title linux old kernel
kernel (hd0,0)/boot/vmlinuz BOOT_IMAGE=linux root=/dev/sdb1 acpi=on resume=/dev/sdb2 splash=silent vga=788
initrd (hd0,0)/boot/initrd.img
title linux-nonfb
kernel (hd0,0)/boot/vmlinuz BOOT_IMAGE=linux-nonfb root=/dev/sdb1 acpi=on resume=/dev/sdb2
initrd (hd0,0)/boot/initrd.img
title failsafe
kernel (hd0,0)/boot/vmlinuz BOOT_IMAGE=failsafe root=/dev/sdb1 failsafe acpi=on resume=/dev/sdb2
initrd (hd0,0)/boot/initrd.img
title Arch Linux
root (hd1,4)
kernel /boot/vmlinuz26 root=/dev/sda5 ro
initrd /boot/kernel26.img
chainloader +1
#title FreeBSD
#rootnoverify (hd1,0,a)
#kernel /boot/loader
#chainloader +1
#title windows
#root (hd1,0)
#makeactive
#chainloader +1
The Arch entry won't work: GRUB Error 13: - something wrong with the kernel image...
I tried to install the Arch's own GRUB into the sda MBR; now Arch is booting successfully from it's own GRUB - provided the sda is first in the BIOS boot order. Now I have to change the BIOS boot order depending on what system I want to boot, which is less then a satisfactory arrangement .
/boot/grub/menu.lst (sda, Arch's own):
# Config file for GRUB - The GNU GRand Unified Bootloader
# /boot/grub/menu.lst
# DEVICE NAME CONVERSIONS
#
# Linux Grub
# -------------------------
# /dev/fd0 (fd0)
# /dev/hda (hd0)
# /dev/hdb2 (hd1,1)
# /dev/hda3 (hd0,2)
#
# FRAMEBUFFER RESOLUTION SETTINGS
# +-------------------------------------------------+
# | 640x480 800x600 1024x768 1280x1024
# ----+--------------------------------------------
# 256 | 0x301=769 0x303=771 0x305=773 0x307=775
# 32K | 0x310=784 0x313=787 0x316=790 0x319=793
# 64K | 0x311=785 0x314=788 0x317=791 0x31A=794
# 16M | 0x312=786 0x315=789 0x318=792 0x31B=795
# +-------------------------------------------------+
# general configuration:
timeout 5
default 0
color light-blue/black light-cyan/blue
# boot sections follow
# each is implicitly numbered from 0 in the order of appearance below
#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
#
#-*
# (0) Arch Linux
title Arch Linux
root (hd0,4)
kernel /boot/vmlinuz26 root=/dev/sda5 ro
initrd /boot/kernel26.img
# (1) Arch Linux
title Arch Linux Fallback
root (hd0,4)
kernel /boot/vmlinuz26 root=/dev/sda5 ro
initrd /boot/kernel26-fallback.img
# (1) Windows
#title Windows
#rootnoverify (hd0,0)
#makeactive
#chainloader +1
I'd be happy to boot into Arch from sdb; what am I to change in the /boot/grub/menu.lst (sdb)?
Offline
If you've got a second GRUB installed on (hd1,4) you don't need to specify kernel or initrd when chainloading:
title Arch Linux
rootnoverify (hd1,4)
chainloader +1
That should do the trick.
Last edited by dyscoria (2008-04-07 09:11:26)
flack 2.0.6: menu-driven BASH script to easily tag FLAC files (AUR)
knock-once 1.2: BASH script to easily create/send one-time sequences for knockd (forum/AUR)
Offline
Tried your way. Nothing has changed
Offline
Just to clarify, tell me if i'm wrong:
You've got a /boot partition at (hd0,0) in which you've installed the PCLOS grub.
You've installed Arch's grub onto (hd1,4), which is also Arch's root partition (or have you got a another /boot partition for that aswell??).
If that's the case you'll want this in the PCLOS grub (typo first time round):
title Arch Linux
rootnoverify (hd1,4)
chainloader +1
And this in the Arch grub (take note of the change from (hd0,4) to (hd1,4) and sda5 to sdb5:
# (0) Arch Linux
title Arch Linux
root (hd1,4)
kernel /boot/vmlinuz26 root=/dev/sda5 ro
initrd /boot/kernel26.img
# (1) Arch Linux
title Arch Linux Fallback
root (hd1,4)
kernel /boot/vmlinuz26 root=/dev/sdb5 ro
initrd /boot/kernel26-fallback.img
flack 2.0.6: menu-driven BASH script to easily tag FLAC files (AUR)
knock-once 1.2: BASH script to easily create/send one-time sequences for knockd (forum/AUR)
Offline
title Arch Linux
rootnoverify (hd1,4)
chainloader +1
Yes, I guessed that much myself , but no go still.
Let me point out, that:
(1) Arch GRUB doesn't seem to get invoked at all;
(2) PCLOS GRUB hits the Arch kernel, but sees it a wrong way (Error 13 means a wrong kernel format (no multiload or some such thing))
It looks like a slightly different problem from hitting a wrong partition.
Offline
If you're chainloading, the PCLOS grub shouldn't need to read the Arch kernel. All it needs to do is invoke the Arch grub, at which point the Arch grub takes over and should show the Arch GRUB screen. Make sure you delete any reference to the Arch kernel or initrd in the PCLOS grub.
You'll be setting sdb as the highest in the BIOS boot order, therefore loading the PCLOS grub in the MBR of the second hard drive. Selecting the arch entry will then chainload the Arch grub in the MBR of the first hard drive. Arch grub will recognize its own kernel format, but i'm guessing the PCLOS grub can't. That won't matter though as you'll be chainloading.
[edit: actually, to make this work , you need to install arch grub on (hd0,4) instead of the MBR. I'm not sure how to chainload to another hard drive's MBR]
Last edited by dyscoria (2008-04-07 10:31:17)
flack 2.0.6: menu-driven BASH script to easily tag FLAC files (AUR)
knock-once 1.2: BASH script to easily create/send one-time sequences for knockd (forum/AUR)
Offline
See this for chainloading to another MBR:
http://www.gnu.org/software/grub/manual … 02fWindows
OK right.
PCLOS grub=MBR of sdb (hd1)
ARCH grub=MBR of sda (hd0)
You'll want something like this in PCLOS grub:
title Arch Linux
unhide (hd0)
hide (hd1)
rootnoverify (hd0)
chainloader +1
makeactive
If that doesn't work then its just a case of swapping the ones and zeroes around (i hope).
Then something like this in arch grub (as long as the kernel is in the fifth partition of the first hard drive). Typo first time round, (hd1,4) should be (hd0,4):
# (0) Arch Linux
title Arch Linux
root (hd0,4)
kernel /boot/vmlinuz26 root=/dev/sda5 ro
initrd /boot/kernel26.img
# (1) Arch Linux
title Arch Linux Fallback
root (hd0,4)
kernel /boot/vmlinuz26 root=/dev/sda5 ro
initrd /boot/kernel26-fallback.img
Last edited by dyscoria (2008-04-07 11:07:17)
flack 2.0.6: menu-driven BASH script to easily tag FLAC files (AUR)
knock-once 1.2: BASH script to easily create/send one-time sequences for knockd (forum/AUR)
Offline
The sane idea generally accepted - and recommended - is to use the same GRUB for all Linux (and all OS) installs unless you have special reasons against it. In this case, for all of the menu.lsts the grub root line needs to point to the place where the boot files reside. For example, if you have sda and sdb you should only install/use the GRUB on either.
root (hd0,0) # /boot on /dev/sda1
Another thing to take note is that GRUB takes the first boot device as the first disk in the machine. So even if it's sdb and it's the first boot device (eg. an USB device), it'd be hd0,0 for MBR on /dev/sdb or /boot on /dev/sdb1.
Last edited by schivmeister (2008-04-07 18:54:57)
I need real, proper pen and paper for this.
Offline
Another thing to take note is that GRUB takes the first boot device as the first disk in the machine. So even if it's sdb and it's the first boot device (eg. an USB device), it'd be hd0,0 for MBR on /dev/sdb or /boot on /dev/sdb1.
You legend
That fixed my GRUB on my new install on sdb
Thank-you
Are you familiar with our Forum Rules, and How To Ask Questions The Smart Way?
BlueHackers // fscanary // resticctl
Offline