up

注意 と お願い

構想

構想として 不遜にも 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バイト位書き込むこ とが出来る領域のようです。

まあ 不本意な結果ですので、あくまで参考にされるのであれば どうぞ!


up

Copyright © 2007. nyantarou All Rights Reserved.