パソコン実習室
GRUB によるトリプルブートの実験
≪ previous next ≫

V.Windows 2000 server のインストール


V.1.MBR の編集 その 1

 Windows 2000 server をインストールする前に MBR の編集を行う。

 編集の目的は次にインストールする Windows 2000 sever のインストーラに、次のように誤認識してもらうためだ。
  • ターゲットのディスク上にインストールされている Windows は無く、これからインストールする Windows 2000 server が、"最初にインストールされる Windows だ" 。
 そうすることで、インストーラは Windows 2000 sever のパーティションを C ドライブとして扱い、そこにブートローダ関連のファイル (ntldr, NTDETECT.COM, bootfont.bin, boot.ini) を配置する。
▼ Windows 2000 sever のインストーラは当然 MBR も全面的に書き換える。
▼ MBR には BIOS から最初に起動される Boot Strap Loader もあるが、これも Windows 2000 sever 用に書き換え
   られる。
   しかし、最初にインストールした Windows XP に関するパーティション テーブルの情報は保留される。

 MBR 内のパーティション テーブルにある Windows XP に該当の アクティブ フラグとパーティション タイプを次のように変更する。
(注) 変更後は他の方法 (grub等) を用いなければ Windows XP の起動は不可能になる。
項目変更前変更後適用
アクティブ フラグ0x800x00
0x80 : 起動可能、 0x00 : 起動不可
パーティション タイプ0x070x830x07 : Windows、 0x83 : Linux 基本 (ext2)

これらの値に変更する理由は次の通り。
  • アクティブ フラグ
    Windows 2000 server が C ドライブとして起動するためには、他パーティションのアクティブ フラグに 0x80 があってはならない。
  • パーティション タイプ
    0x07 のままでは Windows 2000 server のインストーラは、ターゲットのディスクに Windows が存在していると認識する。
    また、0x00 にすると未使用領域として認識し、これからインストールする Windows 2000 server の領域として確保してしまう。

 さて、いよいよ MBR を編集する。

V.1.1.dskprobe の起動

 下記要領で dskprobe を起動し、ハードディスクの編集を可能にする。
  1. Windows XP を起動する。
  2. dskprobe を起動する。
  3. [Drives] - [Physical Drive...] を選択。
    [Open Physical Drive] が開く。
  4. [Available Physical Drives] 欄の [PhysicalDrive0] をダブルクリック。
    [Handle 0] が PhysicalDrive0 に、[Open Mode] が OPEN_READONLY になる。

  5. [Read Only] のチェックを外す。
    [Open Mode] が OPEN_READWRITE に変わる。
  6. [Set Active] をクリック。
  7. [OK] をクリック。


V.1.2.パーティション テーブルの書き換え

  1. [Sectors] - [Read] を選択。
    [Read Sectors] が開く。
  2. デフォルトで [Starting Sector] に "0"、[Number of Sectors] に "1" が入っているので、そのまま [Read] をクリック。
    Starting Sector : 読み出し開始セクタ。 "0" はハードディスク先頭のセクタ (MBR) を指している。
    Number of Sectors : 読み出しセクタ数。
  3. 下図は読み出した MBR (セクタ 0) の様子。

    赤枠の範囲がパーティション テーブルで、グレーを背景とした部分が Windows XP に該当のパーティション テーブル 1。
    アクティブ フラグが 0x80 で、パーティション タイプが 0x07 であるのが判る。
  4. カーソルを移動し、アクティブ フラグを 0x00、パーティション タイプを 0x83 に変更する。
    下図は変更後の様子。

    次項の操作で、変更したデータを MBR に書き戻す。
  5. [Sectors] - [Write] を選択。
    [Write Sector] が開く。
  6. デフォルトで [Starting Sector to write data] に "0" が入っているので、そのまま [Write it] をクリック。
  7. ハードディスク データの上書きになるので、注意喚起のメッセージが出る。
    [はい] をクリックすると (パーティション テーブル) MBR が書き変わる。
  8. dskprobe を終了する。

▼ アクティブ フラグを起動不可 (0x00) に書き換えたので、MBR に記録されている Boot Strap Loader による
   Windows XP の起動は不可能な (つまり、このハードディスクは起動できない) 状態になっている。
   "Invalid partition table" と表示して停止する。
※ この状態では FD による grub からの起動を行っても、Windows 起動時 (ntldr) のチェックで異常と判断されて
   (autochk program not found) 再起動が掛かる。
   "Unknown Hard Error" を表示して停止する場合もある。
※ 結局 FD 等で grub を起動後、grub のコマンドでパーティション タイプを 0x07 に戻さなければ Windows の起動は
   かなわないということになる。



V.2.Windows 2000 server のインストール

 MBR 編集の済んだハードディスクに Windows 2000 server をインストールする。
Windows 2000 server セットアップ時のパーティションの選択で、未使用領域にパーティションを作成しそこに Windows 2000 server をインストールする。
作成するパーティションには 40GB (40000MB) を割り当て、NTFS でフォーマットする。

Windows 2000 server のインストーラは次のように認識・動作する。
  • パーティション 1 は 他のシステム (実態は Windows XP) が使用中なので、未使用領域に確保する新しいパーティションは、パーティション 2 となる。
    ※ パーティション 1 のタイプ 0x83 は、"不明" なパーティションとして表示される。
  • アクティブ フラグが 0x80 のパーティションはないので、パーティション 2 のアクティブ フラグを 0x80 (起動可能) にする。
  • パーティション 2 のルート ディレクトリに ntldr, NTDETECT.COM, bootfont.bin 等 Windows 起動関連ファイルを設置する。

 2000 server のインストールが済んだら、可能であれば Service Pack 等のインストール、Update およびウィルス対策等も済ませておく。
※ ウィルス対策ソフトのライセンスは、ハードディスク単位ではなく OS 単位となっている場合が多い。
   実験用と割り切って外部に接続しなければ、ウィルス対策ソフトは不要になる。

 インストールが完了すれば windows 2000 server は正常に起動できるが、パーティション テーブルを操作されている Windows XP の入ったパーティション 1 の認識は次のようになる。
  • windows 2000 server は、windows XP の入ったパーティション 1 を、ドライブとして認識できない。
  • しかし「ディスクの管理」では、NTFS でフォーマットされたパーティションとして認識している。 ただし、ドライブレターは割り当てられていない。


V.2.1.Windows 2000 server の boot.ini

 Windows 2000 server をインストールすると、C ドライブ (Windows 2000 server が C ドライブ になっている) 直下に boot.ini が作成される。 その内容は概ね次のようになる。
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Server" /fastdetect

 これで Windows 2000 server は起動可能となるが、マルチ (デュアル) ブートにはなっていないので Windows XP の起動はできない。


V.2.2.dskprobe のインストール

 Windows 2000 server のインストール関連作業が終わったら、こちらにも MBR の参照・変更を行うための dskprobe をインストールする。
dskprobe のインストール方法は、T.3.dskprobe を参照。




≪ previous [[ GRUB によるトリプルブートの実験 ]] next ≫