[17588]  HDD容量の壁とWin2000について質問
投稿者:くん さん   2002-01-14 02:52:35
たびたびすみません、くんです。少し前にPC98掲示板の方に60GBのHDDの件で
書き込みさせてもらったばかりですが、原理的に疑問に思う事がでてきて
気になって眠れないので質問させていただきます。
最近のHDDの大容量化になるべくPC98で対向する術を見つけたいので(^^;)
自分なりに容量の壁や問題等を復習してまとめてみたのですが、

大容量HDDの問題のポイントを簡単にまとめてしまうと、

(1) まず起動時のスキャン (内臓IDE-BIOS、IDE/SCSIボード上のBIOS等)
(2) 領域取得やフォーマット(FDisk、Format、ディスクアドミニストレータ等)
(3) 実際利用時のアクセス (OSの仕様)

ですよね?

で、それぞれの段階のアクセスでC/H/S(どんなパラメータか)かLBAかが問題になる、と。

とりあえずまりもさんのページを参考に、初心者なりに下記にまとめてみました。
……が、勿論間違いもあると思うので、どんどん指摘していただけると幸いです。
長文になってしまって申し訳ないのですが、よろしくお願い致しますm(__)m

//------------------------------------------------------------------------------
(1)はまず、IDE/SCSI BIOSがC/H/Sアクセスする事による問題ですよね?
  これがいわゆる内臓の4.3GBや、拡張ボードの8GBや32GBの壁で、
  各種BIOSのC/H/Sパラメータやルーチンによって限界・挙動は異なる、と。

・U-IDE66の場合は31.5GB(33,822,867,456Byte)以上のHDDを繋いだ場合ハングアップ。
・Rv系内臓SCSI(Adaptec)やA100U2W(Chanpon3)では、34,359,738,368Byte以上の
  HDDを繋いだ場合ハングアップはしないがSCSI BIOSから認識されない。
・SC-UPCI系(新しいverのSCSI BIOS)だと32GB(34,359,738,368Byte?)を
  越えた場合は、SCSI BIOSから強引に32GBとして認識され、32GBまで使える。
・IFC-USP-M2(初代Chanpon)では32GBを越えた場合にのみNEC標準と異なる
  独自パラメータになり、64,424,509,440Byte(60GB)までは認識して使える。
・PK-Mistress9やまりもさんのEX-IDEでは内臓IDEのC/H/Sパラメータを
  変更してくれるので、その独自パラメータの限界容量までは行ける。
  なお、まりもさんのEX-IDEはIFC-USP-M2やPK-Mistress9のパラメータも選択できる♪

(2)まず、領域確保やフォーマット以前にOSからHDDが認識されている必要がある。
  そしてOSによってパーティション情報や各パ−ティションのファイルシステム等が
  問題になってくるが、その処理や確保はそれぞれのプログラムの仕様による。

・例えばWin98SEのFDisk.exeは各種BIOSを用いて容量をC/H/S取得するので
  (1)の壁がまた当てはまる。また、PK-Mistress9やEX-IDE利用時には
  64GBなども扱えるがプログラム的問題で表示が負の値になったりする。
・また、Win95のFormat.exeはセクタが64を越えると誤動作する事もあるらしい。
  とりあえずWin98SEのFormat.comではIFC-USP-M2(初代Chanpon)接続の60GBはOKとの事♪

★WinNT/2000のディスクアドミニストレータ(ディスクの管理)はLBAなのか…??★

(3)WindowsGUI(9x/NT/2000)が起動してからはLBAアクセスになるので、
  ここまでハングアップせずに抜けて、かつ認識されていれば基本的には使える。

・ただしWin9xの場合、結局IDEミニポートドライバである「ESDI_506.pdr」が
  実は内部でC/H/Sアクセスしているらしく、普通に利用できているようにみえて、
  32GBを越えた部分から先頭のセクタに上書きされるという恐怖な事態に…!
・Win9xでもPC/ATフォーマットの場合はBIOSの管理下ではないので32GB越えできるらしい。
・SCSIの場合はWindowsGUI起動後は完全にLBAアクセスになり、特に問題ないらしい。

★(1)でハングはしないが認識もされない場合等でも、IDE/SCSI BIOSを
  経由せずに自力で探してくれるOS(Win2000等)からは認識してもらえるかも?
  OSから認識された場合は、(2)さえ切り抜ければ非ブートデバイスとして使える事も。
  (2)を切り抜ける手段としてスーパーフロッピー形式・AT互換機フォーマット等が…?
  しかしWin2000ではリムーバブル扱いになってしまうとやたら遅い…?★
//------------------------------------------------------------------------------
  1. くん さん   2002-01-14 02:53:08
    内容の都合上、長文になってしまって申し訳ございませんm(__)m
    上記で★〜★で囲った2ヶ所が、特に自信がなくて今回質問したい所なのです。

    ☆ ------------------------------ Q.1 ------------------------------ ☆
    実際の所、WinNT/2000のディスクアドミニストレータ(ディスクの管理)は
    どのような仕組みになっていると予想されるのでしょうか?

    今まではWinNT/2000は完全なLBAアクセスで、C/H/Sによる問題はないと
    思っていたのですが、PC98掲示板の過去ログの37462番を読む限り、
    WinNT4/2000ではHDDの総容量はLBAで取得するものの、ディスクの管理での
    領域分割やフォーマット時には、何故か決め打ちのC/H/Sになっているらしく、
    32GB越えのIFC-USP-M2(Chanpon)やEX-IDE等の、標準のC/H/Sパラメータ以外に
    なっているとエラーが出て、結局32GB(標準パラメータの限界?)以降の領域を
    フォーマットしようとしても、指定と異なった変な領域分割にされてしまうそうですね。

    これは、Win2000は普段はLBAアクセスで取得するのに「ディスクの管理」時は
    LBAでもBIOSやHDD-FirmのC/H/Sパラメータ参照のどれをするのでもなく、
    標準のC/H/Sパラメータを決め打ちしてくれちゃう、という事なのでしょうか?

    でもSCSI-BIOSがないH/Aに接続したHDDはスーパーフロッピー形式で
    フォーマットされるという話も見た事があります…。という事はやはり
    Win2000はフォーマット時にもSCSI-BIOSを多少なりとも参照している、
    という事なのでしょうか??う〜ん……この辺で混乱してきました(--;)
    まさかBIOSの存在の有無をみるだけで、パラメータはみないって事…?(死)

    とにかく結果として、IFC-USP-M2(初代Chanpon)やEX-IDEで60GBのHDDを用いた場合、
    皮肉にもWin9xでは60GBまでOKで、Win2000は32GBまでになってしまうのでしょうか?
    Win9x側でFDisk.exeとFormatを完了していれば、Win2000上でも利用だけは
    可能なのかもしれませんが、その場合FAT32のみでNTFSにはできないし…。
    NTFSを含みつつWin2000で60GBのHDDを使う事は無理なんでしょうか…
    なるべくなら先頭のパーティションだけNTFSにしてWin2000を入れて、
    Win2000とWin98SEの両方ともAドライブブートで使っていきたいのです。
    PC9821らしい固定ディスク起動メニュー万歳という事で(^^;)

    ☆ ------------------------------ Q.2 ------------------------------ ☆
    後もう1つお聞きしたいのは、ハングはしないが認識もされない場合の挙動です。
    例えばRv系のオンボードSCSIやChanpon3(A100U2W)に73GB等のSCSI-HDD等を
    つないだ場合、BIOSから認識されないからWin9xでは勿論認識されませんよね。
    その場合はWinNT/2000ではOSからHDD自体は認識されるのでしょうか?
    WinNT/2000がどこまで自力でどこまでBIOSを使うのかを知りたいです。

    仮に認識してもらえたとして、その際に最大容量はLBAで正確に取得されるものの
    「ディスクの管理」の仕様で32GB分までしか正常に領域が区切れないのでしょうか?
    それとも32GBまでの分も正常に容量は区切れないのでしょうか?
    また、AT互換機で領域を切ってくるとリムーバブル扱いで全容量使えるそうですが、
    その場合は速度的に遅いという話も聞きます。それは何故なのでしょうか?

    この辺の事がイマイチ理解できていないので、どなたか教えて下さると嬉しいですm(__)m
  2. まりも さん   2002-01-14 07:21:31
    ★ Windows2000のディスク管理

     挙動を観察すると、どうも総容量はSCSIコマンドで得ているようで、実際の容量を表示するのですが、各パーティションの容量は、容量帯ごとに定められたBIOS CHS(シリンダ・ヘッド・セクタ)パラメータを勝手に決め打ちして算出しています。標準でないBIOSのパラメータで運用すると、これと一致しないため、パーティションの認識ができません。これに対してWindows9xとDOSでは、CHSはいかようにも設定でき、それで動作します(だからマルチベンダーパラメータ機能なんていうものが昔のSCSIボードにあった)。

    ★ BIOS管理下のディスクで、Windows2000で32GB壁を超えるには?

     というわけで、いわゆる32GBの壁を超えて Windows2000を使用するには、次の場合のいずれかで、いずれも32GB手前から32GB以上の部分をまたいだ形の領域(壁またぎ領域)を作成・フォーマットして使うことになります。これはかなり危険を伴います。
    1.SC-UPCI系…そのまま
    2.IFC-USP-M系…せっかくの32GB超え対応 BIOSパラメータを, 8ヘッド 128セクタに 強制(矯正?)
    3.4.25GB壁無し内蔵IDE…そのまま(ただし、「壁またぎ領域」を Windows9xでアクセスすると致命的なことになる)。
    [注意] 壁またぎ領域を作ると、Windows9xやDOSの起動に失敗する恐れがある

    ★ BIOS管理下でないディスク
     Adaptec/NEC 系で、BIOSから無視されたドライブを、スーパーフロッピーフォーマットする方法があります。SC-UPCI系他でも、意図的にBIOS管理から外せば同じです。また32GB超えているかいないかにもよりません。フォーマットにはFDISKは使用できませんので、なんらかのフォーマットツールを使用する必要があります。

     なお、PC/ATのフォーマットでもよいですが、認識できるのはWindows9xだけで、Windows2000からは認識できません。

    ★ 32GBオーバーのハードディスクをブート用で使うには

     32GB以上のハードディスクをブート用に使いたいという場合、Windows2000のみで使うか、Windows9xとDOSでのみ使うか、決めないといけないということになります。共存(というかそれぞれのOSからのアクセス)は不可というわけです。ブートドライブは必ず32GB以下として、32GBオーバーのドライブは非ブートデバイスとしてBIOSの管轄から外し、Windows2000またはWindows9xからスーパーフロッピーフォーマットして使うのがよいと言えます。これはIEEE1394,USB2.0ストレージとしたときにも読み書きできます。

    >皮肉にもWin9xでは60GBまでOKで、Win2000は32GBまでになってしまうのでしょうか?
    >まさかBIOSの存在の有無をみるだけで、パラメータはみないって事…?(死)

    そういうことなんです…。Windows2000の領域検索がフレキシブルでなさすぎるのが困った問題です。
  3. くん さん   2002-01-14 22:41:29
    まりもさん、早速丁寧なお返事をありがとうございます〜!

    おかげさまでWindows2000の「ディスクの管理」については大体納得できました、
    どうもありがとうございます!やはり、Win2000/Win98SE両方をブートしたい
    HDDはIFC-USP-M2(Chanpon)でも32GB未満のディスクにした方がいいようですね。
    ほんのわずかでも容量が欲しい場合は、45GBのIDE-HDD辺りを買ってきて、
    ICCを用いて32GBに制限してなんちゃってSCSI接続にして使おうと思います。
    本当はSCSI用のICCがあれば、生SCSIの36GBで行きたい所ですが(^^;)

    ところでWin2000は「ディスクの管理」以外の、例えばHDD認識時にも
    決め打ちパラメータでの領域確認みたいな物がされているのでしょうか?
    例えば、IFC-USP-M2(Chanpon1)に60GBのHDDを接続してデータドライブとして
    使う場合に、生DOS7.1上からFDisk.exeでの領域の確保とFAT32でのFormatをかけて
    PC98フォーマットにしておいてWin2000では「ディスクの管理」に触れずに、
    ただ利用するだけ…みたいな事はできないのでしょうか?(^^;)
    もしこれが可能ならば、IFC-USP-M2(Chanpon1)接続ならば、
    32GB未満(ブート用) + 60GB(FAT32領域分割)はできるのかな、と…。

    壁またぎな確保は恐ろしいのでとりあえずやめておこうと思います(^^;)

    また、BIOS管理下でないディスクにしてしまえば、領域分割等はできないものの、
    スーパーフロッピーフォーマットしてしまえば使えるという事ですね。
    しかもパーティション分けできないからクラッシュしたら完全に死亡…と(--;)
    また、PC/ATフォーマットがWin2000から認識されないのも勉強になりました(汗)

    しかし、スーパーフロッピーフォーマットの場合速度が出ないという事ですが、
    PC9821にUSB2.0/1.1やIEEE1394接続のHDDをつけた場合も同様なんでしょうか?
    もし、USBやIEEE1394ではちゃんとそれなりにインターフェースの転送速度が
    発揮できる速度がでてくれるようならば、今後USB2.0やIEEE1394接続のHDDを
    データドライブ専用として使ってみようかと思うのですが…(^^;)

    簡単に抜き差しでき、更にはAT互換機のUSBに繋げてもそのまま利用できるのなら、
    Win2000を使うPC9821ユーザーとしては結構嬉しい事ですよね〜。
    現状ではWin2000でもMSのUSB2.0ドライバが出るまでSMPなRv系ではダメですが…。
    また、その場合PC9821のWin98SEでどのような挙動になるのかも気になりますが…。
    最悪、速度が出ない場合でも、PC98の内臓IDE位の速度さえ出てくれれば、
    10Base-T以上にはなるし大容量を活かしてファイル鯖にはできると思うので(^^;)