WindowsXP と Linux の共存
How Does the WindowsXP Coexit with the Linux
 
作戦目標
  1. Linux の /boot パーティション(1) を HDD の先頭 (hda1(2)) に置く。
  2. Windows を入れるパーティションも基本パーティションとする(3)
  3. Windows の格納されたパーティションは、Windows 上からは C: と見えるようにする(4)
  4. ブートローダーは Linux の Grub を用いる。
1. /boot 領域を確保する

 最初に Linux のインストーラーディスクを入れ、hda1 に 75 MB 程度の領域を作り、/boot パーティションとします。
 残りは / パーティションとします(ここで本番のために領域設計のリハーサルをやってもいいかもしれませんが)。

 このとき、「新規」でパーティションを作成するのではなく、空き領域を「編集」することでパーティションを作ると、領域をシリンダー単位で指定でき、/boot パーティションと後述の Windows パーティションを確実に HDD の先頭に置くことができます。

 そして、パッケージグループの設定では「最小」を選びます(やはり、ここでも必要なパッケージの総量がどれくらいかを見るためにリハーサルしてみてもいいかもしれません。表示される「インストール合計容量」は実際の量より少なく表示されているような気がします)。


2. Windows 領域を確保する

 Linux のインストールが終わったら、 WindowsXP のインストーラーディスクを入れます。
 ここで、約 75 MB の C: 領域と残りの E: があることを確認してください。この E: 領域を消去し、新たに WindowsXP に必要なだけの容量のパーティションを作成します。そして、これを NTFS なりでフォーマットして、WindowsXP のインストールを始めます。

 WindowsXP のインストールをしていると、途中で I/O Error でインストール作業が中断します。


3. WindowsXP をインストールする

 先に WindowsXP のインストール作業が中断した後、放っておくと再起動がなされ、再び WindowsXP のインストールが始まります(もちろん、CD インストールをしているなら、CD ブートを選択してください)。
 今度は、先の約 75 MB の領域が E: に、そして WindowsXP に必要なだけの容量を確保したパーティションが C: になります。この C: に WindowsXP をインストールしてください。


4. Linux をインストールする

 WindowsXP が正常に作動することを確認したら、いよいよ Linux をインストールします。
 もし、WindowsXP をメインで使うなら、「ブートローダの設定」で「DOS」を「デフォルト」にすることをお忘れなく。


  1.   Linux のディスク構成
    Linux ではシステムを構成する分野のいくつかをパーティションごとに分けることができる。これによってシステムの安定性を増し(もしどこかが壊れてもそのパーティションだけを修復するだけで済む)、またアップデートを容易にしている。

    Linux のディスク構成は次のようになっている:
  2. / [root]
    システム領域。とくに、システム起動時に必要なシステム領域。(最低限のパーティションで構成する場合、swap 以外のすべてがここに納められる。)
    一般には 250MB 程度で十分とされるが、実際には Red Hat 9.0 でフルインストールするなら、 /usr とあわせ、さらにインストール後のパッケージのアップデートも含め、5.5GB 必要。
    /boot
    起動の初期段階で必要なカーネルやブートローダーが置かれる。
    75MB 以下だとインストーラーに警告される。実際には 81MB などの近似値になるだろう。古い BIOS では 8.4GB 以上の領域が認識できないため、ブートローダーは HDD の最初から 8.4GB までの領域に置くべき、とされるが、私の経験するところ、一番先頭の領域 (hda1) に置かないとブートローダーがうまく起動しない。
    /usr
    起動時には必要とされないシステムファイルが置かれる。
    最小インストールで 250MB 、標準インストールで 900MB 、最大インストールで 4.1GB が必要とされるが、実際にはもっと必要で、インストール中にディスク容量が足りないと最初からやり直し、ということになる。ここにふんだんに容量を割り当てられるのでなければ、別パーティションにしないほうが無難。
    /tmp
    一時保存されるファイルが置かれる。
    128MB で十分。
    /var
    動的なデータを格納する。
    384MB 以下だとインストーラーに警告される。
    swap
    仮想メモリ。
    ディスク構成する際、最低でも / パーティションと swap パーティションを作成する必要がある。
    実装メモリの 100-200% が理想とされるが、去年にメモリ価格が暴落したときに(不必要なほど)メモリを増設した人も多いはず。256MB で十分。
    /home
    ユーザーのホームディレクトリ。
    もちろん多いほどいいんじゃないだろうか。あまったディスク容量だけ。

  3.   基本パーティション、論理パーティション
     ハードディスクは4つのパーティション(領域)に分けることができる。この4つのパーティションを基本パーティションという。さらに、これら4つのうちの最後のひとつを論理的に(仮想的に)12のパーティションに分けることができる。この論理的に分けられた基本パーティションは拡張[用の]パーティションと呼ばれ、論理的に分けられたパーティションを論理パーティションと呼ぶ。Linux ではこれらのパーティションに番号が割り振られており、4つの基本パーティションは hdx1 - hdx4 (x は IDE チャンネルを示す)と呼ばれる。論理パーティションを構築する場合はこのうちの hdx4 が拡張パーティションとなる。そして hdx5 - hdx15 が論理パーティションとなる。
    hdx? の x は IDE チャンネルを示しており、hda は Primary Master 、hdb は Primary Slave 、hdc は Secondary Master 、hdd は Secondary Slave のことである。システムは普通、 Primary Master (hda) の HDD に置く。
     だが、WindowsXP (Windows2000 もそうだが)のインストーラーは自分のシステム領域以外はすべて論理パーティションにしてしまうため、Linux と共存させるためには小細工が必要となってくる。

  4.   Windows インストーラーの特徴
     Windows では、Windows98 、WindowsMe において DOS 上で FDISK でパーティションを作成させていたが、Windows2000 と WindowsXP ではインストーラー上で対話的にパーティションを構成できるようなった。
     だが、いずれにおいても C: を基本パーティション (hda1) とし、残余のパーティションを論理パーティションとしてしまうことに変わりはない。
     システムを論理パーティションに置くのはあまり好ましいことではない(らしい)。とすれば、hda1 - hda3 に /boot パーティション、 / パーティション、 Windows パーティションを置くことになる。
     Linux のインストーラーではディスク構成をする際、基本パーティションを意識的に振り分けることができる。ただし、Windows が認識できる vfat は 2048MB までしか割り当てることができないので、例えば hda2 を Windows パーティションとしたい場合、ここを /opt パーティションなどとして、いったんこの領域を確保し、再度 Linux をインストール際、この hda2 の /opt パーティションを「削除」して空き領域とする、という手順を踏まなければならない。だが、先に Linux をインストールしても、Windows のブートローダーでは Linux を検知できないため(できるとされているが、私はうまくいかなかった)、Windows をインストールしたあと、さらにもう一度 Linux をインストールしなければならない。しかもこの方法だと、WindowsXP のルートパーティションは M: など、Linux のさまざまなパーティションおよび CD-ROM の後に順序付けられる(動作には問題ないが)。
     逆に考えると、Windows のインストーラーは /boot パーティション用の基本領域だけは問題なく作成できる。ここに上述のインストールトリックのタネがある。

  5.   Windows 上でのドライブ順序の問題
     Windows2000 と WindowsXP では「ディスクの管理」で容易にドライブ・パスを変更できるが、ブートドライブのパスは変更できない。一部のアプリケーションではコピー防止のためドライブ順序の先のほうであることを要求するものもあるが、これによってその措置は容易に克服できる。
     だが、Linux 用の領域を先に確保しておいた場合、M: や L: といった文字が割り当てられてしまうが、こうなるとネットワークドライブや、あるいは Daemon-tool などの仮想 CD ドライブに割り当てる文字が枯渇しかねない。(ブートドライブは Linux 用の領域に押しやられて後ろの方の文字が割り当てられたはずなのに、他のドライブを Linux 用の領域に割り当てられているはずのこれより前の文字に割り当てることは問題なくできる。)また、もし Linux との共存以前の WindowsXP でバックアップツールその他を使っていた場合、ドライブ文字が変わらなければ、バックアップツールその他のパス設定を変更しないで済む。