構想として 不遜にも windows98 windows 2000 と linux を 1台の ハード ディスクに インストールをして grub の floppy disk でもっ て 個々の ものを 立ち上げる、ということを試みた。
結果は 失敗しました windows 2000 の /dev/hda5 (拡張領域)への インス トールが出来なかった。 /dev/hda1(基本領域)に インストー ルしたものを /dev/hda5 (拡張領域)に 配置しても grub を使用しての 起動 は 出来ない。
まず 現在のハードディスクの 構成を 見ておくと
# fdisk -l /dev/hda Disk /dev/hda: 255 heads, 63 sectors, 10011 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 1 123 987966 1c Hidden Win95 FAT32 (LBA) /dev/hda2 * 124 370 1984027+ c Win95 FAT32 (LBA) /dev/hda3 371 8524 65497005 f Win95 Ext'd (LBA) /dev/hda4 8525 10011 11944327+ 83 Linux /dev/hda5 371 857 3911796 1c Hidden Win95 FAT32 (LBA) /dev/hda6 858 1227 2971993+ 82 Linux swap /dev/hda7 1228 2444 9775521 83 Linux /dev/hda8 2445 3660 9767488+ 83 Linux /dev/hda9 3661 4876 9767488+ 83 Linux /dev/hda10 4877 6092 9767488+ 83 Linux /dev/hda11 6093 7308 9767488+ 83 Linux /dev/hda12 7309 8524 9767488+ 83 Linux
”Hidden”と いう所は 単に 他の windows を 起動した時に なったと考え て基本的には ”Id”は”c”と 考えておいて下さい。
windows98 と windows2000 の インストールについて、順序は まず windows2000 を /dev/hda2 に インストールします。この場合は /dev/hda1 及び /dev/hda5 の 両方の領域は linux の ものの 状態で インストールします。 インストールが完了した時点で windows2000 の 起動ディスクを 作成しておき ます。新しい floppy disk に 必要な物を コピーします。その中の”boot.ini” の 内容は 今回の場合 当然最初の位置から 起動するように なっているので、 今回の場合は /dev/hda5 ですので 順序としては 4番目 から 起動するように 書き換えたものを 新しく windows2000 の 起動ディスクとして 用意しておきま す。当然この 起動ディスクから 何も起動する事は その時点では 出来ません!
お好きな linux にて dd にて 他の 場所に backup を 取っておいて下さい。
次に windows98 を /dev/hda1 に インストールします linux で パーテショ ンの Id を 変更して mkdosfs を して おきます。又 /dev/hda1 を アクティ ブにしておきます。このあと windows98 の インストールを進めて下さい fdisk/mbr と しなくては いけないでしょう。
windows98 の インストールが完了したら linux の dd にて これも backup して 別の所に 保管しておいて下さい。
取り敢えずは windows98 と windows 2000 の backup が 存在している事に なります。
本来データーは そのまま残っているはずですが /dev/hda2 に windows 2000 があり /dev/hda1 には windows98 が 残っている筈。
linux の fdisk と mkdosfs にて /dev/hda1 /dev/hda2 /dev/hda5 を 再度 Id の書き換えと format をします。
windows2000 を /dev/hsa2 に backup しているものを linux の dd にて 復 帰させます。その後 linux の parted を 使用して /dev/hda5 に コピーを し ます。 その後 /dev/hda2 を linux にて 再度 mkdosfs にて format します。 これで windows2000 が /dev/hda5 (拡張領域)に 配置されました。
次に windows98 を /dev/hda1 に 復帰そうして /dev/hda2 に parted で コ ピー します。最後に /dev/hda1 を 再度 mkdosfs しておきます。
最終として /dev/hda2 に windows98 が配置され /dev/hda5 に windows2000 が 配置され /dev/hda1 は 空の 状態になっています。
/dev/hda2 の windows98 は grub にて 起動可能です、また他の linux も grub にて 起動可能です。しかしながら /dev/hda5 の windows2000 は boot.ini を 変更した windows2000 の 起動ディスクのみ 起動可能です。
中途半端な 起動方法ですが これが 現在の 最終段階です。
backup した windows2000 の boot.ini は 変更しないで良いのか と 思われ るかも知れませんが これを 変更するのであれば grub の 起動が出来るのなら 意味があるが 起動ディスクの boot.ini で 起動させるので /dev/hda5 の boot.ini は 無くてもいいようです。
windows98 を /dev/hda1 に インストール した後で windows2000 を インス トールすると windows2000 の 起動に関する ファイルが /dev/hda1 に 追加さ れるということが 見受けられます。またどうやらそのときに mbr の 内容も 書 き換えられるようです。ここで mbr というと 誤解が生じるのですが 領域のデー ターは 書き換えなくて その前の おおよそ 400バイト 位 は 書き換えられるよう です。詳しくはわからないのですが windows98 用 windows2000 用 など mbr と いっても 内容が 異なって入るようです。mbr ちゅうのは 500バイト位書き込むこ とが出来る領域のようです。
まあ 不本意な結果ですので、あくまで参考にされるのであれば どうぞ!