[23154]  内蔵IDEで32GBの壁を破る
投稿者:まりも さん   2000-12-28 07:09:51
 内蔵IDEハードディスクが4.3GB以上対応の9821で、拙作 EXIDE8Gなどを
使っても、32255MB(約32GB)までしかBIOSジオメトリでは扱えないのですが、
それならば9821フォーマットにしなければよいのではないか…ということで、
以下の実験をしてみました。結果としては、Windows9xで 40GBのドライブを
全容量使用することができました。

 ご存じの方も多いと思いますが、9821のWindows9xでは、PC/ATのFDISK
イメージでフォーマットされたディスクも扱うことができます。この場合
は、起動装置として使えませんし、DOSレベルではドライブの内容を見る
ことはできません(そのようなデバイスドライバがあればOKだが)が、
Windowsの GUIが起動してからは、ドライブレターが割り付けられ、アクセス
することができるようになっています。SCSIドライブで、あえてBIOSで認識
させないようにして、PC/ATとの間でデータのやりとりをしていたという人は
いるでしょう。PC/ATのFDISKでは、SCSIとIDEの違いはありません(現在の
大容量帯では)から、同様に IDEでも行けるはず、と考えられるわけです。

 早速購入した 40GBの IDEドライブを、PC/ATにて「拡張DOS領域1個」
(ここが肝要)でフォーマット(メルコ製のHDDを購入したため、メルコの
DiskFormatterを使用した)したあと、4.3GB超に対応のPC-9821Ra300の内蔵
ディスクインターフェイスに繋ぎました。当然起動可能な領域はありません。
SCSIドライブのほうからWindows98SEを立ち上げると、40GBのIDEドライブ
にドライブレターが割り振られ、アクセスもできました。その際、EXIDE8Gは
起動してあってもなくてもまったく関係ありません。

 Windows GUIが起動してからは、リニアなLBA(論理ブロックアドレス)で
アクセスされるため、32GBという壁(BIOSジオメトリに起因する)は関係なく
なるわけです。起動デバイスにできないという問題はあるものの、ともかく
全容量を使えるという点では、今のところ唯一の方法かと思います。

 なお、PC/ATでフォーマットしたハードディスクは、9821起動時に読む
ブートレコードの内容もPC/AT用となっているために、動作不正となり、
繋いだだけでハングアップすることがあるので注意して下さい。経験的には、
拡張DOS領域一個だけの場合は、問題がないようです。問題が発生した場合は、
「メモリスイッチ」の「ブート装置」を、「標準」ではなく、実際に起動に
使う他の装置(SCSIなど)にしておけば大丈夫です。
  1. バイザー さん   2000-12-28 20:06:38
    まりもさん、貴重な情報どうもありがとうございました。
    「32GBの壁」は破れない物と勝手に決め込んでいた自分が恥ずかしいです。方法によってはクリアーできることもあるのですね。
    特に内蔵IDEを使用すると言うところがいいですね。確かに転送速度は遅いでしょうけど、データドライブとして大容量のHDDを使えるのはありがたいことです。
    最近のIDE HDDは低価格化が進んでいますので、コストをかけずに大容量を手に入れられるというのはすばらしいですね。

    #何事も工夫ですなぁ。私も見習いたいのですが、いかんせん基礎知識が足りなさすぎです。
  2. ペンチアム さん   2000-12-29 00:16:29
    一部情報では、Win2KのダイナミックディスクでOKだそうです。(未確認)
    できたとしても、もちろんWin2K以外のOSからは全く見えませんが。
  3. MTR さん   2000-12-29 00:57:15
    前々から思っていましたが、HDDの条件さえそろえばM社のAで同様にして32GOVER出来そうな気もしていました(思いっきりグレーゾーンなのではありますが)。

    願わくばEXIDE8Gならぬ、EXIDE4G等有ったら自分的に嬉しいです。
  4. まりも さん   2000-12-29 10:03:21
    見かけのディスク容量を4.3GBに制限した上で(メルコのAdvanced BIOS使用製品のHDDもそれ)、4.3GB以上のところをアクセスできるようにしたドライバでもあるとよいんですけどねぇ。OSが起動してから、見かけの容量を実容量に書き換え、OS終了前に元に戻せばよいのですが、ハングアップなどで異常終了すると、次回起動できなくなってしまう(見かけ容量が4.3GBになってないので)んで、Adanced BIOSのような面倒なことをしないといけないんですよね。