up

fdisk -l win98 、linux 起動

まあ 奇麗な方法では有りませんが FreeDos と windows 2000 は 立ち上が りました 問題の win98 の起動です

win98 起動

かなり 繊細なようです (条件が 条件なので)

# fdisk /dev/hdb
Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 1c
Changed system type of partition 1 to 1c (Hidden Win95 FAT32 (LBA))
Command (m for help): a
Partition number (1-4): 1
Command (m for help): a
Partition number (1-4): 2
Command (m for help): w

関係の無い部分は Hidden (影響を及ぼしそうな部分 という方が 本当です が) そうして該当の部分を アクティブに

# fdisk -l

Disk /dev/hda: 255 heads, 63 sectors, 20023 cylinders
Units = cylinders of 16065 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hda1             1       391   3140676   16  Hidden FAT16
/dev/hda2           392       653   2104515   83  Linux
/dev/hda3           654     18277 141564780    5  Extended
/dev/hda4         18278     20023  14024745   83  Linux
/dev/hda5           654      2350  13631121   83  Linux
/dev/hda6          2351      2611   2096451   82  Linux swap
/dev/hda7          2612      5222  20972826   83  Linux
/dev/hda8          5223      7833  20972826   83  Linux
/dev/hda9          7834     10444  20972826   83  Linux
/dev/hda10        10445     13055  20972826   83  Linux
/dev/hda11        13056     15666  20972826   83  Linux
/dev/hda12        15667     18277  20972826   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       609   4891761   1c  Hidden Win95 FAT32 (LBA)
/dev/hdb2   *       610      1216   4875727+   c  Win95 FAT32 (LBA)

起動ディスク

# mount /dev/fd0 /mnt/
# cat /mnt/boot/grub/menu.lst 
# Boot automatically after 3 secs.
timeout 3

# By default, boot the first entry.
default 0

# Fallback to the second entry.
fallback 1
# For booting windows 98  on /dev/hdb1
title Windows 98 /dev/hdb1 as C: drive
        rootnoverify (hd1,1)
        map (hd0,0) (hd1,1)
        map (hd1,1) (hd0,0)
        chainloader +1
...

容量は

win98 4982980608 ;;; 4,982,980,608 約 4.9 ほぼ 5G

ある意味 一貫性が有ります。win2k で 表示されたのと同じもの。

plamo

さて 黒衣に徹している感じの linux ですが これも 御多分に 漏れず 起動 するには 一工夫が必要なようです

まず インストールした 起動ディスクは 御多分に もれないように ファイル ”hda7.cfg”、”hdb7.cfg” というのは ハードディスク を マスター、スレー ブ に 変更した時の 残骸です。本来は 関係が無いし 存在する 必要はありませ ん。”grub.cfg”に 相当するものです。 この領域も DOS ですので ファイルの 名前は 妙なものに なっています。

# mount /dev/fd0 /mnt/ 
# ls /mnt/
grub.cfg*  hda7.cfg*  hdb7.cfg*  stage1*  stage2*  vmlinuz*
# cat /mnt/grub.cfg 
# GRUB configuration file
# generated by 'grubconfig'
#
# Start GRUB global section
default 0
timeout 7
fallback 1

title Plamo Linux
kernel (fd0)/vmlinuz root=/dev/hda7 ro
# df |grep fd
/dev/fd0                  1423      1283       141  91% /mnt
# ls -l /mnt/
total 1283
-rwxr-xr-x    1 root     root          173 Dec 30 21:07 grub.cfg*
-rwxr-xr-x    1 root     root          174 Dec 29 22:34 hda7.cfg*
-rwxr-xr-x    1 root     root          174 Dec 30 21:06 hdb7.cfg*
-rwxr-xr-x    1 root     root          512 Dec 24 12:01 stage1*
-rwxr-xr-x    1 root     root       111584 Dec 24 12:01 stage2*
-rwxr-xr-x    1 root     root      1199114 Dec 25 01:12 vmlinuz*
# umount /mnt/

”hda7.cfg”、”hdb7.cfg”は 色々 試行錯誤の 残りです つまり インストー ルした時の vmlinuz で 動作をしているということです 従って 本当の という か 変更した カーネルで起動するということでは無いのです。

カーネルを 再構築した場合 上記の vmlinuz を 新しい ものに 置き換えて 起動しても 良いのですが 外にも 方法が有るようです。

# mount /dev/fd0 /mnt/
# cat /mnt/boot/grub/menu.lst 
# Boot automatically after 3 secs.
timeout 3

...
# For booting plamo 4.03 /Linux on /dev/hda7
title  plamo 4.03 Nyan Nyan /dev/hda7
root (hd0,6)
kernel /vmlinuz root=/dev/hda7
# umount /mnt/

通常は これにて 起動出来る筈 なのですが?

...
root(hd0,6)
Error 18: Selected cylinder exceeeds maximum supported by BIOS
Press any key to continue...

個猫は しらなかったのですが linux を インストール した時に 特に 文句 はいわれなかったので 当然 起動するものと 考えていたのです!

そこで

# For booting plamo 4.03 /Linux
# plamo on /dev/hda7 
title  TRY plamo 4.03 Nyan Nyan for /dev/hda7
        kernel (hd0,0)/hda7_ker root=/dev/hda7 ro 

つまり 上記の フロッピディスクの vmlinuz の 変わりに カーネル 再構築 した後の bzImage を vmlinuz-2.4.31 をとして ”/”に 設置してあるものを /dev/hda1 に コピー して 領域が FAT16 なので ”hda7_ker ”として 置いて あるものを 指定して 起動する ということにします。

# mount -t msdos /dev/hda1 /mnt/
 # ls -l /mnt/hda7_ker 
-rwxr-xr-x    1 root     root       958442 Dec 31 17:59 /mnt/hda7_ker*
# ls -l /vmlinuz-2.4.31 
-rw-r--r--    1 root     root       958442 Dec 31 17:56 /vmlinuz-2.4.31
# cmp /vmlinuz-2.4.31 /mnt/hda7_ker 

これで linux は 起動します、ちなみに 手動で動かす場合


...
root(hd0,6)
Error 18: Selected cylinder exceeeds maximum supported by BIOS
Press any key to continue...

grub> kernel (hd0,0)/hda7_ker
[ Linux-bzImage , setup=0x1400, size=0xe89ea]
grub> boot
...

root=/dev/hda7 ro”は 必要は無 いようです カーネルは 自分の 場所を 認識しているようです!また /dev/hda1 は ”Hidden FAT16”で あっても 問題は 無いようです。つまり これまでの 少々 というより 大変 不細工な 方法ですが FreeDos 及び win2k 、win98、 linux を 起動する事が 出来るようになります。 フロッピディスク 3枚 と どれを 起動させるか による 其々の場合に linux を 立ち上げて ディスクの 構成を 書き直さなければ ならないし また 関係は 無いが linux を インストールした 時の 起動ディスク 1枚 合わせて 4枚 これは 混乱の 元です。

が しかしながら 最低限 運用は 出来る状況に なりました。

BIOS

BIOS で の 認識状況

Type                                  [Auto]
Cylinder                             [16383]
Head                                    [16]
Sector                                  [63]
Size                                  [8063]MB

”/dev/hda”、 ”/dev/hdb”ともに 8G ということのようです、

Main Bord ID                               V65LA
...
System BIOS                                Version V3.1
...

なんらかの 対応が出来ると 良いのですが まあ linux で 運用する場合 /dev/hda1 に カーネルを コピー して 起動する限りに 置いては 支障無く 運 用できるようです 当然 速度 ということに 関しては 無視です。

にゃんたろう 拝!

2009年 1月 3日 (土) 09:14:26 JST 作成


up

Copyright © 2006.-2009. nyantarou All Rights Reserved.