up

fdisk -l

以下の結果は 色々試行錯誤の結果 当面の運用状態の 内容です。

# 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 /* FreeDos */
/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 /* plamo linux  */
/dev/hda8          5223      7833  20972826   83  Linux /* data  */
/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) /* win2k */
/dev/hdb2   *       610      1216   4875727+   c  Win95 FAT32 (LBA) /* win98 */

個猫 は まだ良くわかっては いないのですが、 Bios とかというものが 古 いため 大容量の ものは 扱えないということです。上記の状態は windows98 を /dev/hdb2 に parted で移動させ grub の フォロッピー ディスクで 立ち上げ ている 内容です。つまり /dev/hda1 の FreeDos ( System ;Hidden FAT16)領域 及び /dev/hdb1 の windows 2000 (System ;Hidden Win95 FAT32 (LBA))の領域は いずれも Hidden と いう状態です

纏めて整理しないと 行けないのですが 起動 させる 現状の状態として

FreeDos

今は非常に 手間のかかる方法で処理を しています。

まず plamo linux を 立ち上げて /dev/hda1 の ”Id ; 16 ”、” System ;Hidden FAT16 ” に なっているのを ”Id ; 6 ”” System ;FAT16 ” に fdisk /dev/hda と して書き換えます そうしてその領域を アク ティブに します 。その後 通常の 電源投入で FreeDos は 起動します。

sv:~# fdisk /dev/hda

The number of cylinders for this disk is set to 20023.
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): t
Partition number (1-12): 1
Hex code (type L to list codes): 6
Changed system type of partition 1 to 6 (FAT16)
Command (m for help): a
Partition number (1-12): 1
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.

少し 変則的ですが /dev/hdb1 及び /dev/hdb2 は そのままで 差し支えは無 いようです もし この2個の 領域を 認識する 必要があれば ”/dev/hdb1” の Hidden Win95 FAT32 (LBA) を 通常の Win95 FAT32 (LBA) にして ”/dev/hdb2”の ア クティブを 削除 した状態に すれば 良いのですが そこまでしなくても FreeDos は 起動します。当然 /dev/hdb2 は 参照できますし /dev/hdb2 の win98 は 起動しません

# 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    6  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)

これは 不思議なことですが 世の中の常識らしいですが ディスクの 容量は 例えば /dev/hda1 の FreeDos での認識は 2096800 ブロック で

2096800*1024 = 2147123200 ... 2,147,123,200

/dev/hda1 及び /dev/hdb2 の 両方とも 約 2G ということに なります。

windows 2000

これの起動は また linux を 立ち上げて

”/dev/hda1”を アクティブ から 非 アクティブ に すると ともに ” Hidden FAT16”に 変更します。

# fdisk /dev/hda
Command (m for help): t
Partition number (1-12): 1
Hex code (type L to list codes): 16
Changed system type of partition 1 to 16 (Hidden FAT16)
Command (m for help): a
Partition number (1-12): 1
Command (m for help): w

”/dev/hdb”の方は ”/dev/hdb1”を アクティブ にして ”Win95 FAT32 (LBA)”に 変更して ”/dev/hdb2”は 非 アクティブ に します

# fdisk /dev/hdb
Command (m for help): a
Partition number (1-4): 1
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): a
Partition number (1-4): 2
Command (m for help): w

起動フロッピディスクは 以下のものです。”hda3.ini” というのは 色々試みている ”boot.ini”の コピーです、領域が DOS ですので 変な ファイルの 名前に なっ ています。想像はつくでしょうが /dev/hda3 から起動させようとして 失敗した 残りです。 また 英文で 立ち上げる最小の ファイル構成の 所謂 win2k 起動 フロッピー ということです。最終的には 纏めなければいけませんが?

# mount -t msdos /dev/fd0 /mnt/
# ls -a /mnt/
./  ../  boot.ini*  bootsect.dos*  hda3.ini*  ntdetect.com*  ntldr*
# cat -v /mnt/boot.ini 
[boot loader]^M
timeout=30^M
default=multi(0)disk(0)rdisk(1)partition(1)\WINNT^M
[operating systems]^M
multi(0)disk(0)rdisk(1)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect^M

変更した後の fdisk -l の 状態は

# 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    c  Win95 FAT32 (LBA)
/dev/hdb2           610      1216   4875727+   c  Win95 FAT32 (LBA)

これで windows 2000 の 起動を 行います。

この場合の起動に関して ”/dev/hdb2”を Hidden に しておいた場合 と Win95 FAT32 に しておいた場合に よっては 起動の途中 凍った 状態に なる時 があります この場合は きーよに 電源スウィツチを きって 再度電源をいれま しょう あまりお薦めでない 方法ですが 壊れないようです /dev/hdb2 が 存在 した存在しなかったりすると windows 2000 が 困惑しているのでしょう。当然 良い方法では有りませんので 何かは 失われているのでしょうが 見た目には わ かり難いということです。運用の場合は /dev/hdb2 は 隠しておいた方が よい のか というのは また別問題です。

容量の確認をすると

win2k 5008457728 ;;; 5,008,457,728 約 5G

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

ということに なります。

さて残りの win98 です

にゃんたろう 拝!

2009年 1月 3日 (土) 21:09:38 JST JST 作成


up

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