FreeBSDをNT Loaderから呼び出す


Last Update: 2005/01/04
11158 th Visitor

BootLoader

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だと書き込みできなかったりするので、一度外部へコピーして間接的にコピーする方法と両方説明しておきます。
マウントしてコピー出来る方はそちらでやった方が断然早いのでそちらをお奨めします。

FTPdを使ってboot1をWindows領域にコピーする

外部へコピーする方法は色々ありますが、例として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パーティションへ直接コピーする

既にWindowsのパーティションがマウントしてある方は、非常に簡単にコピーすることができます。
ここでは、/dos へWindowsから見たCドライブがマウントされていると仮定して話を進めます。

> su
# cp /boot/boot1 /dos

これでCドライブにboot1がコピーされました。

boot.iniを書き換える

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を有効にした場合は、使わない方はコメントアウトしておいてください。


設定


もどるにゅ

トップにもどるにゅ