■Disk Salvage tools - for FAT16/FAT32, Copyright(C) 1998 by Toshiaki Matsuda Version 1.10 (1998-8-15) ・修正履歴 [BOOT_RCV.EXE] V1.0 -> V1.1  ディスクの最初のパーティーションにFAT16のボリュームが無いにもかかわらず、在ると判断し て復旧しようとする不具合を修正。プログラムのロジックミス。 ただし、本当にFAT16 のパーティーションが在れば実害はない。 V1.1 -> V1.2  内部的に、FAT セクターを検索してその実際値と、計算値の比較を行っているがそれが 違うというメッセージが出てしまった。(これが出る事は、無いと考えていた) 仕方が無いので、実際値を代入して処理を継続する様に修正。 V1.2 -> V1.3  上記の問題で、元々割り付けられていたパーティーションの領域と、再割り付けしたパーティー ションの領域 とで 2CYL のずれがある事が判明した。すなわち、再割り付けしたパーティー ションが 2CYL 分、容量が大きかった為に計算が合わない事が判った。 計算が合わない状態で修復するのは危険なので、エラーメッセージを出してアボートするように 再度、仕様を戻した。 [BOOT_SAV.EXE] V1.0 -> V1.1 ・MBR と BPB を保存できる HDD が 80h だけであったが、他のHDDの保存をサポート ・上記の修正に伴って、保存情報に HDD#,CYL,HED,SEC の情報を付加した ・ファイルIDを以前のバージョンと区別する為に変更、ただし旧バージョンで保存  されたファイルも復元可能です。 ・他の、HDD に PATCHするツールで保存されたセクター情報は、このバージョンのBOOT_SAV  で復元可能です。また、サポート用のPATCH ツールとしても活躍中です。 [S_COPY.EXE] V1.0 -> V1.1  V1.0 は、元々 GET_DPB というプログラムを改造して作ったもので、DOSの隠し コールを使ったり、ディスクパラメータブロックを取得したり、冗長なコードが多かった。 全面的にアルゴリズムを改善し、冗長なコードを削除した。 V1.1 -> V1.2  FAT32 に対応、些細なバグの修正。 V1.2 -> V1.3  Windows95 OSR2 の DOS モードで、FAT16の修復を行う際、ファイルが 32KB しか 作成されない不具合を修正。Windows95 OSR1や DOSでは発生しない。また、FAT32 の 修復でも発生しない。理由は、INT 25h の API において、Windows95 OSR2 は SI レ ジスタを破壊するのが原因です。どうも OSR2では、AX=7305h INT21h と INT 25h は 同じルーチンを使っているのでしょう。全く、API くらいは統一して貰いたいもので すが、、。 [FAT32RCV.EXE] V1.0 -> V1.1  FAT セクター数の計算において、実際値と計算値の誤差見込みを1から6に増やした。 これは、計算ロジックが怪しい為ではなくて(汗)、拡張INT 13h を使って領域が 確保された場合、旧INT 13h から見える総セクター数よりも大きな領域が確保されてしま う。所が、FAT32RCV.EXE では、旧 INT 13h から見える領域を正しい値としている為 計算値が、小さい方向へずれてしまう為です。 これは、拡張INT 13h をサポートする様に、全てのツールの見直しをしていますので、 新バージョンまでの暫定的な修正とします。また、このツールを使ってボリューム修復し た場合に、若干容量が元の容量より小さくなる場合があると思いますが、データの復 旧には、実害は無いと考えています。 [MANUAL.TXT, SALVAGE.TXT] V1.0 -> V1.1 ・新ツールの説明の追加 ・FAT32 、VFAT の ディレクトリー構造 BPB構造の説明追加。 ・記述ミスの修正 ================================== nbe01171@nifty.ne.jp matsuda-toshiaki@my.email.ne.jp 松田 利昭 ==================================