パソコンの起動は、もっとも一般的なパターン、つまりWindows9xをハードディスクから起動する場合、マザーボード上のBIOS ROM→ハードディスクのMasterBootRecord→各パーティションの先頭にあるBootSector→各OSと順次制御が移っていきます。ハードディスクに単独のWindows9xがインストールされているだけならこれらのプロセスを意識する必要はありませんが、一つのハードディスクに複数のOSをインストールするときなどには考えるべきことがいろいろでてきます。
電源が入りCPUが動き出すと、BIOS ROMの中のプログラムが起動します。ハードディスクの認識など基本的な周辺機器の初期化を行い、設定に従った順序で起動ディスクを探します。通常フロッピー、CD-ROM、ハードディスクの順に起動ディスクを探し、見つかったところからデータを取り込むことになります。今ここでは起動フロッピーや起動可能CD-ROMが入っていないと仮定すると、BIOSはハードディスクのトラック0,セクター0のデータを読み込みます。これがMBR(MasterBootRecord)です。この段階ではハードディスクに対してもっとも基本的な方法で読み込むべき場所を指定(トラック0,セクター0のデータ)ていることになります。これがブートマネージャーになります。
読み込まれるとさらにハードディスクのパーティションの基本領域の中でアクティブなものを探し、その中からBootSectorをさらに読み込み、そちらに制御を移します。つまり、ext2fs(Linuxで使われるフォーマット)のような認識できないフォーマットのパーティションを無視し、fatのパーティションを見つけてそれをCドライブにすることになります。そこから先はWindows9xの世界です。順序を決めるのはブートレコードエントリの順です。
メニュー方式で、シンプルで必要十分の機能を持ち、使いやすいブートマネージャー。オプションで、グラフィカルブートもできます。パーティションを認識し、起動すべきパーティションを指示されるのを待ちます。おすすめ。
コマンドラインで起動する。
アイコン表示方式で、使いやすいブートマネージャー。ただし起動パーティションの割り当ては自分で設定する必要があります。日本語も使えるがローマ字なのはご愛敬。
Linuxの標準ブートマネージャー。今後はGRUBになっていくとか。Linuxが使えないと設定が変更できないのでちょっと不便。
FreeBSDの標準ブートマネージャー。ファンクションキーを使います。
前述のシーケンスでわかるとおり、ハードディスクから起動するためには起動時にはどうしてもBIOSを利用せざるを得ません。ところが、BIOSには製造時期によってアクセスできる容量に制限があります。また、たいていのブートマネージャーもBIOSを利用するため、昔のものほど大容量のハードディスクを扱うことができないのです。その場合、各OSを格納したパーティションの先頭のBootSectorがそのBIOSからアクセスできる位置にないとシステムが起動不能になってしまいます。
たとえば、
以前VineLinuxを入れたときは、起動可能CD-ROMでVineLinuxインストーラーを起動し、インストールの途中でDiskDruidを使ってパーティションを設定し直しましたが、最近USBフロッピーを使う機会があったのでGNU PARTED(GNU Partedの使い方)を使ってPavilion2000のパーティションを再設定しました。(GNU PartedはそのままではUSBフロッピーでは使えません。Partboot for USB floppy drivesで公開しているUSB用に再構築したディスクイメージを利用させていただく必要があります。)
現在は、40GMのハードディスクを以下のように分けています。(hdaナントカというのは、LinuxでのIDEハードディスクの表示方法)
●戻る | (C)2002 |