従来のMOメディアをNT 4.0で使う法

最終更新: 1998.12.15


はじめに

DOSやWindows 95でフォーマットした(あるいはフォーマット済で売っている)MOメディアを、 AT互換機用のWindows NT 4.0で使おうとすると、 「パラメータが違います」などと意味不明のエラーが出てアクセスできないことがしばしばあります。 本稿では、そのようなMOをNT 4.0で使えるように処置する方法を解説します。

作業にはDOS(またはWindows 95、NTは不可)とDEBUGコマンドが必要です。 操作を誤るとMOやHDDのデータに悪影響が出るおそれがありますので、 作業は慎重に行ってください。 筆者は責任を負いません。

なお、ここで紹介するのはMOメディアの内容に手を加える方法ですが、 別の方法として、NT 3.51のSCSIMO.SYSを組み込む方法や、 専用のデバイスドライバを使う方法もあります。


簡単な方法

ここではMOがドライブE:であると仮定します。 それ以外の場合は、以下の手順で、ドライブ名のE:を読み替えてください。 また、LコマンドとWコマンドの"4"もあわせて読み替えてください (A:=0, B:=1, ..., E:=4, ..., K:=A, ...)

C:\>DIR E:	DOSにメディアを認識させる
C:\>DEBUG
-L 1000 4 0 1	ドライブE:のセクタ0から1セクタを1000H番地以降に読み込む
-F 11BE L40 FF	パーティションテーブルをクリア
-W 1000 4 0 1	書き戻す
-Q

確実な方法

上記の方法で読み書きは問題なく行えるようになりますが、 どういうわけかCHKDSKはあいかわらず使えません。 そこで、CHKDSKも含めてより確実に解決する方法を紹介します (ただしこの方法でも100%完全という保証はありません)。

C:\>DIR E:	DOSにメディアを認識させる
C:\>DEBUG
-L 1000 4 0 1	ドライブE:のセクタ0から1セクタを1000H番地以降に読み込む
-F 11BE L40 0	パーティションテーブルをクリア
-E 11C2 6	ID=06(16ビットFAT)
-M 1020 L4 11CA	BPBから総セクタ数をコピー
-W 1000 4 0 1	書き戻す
-Q

注意点


問題の背景

ここでは、NT 4.0のMO互換性問題に関する技術的・歴史的背景を説明します。 理解を深めたい方は読んでください。

MOなどのリムーバブルメディアのフォーマット形式は、 大きく分けてスーパーフロッピーフォーマットとHDD互換フォーマットの2通りあります。 HDD互換フォーマットのうち、PC/ATのHDDと同じ形式のものは、 FDISKコマンドの名前をとってFDISKフォーマットとも呼ばれます。

DOSやWindows 95でMOをフォーマットすると、 普通はスーパーフロッピーフォーマットになります。 市販のDOS/Windows用フォーマット済みMOもスーパーフロッピーフォーマットになっています。 そのため、これらの環境でMOを使ってきた人は、スーパーフロッピーフォーマットのMOを蓄積していることと思います。

AT互換機のWindows NT 4.0では、スーパーフロッピーフォーマットとFDISKフォーマットの両方が扱えることになっています。 しかし、他の環境でスーパーフロッピーフォーマットしたMOをNT 4.0で使おうとしても、多くの場合使えません。 その原因は、おそらくNTがスーパーフロッピーフォーマットとFDISKフォーマットを判別する方法がまずいためだと思われます。

NTは、FDISKフォーマットのパーティションテーブルがあるはずの個所(先頭セクタ)を調べ、 そこに書かれているデータがパーティションテーブルらしく見えればFDISKフォーマットと判断し、 そうでなければスーパーフロッピーフォーマットと判断しているようです。 しかし、スーパーフロッピーフォーマットではその個所にはIPLのコードやゴミデータが入っています。 NTは多くの場合これをパーティションテーブルと誤認し、 本当はスーパーフロッピーフォーマットのメディアをFDISKフォーマットと判断してアクセスしようとするため、 おかしなエラーを発生しているものと思われます。

スーパーフロッピーフォーマットのメディアでも、 フォーマットに使ったプログラム(フォーマット済みメディアの場合はメーカー)が違うと、 NTで使えたり使えなかったり違いがでてくることがありますが、 これはその個所に書いてあるデータの違いによってNTの認識に違いが出るためと想像されます。 つまり、NTで使えていても、 そのプログラムなりメーカーなりがNT 4.0対策をしていない限り、 「たまたまNTが誤認せずにすんでいる」だけですので、 あまり安全な状態とはいえません。

以上の考察に基づくと、 スーパーフロッピーフォーマットのメディアをNT 4.0で確実に認識させるには、 以下のいずれかの方法が有効です。

趣旨からすると前者が簡単で正しい方法であり、 富士通のユーティリティSFDCONVでもこの方法を使っていますが、 この方法では読み書きはできてもなぜかCHKDSKができません。 そこで本稿では後者の方法も解説してあります。 なお、後者の方法は、「普通にFDISKフォーマットして1つだけパーティションを作った」状態とは違います。

そもそもNT 4.0では、NT3.51(日本語版)と違って、 MOを初期化する際にはFDISKフォーマットしか使えません。 読み書きに関しては、既存のメディアのためにスーパーフロッピーフォーマットもサポートしていることになっていますが、 あくまでメインはFDISKフォーマットという位置付けのようです。 市場の動向を見ても、zip(FDISKフォーマット済みで販売されている)が主流の米国では、 リムーバブルメディアのスーパーフロッピーフォーマットのサポートに対する需要はほとんどないものと思われます。 このように、スーパーフロッピーフォーマットのサポートがなおざりにされているために、 いい加減な実装によって大きな騒動をひきおこしたといえるでしょう。

なお、NEC PC-9800シリーズのNT 4.0では、 FDISKフォーマットがサポートされていませんので、 このような問題はありません。


Copyright (C) 1998 ITO Takayuki, All rights reserved.

伊藤隆幸のホームページ