From Fedora Project Wiki
Obsolete
This document is obsolete. Fedora switched to the grub2 bootloader by default in Fedora 16. Chainloading is discouraged for use with grub2, and upstream developers recommend using the grub2 configfile directive to achieve a similar configuration. See here for details.

This document outlines an installation technique to simplify booting multiple operating systems.

Making Room

If you have an operating system already installed and using the entire disk, you may first need to resize that disk partition to make room for other operating systems. This is common if your system comes pre-installed with Windows and you would like to keep that software installed. For tips see http://docs.fedoraproject.org/install-guide/f10/en_US/sn-disk-druid.html.

Install Additional Operating Systems

With the native operating system resized, install as many operating systems as you wish. However, do not install the bootloader to the master boot record (MBR). Instead, be sure to install the boot loader to each '/boot' partition.

Configure the MBR

Create a small partition which will be configured to chainload all installed operating systems. For this example, we'll use /dev/sda7.

  1. Install grub to /dev/sda7
    grub-install /dev/sda7
  2. Setup /dev/sda7 as the boot partition
    # grub
    grub> root (hd0,6)
    grub> setup (hd0)
  3. Configure grub to boot Rawhide /dev/sda6, Fedora /dev/sda3 and Windows /dev/sda1. Note, your partitions will likely differ.
    default=0
    timeout=5
    hiddenmenu
    title Rawhide
    rootnoverify (hd0,5)
    chainloader +1
    boot
    title Fedora
    rootnoverify (hd0,2)
    makeactive
    chainloader +1
    boot
    title Windows XP
    rootnoverify (hd0,0)
    chainloader +1

Reboot With Confidence

You now have a setup with multiple operating systems, each with it's own bootloader configuration. This makes upgrading kernels and re-installing easier (providing you do not replace the MBR).

Appendix

My current partition scheme

# parted /dev/sda -s p
Model: ATA HTS541060G9AT00 (scsi)
Disk /dev/sda: 60.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system  Flags
 1      32.3kB  10.7GB  10.7GB  primary   ntfs              
 3      10.7GB  10.8GB  107MB   primary   ext3         boot 
 4      10.8GB  55.8GB  44.9GB  extended                    
 5      10.8GB  55.6GB  44.7GB  logical                lvm  
 6      55.6GB  55.7GB  107MB   logical   ext3              
 7      55.7GB  55.8GB  107MB   logical   ext3              
 2      55.8GB  60.0GB  4242MB  primary   fat32        lba