Pavilion2000に換装した40GBのハードディスクのパーティション設計と起動

起動

パソコンの起動は、もっとも一般的なパターン、つまりWindows9xをハードディスクから起動する場合、マザーボード上のBIOS ROM→ハードディスクのMasterBootRecord→各パーティションの先頭にあるBootSector→各OSと順次制御が移っていきます。ハードディスクに単独のWindows9xがインストールされているだけならこれらのプロセスを意識する必要はありませんが、一つのハードディスクに複数のOSをインストールするときなどには考えるべきことがいろいろでてきます。

電源が入りCPUが動き出すと、BIOS ROMの中のプログラムが起動します。ハードディスクの認識など基本的な周辺機器の初期化を行い、設定に従った順序で起動ディスクを探します。通常フロッピー、CD-ROM、ハードディスクの順に起動ディスクを探し、見つかったところからデータを取り込むことになります。今ここでは起動フロッピーや起動可能CD-ROMが入っていないと仮定すると、BIOSはハードディスクのトラック0,セクター0のデータを読み込みます。これがMBR(MasterBootRecord)です。この段階ではハードディスクに対してもっとも基本的な方法で読み込むべき場所を指定(トラック0,セクター0のデータ)ていることになります。これがブートマネージャーになります。

ブートマネージャーをどうするか

BIOSの制限

前述のシーケンスでわかるとおり、ハードディスクから起動するためには起動時にはどうしてもBIOSを利用せざるを得ません。ところが、BIOSには製造時期によってアクセスできる容量に制限があります。また、たいていのブートマネージャーもBIOSを利用するため、昔のものほど大容量のハードディスクを扱うことができないのです。その場合、各OSを格納したパーティションの先頭のBootSectorがそのBIOSからアクセスできる位置にないとシステムが起動不能になってしまいます。

たとえば、

があるため、OSがこれより後ろの位置にインストールされているとパソコンが起動できません。これらを回避する方法として、DiskManagerなどがあります。(LBAでアクセスすればいいかな?)

パーティションの設計

以前VineLinuxを入れたときは、起動可能CD-ROMでVineLinuxインストーラーを起動し、インストールの途中でDiskDruidを使ってパーティションを設定し直しましたが、最近USBフロッピーを使う機会があったのでGNU PARTED(GNU Partedの使い方)を使ってPavilion2000のパーティションを再設定しました。(GNU PartedはそのままではUSBフロッピーでは使えません。Partboot for USB floppy drivesで公開しているUSB用に再構築したディスクイメージを利用させていただく必要があります。)

現在は、40GMのハードディスクを以下のように分けています。(hdaナントカというのは、LinuxでのIDEハードディスクの表示方法)

各OSの起動パーティションが最初から8GBにはいるようにして、それ以外の部分を後ろの方に割り振ったわけです。基本領域3つの後ろに拡張領域を設定し、その中に論理領域を入れ込んでいます。そこをVineLinuxのルートなどにマウントしています。(FreeBSDの起動は/bootじゃないかな??)あとは、VineLinux2.5のほうには/etc/fstabにmount /dev/hda7 /mnt/vl215、VineLinux2.1.5のほうにはmount /dev/hda5 /mnt/vl25とかやらないと。
●戻る(C)2002