Windows系OSとUNIX系OSとのデュアルブート

Windows系とUNIX系のOSとのデュアルブート環境を構築する方法を記す。
デュアルブートとは、2つのOSを起動できる状態のことで、同時に2つのOSが稼動するわけではない。画面操作によりどちらか一方を選択し、切り替えてブートできるようにする。

【必要なもの】
  • Windows系のOS(95、98、Me、NT、2000、2003、XP、等(3.1はきついかも))
  • UNIX系のOS(各ディストリビューションのLinux、FreeBSD、等(Solarisはきついかも))
  • PC 1台(2つのOSが入る程度のハードディスク容量、各OSが動作する程度のメモリ容量)
  • フロッピーディスク(任意)

ここでは、Windows NT 4.0 WorkstationとFreeBSD 6.0-RELEASEを想定して記すが、この構成以外でも理屈は同じなので、基本的に上記の中での組み合わせ(バージョンも含め)は自由なはず。
記述中に出てくるデバイス名は適宜お使いの環境に読みかえられたし。

1.Windows系OSのインストール
 普通にインストールする。MBR(Master Boot Record)にブートローダがインストールされる。
 当然であるが、この時、UNIX系のOSをインストールする領域は残しておくこと(事前にちゃんと設計してからインストールすべき)。

2.UNIX系OSのインストール
 普通にインストールするのであるが、1点だけ必須なのはブートローダをMBRではなく、インストールするパーティションの最初のセクタ(ブートセクタ)に書き込む。MBRに書き込んでしまうとインストールしたWindows系OSのブートローダを上書きしてしまう。
 MBRにWindows系のブートローダ(NTLDRなど)がインストールされているので、UNIX系OSをインストールしてもブートできない状態になる。そのため、起動ディスク(ブートディスク)を作成しておいた方が良い。まぁ、作成しなくても何とかなるが。
 インストールしたWindows系OSのCドライブ(FreeBSD:/dev/rda0、Linux:/dev/hda1)をマウントしておくと、そこに直接書き込めるので便利。まぁ、マウントしなくてもフロッピーディスクやUSBフラッシュメモリ経由でファイルを渡せばよい。

3.インストールしたUNIX系OSのブートセクタをファイルに書き出し
 UNIX系OSインストール時に起動ディスクを作成したならば、そのディスクでUNIX系OSを起動する。
 起動ディスクを作成しなかった場合、FreeBSDであれば、インストールと同じ手順で起動し、メニューよりFixitを選択すればシェルが起動する。Linuxであれば、インストールと同じ手順で起動し、レスキューモードを選択すればシェルが起動する。
 そこで、下記のコマンドを打てば、インストールしたWindows系OSのCドライブのルートディレクトリにブートセクタを書き出す(インストールしたWindows系OSのCドライブ(/dev/hda1)をマウントした場合に限る)。

# dd if=/dev/rda1a of=/mnt/dos/bootsect.bsd bs=512 count=1

 フロッピーディスクに書き出したければ、次のコマンドを打つ。

# dd if=/dev/rda1a of=/mnt/fd0/bootsect.bsd bs=512 count=1

 Linuxであれば、それぞれ、

# dd if=/dev/hda2 of=/mnt/dos/bootsect.lnx bs=512 count=1

# dd if=/dev/hda2 of=/mnt/fd0/bootsect.lnx bs=512 count=1

 といったところか。

4.書き出したブートセクタファイルをWindows系のブートローダへ登録
 インストールしたWindows系OSをブートする(フロッピーディスクやCDを抜けば、普通に起動できるはず)。
 書き出したブートセクタファイル(bootsect.bsd や bootsect.lnx)がCドライブのルートにコピーされた状態で、Windows系OSのCドライブのルートディレクトリにあるboot.iniというファイルを編集する。boot.iniファイルは通常、負荷しになっていたりリードオンリー(読み取り専用)になっていたりするので、エクスプローラの[ツール]->[フォルダオプション]の[表示]タブの"すべてのファイルとフォルダを表示する"(だったと思う)をチェックし、"保護されたオペレーティングシステムファイルを表示する"(だったと思う)のチェックをはずす。警告は無視。そうすると、boot.iniファイルが見えるようになるので、そのファイルのプロパティを開き、[全般]タブの属性:"読み取り専用"(だったと思う)のチェックをはずす。これでboot.iniファイルの編集が可能となる。
 下記のような内容になっているので、

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows NT 4.0 Workstation" /fastdetect

 この最後の行に下記のような1行追加する。

c:\bootsect.bsd="FreeBSD 6.0-RELEASE"

 Linux Fedora Core 4であれば、例えば下記のようにするとわかりやすい。

c:\bootsect.lnx="Fedora Core 4"

 このファイルを保存し、元の(読み取り専用の)状態に戻す。
 これで、再起動すればブートローダにUNIX系OSも表示されるので、選択し、起動できることを確認する。

なお、UNIX系OSのブート関連の設定を変更したならば、同様の手順でブートセクタファイルを再作成し、Windows系OSのCドライブのルートディレクトリに上書きすること。
2005年11月19日(土) 18:47:35 Modified by nadai14




スマートフォン版で見る