ドライブレター不整合/FAT論理ドライブ追加
ドライブレターがおかしいことから調べていくと、どうも「拡張パーティションにFAT論理ドライブが無い」ことが原因のようだ。しかし、現在拡張パーティションの中は、Linux nativeとLinux swapに全て使われてしまって、FAT領域を作る余裕が無い。ここは一つ、Linux swapのサイズを変更して、FAT領域を作ることを試してみる。
情報収集
さあやってみようと言っても方法が分からない。fdiskはDOS/Windowsと同じようなものだが、DOS/Windowsでいうところのformatが分からない。仕方がないのでまた本屋でパラパラ見て、ハードディスクの増設時について、ファイルシステムの作成が目に付いた「Run Run Linux」を買う。全く本代もバカにならない。税別2,900円とは!
さらに、念のためWebでも検索をしてみると、普通のLinuxのパーティション(ext2)はmkfsでいいが、swapはmkswapと書いてある。おお、危ない危ない。
まずは「BootDisk」と「RootDisk」の作成
Windows95でMS-DOSプロンプトを起動
CD-ROMを挿入(Run Run Linuxの付属CD)
FD(1.44MBフォーマット済み)を挿入
カレントを\SLACK350\BOOTDSKS.144に移動
rawrite bare.i a: と入力
もう1枚別のFDを挿入
カレントを\SLACK350\ROOTDSKSに移動
rawrite color.gz a: と入力
以上でBootDiskとRootDiskは完成
BootDiskでブート
BootDiskを挿入し電源ON、途中でRootDiskに差し替えると、mini rootが起動する。
cfdiskでパーティション変更
cfdsik /dev/hdbと入力し、cfdisk 0.8iを起動し、以下のパーティションで[Delete]を選ぶ。
Name | Flags | Part Type | FS Type | Size(MB) |
/dev/hdb6 | Logical | Linux Swap | 238.22 |
次のように変わる。
Name | Flags | Part Type | FS Type | Size(MB) |
Pri/Log | Free Space | 238.22 |
パーティションを切り直す。
[New]を選択
[Logical]を選択
Size (in MB): 238.22に対して64と入力
[Beginning]を選択
[Type]を選択
Enter filesystem type: 82 (linux Swap) を入力
また次のように変わる。よしよし、パーティションの名前は変わっていない。これが変わると後で面倒。
Name | Flags | Part Type | FS Type | Size(MB) |
/dev/hdb6 | Logical | Linux Swap | 64.97 |
次に、Free Spaceにハイライトを移し、DOSパーティションを作る。
[New]を選択
[Logical]を選択
Size (in MB): 173.25 (そのまま)
[Type]を選択
Enter filesystem type: 06 (DOS FAT16 (big)) を入力
次のように変わる。
Name | Flags | Part Type | FS Type | Size(MB) |
/dev/hdb7 | Logical | DOS FAT16(big) | 173.25 |
変更内容を書き込み終了する。
[Write]を選択
"Are you sure you want write teh partition tabel to disk? (yes or
no):"と訊かれるのでyesと答える。
"Wrote"との表示
[Quit]を選択
一旦リブートする。shutdown -h now
INIT: Switching processes to runlevel: 0 INIT: Sending processes the TERM signal Terminated INIT: Sending processes the KILL siginal INIT: no more processes left in this runlevel |
暫く待ってもこれ以上表示されないのでCtrl-Alt+Delで再起動
(3つのキーを押した瞬間に何か表示されたが読めず...)
スワップパーティションのフォーマット
パーティションを切った領域をフォーマットする。
mkswap -c /dev/hdb6
Setting up swapspace, size = 68087808 bytes
マシンを再起動する。shutdown -r now
無事Linuxは起動した。(rootでloginすると「You have new mail.」との表示あり)
Windows95は無事起動
エクスプローラの起動スピードは普通になり、ドライブレターも正常になった。
しかし、MS-DOSプロンプトからのfdiskは起動しない。新しく作った論理ドライブは、フォーマットはできるので、一応フォーマットをしておく。
Primary Masterに「Unusable」?
もう一度mini rootを起動し、cfdiskをやってみる。たまたま間違えて表示させてしまったのだが、hdaの中は次のようになっていた。
Name | Flags | Part Type | FS Type | Size(MB) |
/dev/hda1 | Boot | Primary | DOS FAT16[NO NAME] | 604.01 |
/dev/hda5 | Logical | DOS FAT16[PARTITION10] | 1004.07 | |
/dev/hda6 | Logical | DOS FAT16 [PARTITION11] | 1294.30 | |
/dev/hda3 | Primary | DOS FAT16 [ ] | 596.17 | |
/dev/hda4 | Primary | DOS FAT16 [ ] | 596.17 | |
Unusable | 7.85 |
「Unusable」って何だぁ。Windows95でfdiskができないのはこれが原因だろうか。
つまり、今回の不都合は2つの問題があったのだろうか。
1.ドライブレターがおかしかった → SlaveのHDDの拡張パーティションにDOSの論理ドライブが無かったため
2.fdiskができない → MasterのHDDに「Unusable」の領域があるから
ちなみにUnusablleをハイライトにすると、[bootable][Delete][Maxmize][Type]は選択候補から外れる。
他のマシンでは
自作3号(ABIT)では
Name | Flags | Part Type | FS Type | Size(MB) |
/dev/hda1 | Boot | Primary | DOS FAT16 [NO NAME] | 2047.35 |
/dev/hda5 | Logical | DOS FAT16 [NO NAME] | 2000.29 | |
/dev/hda6 | Logical | DOS FAT16 [NO NAME] | 2000.29 | |
/dev/hda7 | Logical | DOS FAT16 [NO NAME] | 101.98 |
Name | Flags | Part Type | FS Type | Size(MB) |
Pri/Log | Free Space | 7.85 | ||
/dev/hdb1 | Primary | Win95 Extended (LBA) | 8048.19 |
Win95 Extendedなんてのがある。8GB以上のディスクだからだろうか。しかも論理ドライブが表示されない。
Gateway2000では
Name | Flags | Part Type | FS Type | Size(MB) |
/dev/hda1 | Boot | Primary | DOS FAT16 [ ] | 1547.44 |
Pri/Log | Free Space | 1.97 |
Name | Flags | Part Type | FS Type | Size(MB) |
/dev/hdb1 | Primary | DOS FAT16 [NO NAME] | 773.72 | |
/dev/hdb5 | Logical | DOS FAT16 [NO NAME] | 773.72 | |
Pri/Log | Free Space | 1.97 |
PrimaryにもSecondaryにもFree Spaceがある。
1シリンダ分がUnusable
問題のディスクは、255Heads、63Sectors/Track、523Cylindersなので、1シリンダの容量は、
255(Heads)×63(Sectors/Track)×512Bytes/1024Bytes/1024Bytes = 7.84MB
であり、Unusableの容量と合う。
cfdiskで、Size(MB)をCylindersに切り替えても、やはりUnusableのCylindersは1である。
GatewayのFree Spaceも、
64(Heads)×63(Sectors/Track)×512Bytes/1024Bytes/1024Bytes = 1.97MB
であり、やはり1シリンダ分である。
しかし、何故一方はFree Spaceで、一方はUnusableなんだろう。Free Spaceが有ったり無かったりというのも...
Slaveを外せばWinowd95のfdiskが可能
試しにSlaveのHDDを外し、MasterのHDDをSingleに変更し、Windows95を起動する。この状態ならfdiskははちゃんと起動する。mini rootのcfdiskも当然OKで、表示内容も変わりなくUnusableが存在する。
LinuxパーティションのBoot Flagを止めても同じ
こうなるとWindows95でfdiskができないのは、Slave内にBoot可能なパーティションがあるからだろうか。もうヤケクソで、mini rootのcfdiskを使って、/dev/hdb5のFlagsのBootを止めてみる。
Name | Flags | Part Type | FS Type | Size(MB) |
/dev/hdb5 | Boot | Logical | Linux | 984.35 |
/dev/hdb6 | Logical | Linux Swap | 64.97 | |
/dev/hdb7 | Logical | DOS FAT16 [NO NAME] | 173.25 |
しかし、これは全然効果無し。
もう知らん。