ここんところ、実はよくわかっていません。
HDDには、
で、ここからが本題なんですが、 HDDからブートするときにはPrimary Master にブートローダーがないと ダメくさいです。しかし、本当かどうか、回避策があるのかないのか、 それもよくわかっていません。 とりあえず、この稿ではPrimary Master にブートローダーを入れる、 という前提で話を進めます。
1つ目のHDDに FreeBSDが入っていて、 2つ目のHDDに Ubuntu をインストールするとします。 Ubuntu インストール CD を CDドライブに入れて起動すると、 インストーラーが立ちあがります。 ここで、1台目のHDDは /dev/sda として、2台目は /dev/sdb として認識されます。 したがって、/dev/sda はいじらないで /dev/sdb へ Ubuntu をインストールするように インストーラを操作します。
このとき、ブートローダーをどこに入れるか、という選択肢もあります。 /dev/sdb に入れてすっきりさせたいところですが、 上に書いた前提(ブートローダーはPrimary Masterにあるべし)が正しければ、 /dev/sda に入れざるを得ません。
こうして HDD から再起動すると、 ブートすべきOSの選択肢はなくUbuntu が自動的に立ちあがります。 どうやら、Grub の設定をしないといけないようです。
と書いて、sudo update-grub を実行すれば良いそうです。
ここでちょっと解説ですが、計算機では0番から番号を割り振りますので、
set root=(hd0,1) とは、
「hd0(1台目のHDD)の2番目のパーティションからブートしてね」
という設定になります。これをどう設定すればよいかは FreeBSDをインストールしたときに
どのパーティションをルートにしたかに依存するかと思います。
通常は最初、つまり ad0s1a などをルート(/)にすると思いますが、 これがなぜ2番目のパーティションなんでしょう? おそらくですが、素では ad0s1a は (hd0,0) だと思います。 Ubuntu のブートローダーを一番先頭(1番目のパーティション)に持ってきたために 順番が一つずつずれて (hd0,1)になっているんじゃないかと思います。 外してたらすみません。
参考: ubuntu9.10でgrub編集+FreeBSDデュアルブート
さてこれで Grub も書き直したし、FreeBSD が選択できるかなー、
と期待に満ちて再起動しても、まだ起動時の選択画面がでません。
いろいろと探っていると、
起動時(BIOS画面が去った後)にShift を押しつづけると Grub がロードされる
というルールがあることを発見しました。
これで無事に FreeBSD を選択することができて、
選択するとちゃんとFreeBSDが起動しました。
Shift 長押しをしなくてもGrubがロードされる方法はあると思いますが、 まだ調べはついていません。