FreeBSDを複数のOSが入っている環境で、無事起動させるにはMBR(マスターブートレコード)にBootLoaderが入っている必要があります。
例えばFreeBSD付属のBootLoaderや、フリーウェアのMBMがそれに当たります。
が、これらをWindowsとFreeBSDの両方が入っている環境で入れると、Windows NT系OS(NT/2000/XP)に付属のNT Loaderが既に動作している場合、2回もBootLoaderでOSを選択しなければならなくなってしまいます。
そこで1つの解決策として、NT LoaderからFreeBSDを呼び出してやる方法を説明します。
FreeBSDの起動は簡単に言うと、/boot/boot1 というファイルが司っています。
つまりboot1というファイルからFreeBSDのkernelが呼び出されているので、このファイルをNT Loaderから呼び出せるようにしてやれば良いわけになります。
実際の手順としては、NT Loaderが置いてあるパーティション(普通はCドライブ)に/boot/boot1をコピーしてやる所から始めます。
コピー方法は、Windowsの領域をFreeBSDでマウントして直接コピーする方法もありますが、ファイルシステムがNTFSだと書き込みできなかったりするので、一度外部へコピーして間接的にコピーする方法と両方説明しておきます。
マウントしてコピー出来る方はそちらでやった方が断然早いのでそちらをお奨めします。
外部へコピーする方法は色々ありますが、例としてFreeBSDから別のWindows PCへファイルをコピーすることにします。
準備として、boot1を自分のホームディレクトリにコピーします。
>cp /boot/boot1 ~
これで自分のホームにboot1がコピーされました。
次に一時的にFreeBSDのFTPdを有効にします。
> su
# vi /etc/inetd.conf
#ftp stream tcp〜
#ftp stream tcp6〜
#telnet stream tcp〜
#telnet stream tcp6〜
の部分の #ftp stream tcp のコメントアウトを解除します。
ftp stream tcp〜
また、inetdが稼働していない場合は、rc.confにinetd_enable="YES"を記述します。
> su
# vi /etc/rc.conf
inetd_enable="YES"
設定が終わったら再起動してやります。
そして別のPCからFTPでFreeBSDマシンにログインし、boot1をDLします。
このとき、転送モードはバイナリモードにしてください。
最後にFreeBSDからWindowsにOSを切り換えて、boot1を c:\boot1 にコピーします。
既にWindowsのパーティションがマウントしてある方は、非常に簡単にコピーすることができます。
ここでは、/dos へWindowsから見たCドライブがマウントされていると仮定して話を進めます。
> su
# cp /boot/boot1 /dos
これでCドライブにboot1がコピーされました。
boot1がWindows領域(C:\boot1)にコピーできたら、Windowsでboot.iniを書き換えます。
boot.iniは隠しファイルになっているので、フォルダオプションから「全てのファイルを表示する」にチェックを入れて見えるようにしておいてください。
さらにboot.iniは読み込み専用ファイルになっているので、書き換える前にプロパティを開いて「読みとり専用」のチェックを外してください。
これらができたら、boot.iniを書き換えます。
boot.iniをメモ帳なりエディタなりで開いてやると、
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
な感じの記述が下の方にあると思います。
この下にFreeBSDを書き加えてやります。
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
c:\boot1="FreeBSD 5.2.1-RELEASE"
のようにして、上書き保存します。
そして、再起動してやればNT LoaderにFreeBSD 5.2.1-RELEASEという項目が出来、選択してやると無事起動するはずです。
既にBootLoaderが何か入っている場合に消したい時は、Windowsの起動ディスクなどDOSから、
c:\fdisk /mbr
としてやれば、BootLoaderは消え、NT Loaderだけが残ります。
Windows NT/2000/XPで起動ディスク等が無い場合は修復セットアップでMBRを修復してください。
なおFTPdを有効にした場合は、使わない方はコメントアウトしておいてください。