[50111]  Formatコマンドの不具合?
投稿者:青星 さん   2005-08-07 10:06:51
いま98が手元になくて確かめられないので、質問させて頂けますでしょうか?

一般的にはHDD容量の最低使用単位は、パーティションの大きさが

512Mバイト未満=8Kバイト
256Mバイト未満=4Kバイト
128Mバイト未満=2Kバイト
64Mバイト未満=1Kバイト

という感じだったと記憶しているのですが、98x1用のDOSのFormatコマンドにはバグがあって128Mバイト未満でパーティションを切っても、256Mバイトで切った時と同様4Kバイト単位でHDDを使ってしまうようになっていたんですよね?

そこで本題なのですが、このバグって結局修正されたのでしょうか?また修正されたとしたらDOSのどのバージョンの時だったのでしょうか?

夏休みに実家のAp3のHDDをCFに交換しようと考えているのですが、CFだけにあまり試行錯誤したくないですし、限られた容量を無駄なく使いたいと考えております。そういうわけで、ご存知の方がいらしたらよろしくお願い致します。

  1. KAZZEZ さん   2005-08-07 17:43:25
    DOSでも、ICMのEXFORMなどサードパーティ製のフォーマッタでは、
    当時からフォーマット時のクラスタサイズを選択できるものがあり、
    DOS5.0Aでも128KB以下なら1KBのクラスタサイズを選択できました。
    つまりフォーマットさえしてしまえば、DOS5でも使えそうです。
    しかしそれでもDOS3.3Dの場合は、65-128MBの領域には
    4KB以上のクラスタサイズしか選択できないことになっています。

    つまり標準では128MB以下の領域でもクラスタが4KB(一部2KB)
    になるのはバグでは無く、DOS3.3との互換性のためだと考えられます。
    お使いのDOSバージョンはいくつになる予定でしょうか?
    もちろん、クラスタ数が増えればそれだけHDDの動作速度が落ちますから、
    クラスタサイズ4KB以下なら使用効率はあまり変わらないという判断もありそうです。
    CFを使うなら、速度との相談もそれなりに必要になるかもしれません。

    純正のフォーマットコマンドの話ならば、
    隠しオプションでフォーマット時のクラスタサイズがユーザー指定できる
    ようになったのはDOS7.1(OSR2のDOSモード)からだったと思います。
    「/Z:数値」で、数値の半分KBの「アロケーションユニットサイズ」を指定できます。
    あくまで隠しオプションなので、標準以外のクラスタサイズでは
    DOS3.3問題のほかに、どこでどんな不具合があるのかは存じません。
  2. 青星 さん   2005-08-07 23:29:46
    >KAZZEZさん
    >つまり標準では128MB以下の領域でもクラスタが4KB(一部2KB)
    >になるのはバグでは無く、DOS3.3との互換性のためだと考えられます。

    このあたりの事情はまったく存じませんでした。DOS3.3*時代の名残だったんですね。
    今回はCFを扱うためDOSは過去ログを参考に、とりあえずDOS7(というかWin98の起動ディスク)でかけようと思っていたので、その時は教えていただいた隠しオプションも(まずHDDで)試してみたいと思います。また、最初にご紹介頂いたICMのフォーマッタは昔買ったCD-ROMについていたSCSIユーティリティあたりに入ってそうなのでこちらの方も探して試してみようと思います。
    たいへん有益な情報どうもありがとうございました。
  3. KAZZEZ さん   2005-08-10 11:50:51
    追記

    > 数値の半分KBの「アロケーションユニットサイズ」
    厳密には、単位となるセクタ(普通は512バイト)をいくつ使ってクラスタサイズにするか、だそうで、
    /Z:4でクラスタサイズ2KBになりますから、数値に4以下を設定すると一般に保証外だそうです。

    しかし、もしディスク圧縮をするのであれば、それなりに小容量の領域でも、
    逆に数値を大きくして32KBクラスタを作ったほうが効率は良いそうです。
    参考まで。