many of these issues and problems can be avoided by having a boot partition. I generally keep a 100MB boot partition right after my windows partition (or at partition 1 if it is a linux-only system) formated as ext3.
I keep a gentoo livecd for x86 and amd64 both (2 keys, 1GB each) that I have modified according to my needs, but you can generally get by with any decent livecd/usb for this. Typically when having bootloader problems I don't want to wait for a whole gui environment to load.
in the case of gentoo, I boot like so:
gentoo-nofb nox noacpi apic=off
This disables framebuffers, disables loading of the xserver, turns off power managemnt including on uniprocessor systems. it's faster than the other options and safer since many problems are related to power management and/or unstable framebuffer code.
having reached a stable shell, I then can mount my bootloader reliably with:
mkdir /mnt/boot
mount -t ext3 /mnt/boot
I generally set up grub for any given linux distribution to boot /boot/vmlinuz root=/dev/sda3 (or /dev/sda1 or /dev/hda1, etc... depending on where your root partition is)
whenever you run make install with the kernel it creates a symlink from /boot/vmlinuz to whatever kernel you have just installed.
in the grub.conf file, I generally set up boot=0 and fallback=2 (the most recent stable build)
an example of my graphical grub configuration:
Code:
# http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&chap=10#doc_chap2
# If you are not using Genkernel and you need help creating this file, you
# should consult the handbook. Alternatively, consult the grub.conf.sample that
# is included with the Grub documentation.
default 2
fallback 3
timeout 30
splashimage=(hd1,0)/boot/grub/splash.xpm.gz
title Gentoo Linux default
root (hd1,0)
kernel /boot/vmlinuz root=/dev/hdb3
title Gentoo Linux 2.6.28-gentoo
root (hd1,0)
kernel /boot/vmlinuz-2.6.28-gentoottvn-matt root=/dev/hdb3
title Gentoo Linux 2.6.27-gentoo-r7
root (hd1,0)
kernel /boot/vmlinuz-2.6.27-gentoo-r7ttvn-matt root=/dev/hdb3
title Gentoo Linux 2.6.26-gentoo-r4
root (hd1,0)
kernel /boot/vmlinuz-2.6.26-gentoo-r4ttvn-matt root=/dev/hdb3
title Gentoo Linux 2.6.25-gentoo-r9
root (hd1,0)
kernel /boot/vmlinuz-2.6.25-gentoo-r9ttvn-matt root=/dev/hdb3
title Gentoo Linux 2.6.25-gentoo-r8
root (hd1,0)
kernel /boot/vmlinuz-2.6.25-gentoo-r8ttvn-matt root=/dev/hdb3
title Gentoo Linux 2.6.25-gentoo-r7
root (hd1,0)
kernel /boot/vmlinuz-2.6.25-gentoo-r7ttvn-matt root=/dev/hdb3
title Windows XP
rootnoverify (hd0,0)
makeactive
chainloader +1
#initrd /boot/initramfs-genkernel-x86-2.6.24-gentoo-r5
# vim:ft=conf:
on this system, /dev/sda1 is windows xp (ntfs) and /dev/sda2 is partitioned for linux (reiserfs format)
the second disk is configured with the partitions laid out as I suggested before, with a boot partition for all of the installed distros:
Code:
Disk /dev/hdb: 40.0 GB, 40000000000 bytes
16 heads, 63 sectors/track, 77504 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Disk identifier: 0x9a5d65a2
Device Boot Start End Blocks Id System
/dev/hdb1 1 195 98248+ 83 Linux
/dev/hdb2 196 2180 1000440 82 Linux swap / Solaris
/dev/hdb3 2181 77504 37963296 83 Linux
Notice the 50M boot partition at the start of the second disk.
Anyhow, I know that this isn't standard for Ubuntu installs but I hope it sheds some light on how to intelligently install multiple distros. In general, keep a boot partition and share it between all distros as it is very easy to maintain by hand.
Bookmarks