元々 win98、 win2k と FreeDos で 運用していたのですが 構成を 一部 変 更して この3個 を 動かせる 様に します。
この 計算機は ハードディスク が 2個 取り付けられていて 過去には /dev/hda に FreeDos と win2k を インストールして /dev/hdb に win98 を 移 動させて 運用等を していました。 今回は わりと簡単に /dev/hda には FreeDos と win98 /dev/hdbに win2k の 構成を し win98 + win2k の 組合せの 立ち上げ と FreeDos のみの 立ち上げ 及び 残りの領域の linux の立ち上げ を grub の フロッピーディスクで 切替えて 立ち上げるものとします。
相手の計算機に侵入する方法です
$ ssh -l aite 192.168.123.69 Password: $ su - Password:
このような 形になります。
現状の 確認をしておきます。
# fdisk -l Disk /dev/hda: 255 heads, 63 sectors, 524 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 43 345366 c Win95 FAT32 (LBA) /* FreeDos */ /dev/hda2 44 111 546210 1c Hidden Win95 FAT32 (LBA) /* win2k */ /dev/hda3 112 524 3317422+ 83 Linux Disk /dev/hdb: 255 heads, 63 sectors, 1216 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hdb1 1 111 891576 1b Hidden Win95 FAT32 /* win2k */ /dev/hdb2 112 237 1012095 82 Linux swap /dev/hdb3 238 1216 7863817+ 83 Linux
これはもう FreeDos と win2k 及び linux が 動けば 良し と考えて妥協し ていたのですが、 もう少し いえば FreeDos と linux が 動けば良い という考 えでした、諸般の事情に より windows 系の OS を 使用して 検証する 必要が 有ったので とりあえず win2k を 再インストール する形で 運用しました。
上記のように ” win2k ”が 2箇所になっているのは 単に 容量の 問題と いうことです。
また 上記の状態は フロッピーディスク無しで 起動させると FreeDos が 起 動する 状態に なっている 様子です。”Id : 1b ”、 ”System : Hidden Win95 FAT32 ”と なっている領域は フロッピーディスクでの 起動が必要に なります。
# mount /dev/fd0 /mnt/ # sed -e '/^#/d' /mnt/boot/grub/menu.lst | uniq timeout 8 default 0 fallback 1 color light-cyan/red title plamo 4.03 Nyan Nyan /dev/hdb3 root (hd1,2) kernel /vmlinuz root=/dev/hdb3 title freedos /dev/hda1 as C: unhide hide OK unhide (hd0,0) hide (hd1,0) hide (hd0,1) rootnoverify (hd0,0) chainloader +1 makeactive title windows 2000 /dev/hda2 as C: unhide hide OK hide (hd0,0) hide (hd1,0) unhide (hd0,1) rootnoverify (hd0,1) chainloader +1 makeactive
本来の形に(元々の様に)するのが筋ですが、今回は少し 形を替えた状態で の 運用です。
パーテション の 変更を行います
/dev/hdb の linux の swap 領域を 縮小して その部分を win2k に 割り当 てます。 /dev/hda の パーテション を 変更 しないで そこに win98 を 割り 当てる という 事になります。
# fdisk /dev/hdb The number of cylinders for this disk is set to 1216. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): d Partition number (1-4): 1 Command (m for help): d Partition number (1-4): 2 Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-1216, default 1): 1 Last cylinder or +size or +sizeM or +sizeK (1-237, default 237): 201 Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (202-1216, default 202): 202 Last cylinder or +size or +sizeM or +sizeK (202-237, default 237): 237 Command (m for help): p Disk /dev/hdb: 255 heads, 63 sectors, 1216 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hdb1 1 201 1614501 83 Linux /dev/hdb2 202 237 289170 83 Linux /dev/hdb3 238 1216 7863817+ 83 Linux Command (m for help): t Partition number (1-4): 2 Hex code (type L to list codes): 82 Changed system type of partition 2 to 82 (Linux swap) Command (m for help): t Partition number (1-4): 1 Hex code (type L to list codes): c Changed system type of partition 1 to c (Win95 FAT32 (LBA)) Command (m for help): p Disk /dev/hdb: 255 heads, 63 sectors, 1216 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hdb1 1 201 1614501 c Win95 FAT32 (LBA) /dev/hdb2 202 237 289170 82 Linux swap /dev/hdb3 238 1216 7863817+ 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Re-read table failed with error 16: Device or resource busy. Reboot your system to ensure the partition table is updated. WARNING: If you have created or modified any DOS 6.x partitions, please see the fdisk manual page for additional information. Syncing disks.
本来はこれで完了なのですが 再起動すると 何故か swap が無効に なるので す。
# cat /var/log/syslog ... Dec 22 21:46:55 sv kernel: Out of Memory: Killed process 170 (named). ...
”top”で 見ても ”swap”が 無効に なっているのです。
そこで 有効にするために
# mkswap /dev/hdb2 Setting up swapspace version 1, size = 296103936 bytes # swapon -av swapon on /dev/hdb2
こうして 再起動をすると 有効になって 立ち上がってきます。
使用中の swap を 縮小したのですから これ位の ことはしないと いけない でしょう!
これで 領域の 決定は 完了です
# fdisk -l Disk /dev/hda: 255 heads, 63 sectors, 524 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 1 43 345366 83 Linux /* FreeDos */ /dev/hda2 * 44 111 546210 c Win95 FAT32 (LBA) /* win98 */ /dev/hda3 112 524 3317422+ 83 Linux Disk /dev/hdb: 255 heads, 63 sectors, 1216 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hdb1 1 201 1614501 c Win95 FAT32 (LBA) /* win2k */ /dev/hdb2 202 237 289170 82 Linux swap /dev/hdb3 238 1216 7863817+ 83 Linux
ここで ”/dev/hda1”は ”Id:83”、”System:Linux”に なっていますが これは win98 と win2k の インストールが 終わるまで このままにしておきま す。 当然 ”/dev/hda2” に 起動するようにマークを付けておきます。
前もって領域 ”/dev/hdb1” と ”/dev/hda2”を フォーマットしておきま す DOS で というか windows98 の起動ディスクで 再度 フォーマットするので すが
# mkdosfs /dev/hdb1 mkdosfs 2.7 (14 Feb 2001) ...
win98 を インストールして その後 win2k を インストール します。
にゃんたろう 拝!
2008年12月22日 (月) 21:03:08 JST 作成