Windows Vista, Linux, FreeBSD のマルチブート

終結果:

# fdisk -l

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x90909090

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        3917    31457280    7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2            3917        7703    30408704   83  Linux
Partition 2 does not end on cylinder boundary.
/dev/sda3            7703        7964     2097152   82  Linux swap / Solaris
Partition 3 does not end on cylinder boundary.
/dev/sda4   *        7964        9730    14186584   a5  FreeBSD
Partition 4 does not end on cylinder boundary.  

cylinder boundary に沿ってないというのがあまりよくないようですね。どうすりゃよかったんだろ。


手順:
Windows Vista インストール時に他OSのパーティションがあると、「インストールできるシステム ボリュームが見つかりません」と表示されてしまうので、Vista を最初にインストールしないといけない。

1. Windows Vista Home Basic を普通にインストール。
2. Fedora 12 を普通にインストール(grubMBR にインストール)。

3. FreeBSD 8 をインストール。boot manager の選択には

None (Leave the Master Boot Record untouched)

を選択。

4. grub 設定ファイルに FreeBSD を追加。

# cat /boot/grub/grub.conf
# 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,1)
#          kernel /boot/vmlinuz-version ro root=/dev/sda2
#          initrd /boot/initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,1)/boot/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.31.5-127.fc12.i686)
        root (hd0,1)
        kernel /boot/vmlinuz-2.6.31.5-127.fc12.i686 ro root=UUID=a8737667-3844-4338-9b32-64d061b2decd noiswmd LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=jp106 rhgb quiet
        initrd /boot/initramfs-2.6.31.5-127.fc12.i686.img
title Windows Vista
        rootnoverify (hd0,0)
        chainloader +1
title FreeBSD 8
        root (hd0,3,a)
        kernel /boot/loader