戻る

ひとつのHDD上ですべての作業を行う方法
(ひとつのHDD上に複数の FreeBSD をインストールする方法)

「FreeBSD が起動するブータブル CD-ROM の作成」 で紹介した方法では,PCに2台のHDDを搭載して作業することを前提にしていました. しかし,HDDの余りが無いとか,ノートPCしか持ってないなど,1台のHDD上で すべての作業をしたい場合があると思います.ここでは,1台のHDDに 2つの FreeBSD をインストールして作業をする方法を紹介します.

要するに,1台のHDDに複数の FreeBSD がインストールできればいいわけです (FreeBSD と NetBSD は簡単に共存できるため,作業用とイメージ用でそれぞれ 違った BSD を使うというならば,問題はありません). ここでは僕が実際に試してうまくいった方法を紹介します.が,あるていど危険な 作業になるので,十分にバックアップを取って,各自の責任のもとで行ってください. (余っている HDD などがある場合には,一時的に HDD を増設してしまうほうが 無難で安全なのでおすすめします)

まず,FreeBSD-4.4 のインストーラでは,1台の HDD 上に複数の FreeBSD を インストールすることができました.しかし,FreeBSD-4.3 以前のインストーラでは, 1台のHDDに2つの FreeBSD をインストールすることはできないようです. この場合には,1つ目の FreeBSD のパーティションのIDを一時的に別のもの (NetBSD の 169 とかにしておくとよい)にしてから,2番目の FreeBSD を インストールし,インストール後にIDをもとに戻しておくことで解決できました. ただし,IDをもとに戻さないと1番目の FreeBSD はブートできないので注意して ください.

ただし,2つ目の FreeBSD をインストールする際や,パーティションIDを変更する 際に,既存の FreeBSD のブートブロックが書き換えられてしまう(?)らしいのです. このため,なんの準備も無しに2つ目の FreeBSD をインストールしてしまうと, インストール後に1つ目の FreeBSD を起動しようとしても, ブート時に Invalid partition と出て起動できなくなってしまうようです. (マウントはできるようです)

この対策として,2つ目の FreeBSD をインストールする前やIDを変更する前には, 以下のようにして1つ目の FreeBSD のブートブロックを保存しておきます. (デバイス名は適宜置き換えてください)

# dd if=/dev/ad0s1 of=ad0s1.boot bs=512 count=16
これで ad0s1.boot というファイルが作成されるので,FD上など,どこか適当な ところに保存しておきます. ここではHDDの1番目のパーティション(ad0s1)に FreeBSD がインストールされて いると仮定しています.なお,FreeBSD の場合には通常パーティション内をさらに ad0s1a や ad0s1e などの複数に分けてインストールするのが普通ですが, これらは考える必要はありません./dev/ad0s1 の先頭 8192 バイトだけ保存して おけばよい.

さらに,2つ目の FreeBSD をインストールし,その後に,

# dd if=ad0s1.boot of=/dev/ad0s1 conv=notrunc
でブートブロックを復旧します.これで,1番目の FreeBSD が再びブートできる ようになりました.

ちなみに,NetBSDのブートセレクタでは,1台のHDD上の2つ目の FreeBSD を ブートできないようです(選択しても1つ目の FreeBSD がブートしてしまう). FreeBSD のブートセレクタだと1番目の FreeBSD と2番目の FreeBSD をちゃんと 切替えてブートできるようでしたので,ブートセレクタは FreeBSD のものを MBR に インストールするといいでしょう.

この方法を使えば,1台のHDD上に作業用 FreeBSD,イメージ用 FreeBSD, イメージ用 NetBSD をすべてインストールして,CD-FreeBSD と CD-NetBSD を 1台のHDD上で作成することができます(実際に僕はそうしています). 最近のノート PC は CD-R/RW ドライブがついているものが多いので,ノートPC上でも CD-FreeBSD や CD-NetBSD が作成できることになります.また,Windows と共存して いる場合にも,HDD のパーティションを Windows/FreeBSD/FreeBSD/NetBSD のような 構成にして,CD-FreeBSD と CD-NetBSD を作成することも可能でしょう.

戻る