mo.sysは、NT4.0標準のdisk.sysでは正しく扱うことのできない、superfloppy形式のMOを扱うことのできるNT4.0用SCSIクラスドライバです。このドライバを用いることで、NT付属のformat.comやエクスプローラで論理フォーマットを行うこともできるようになります。
詳細についてはmosys.txtを参照してください。
[2000-02-18] Windows 2000ではNT4では読めなかったsuperfloppy形式のMOも読めるようになっているようです。さらに標準でエクスプローラ等からフォーマットが可能になりました(新品のMOをフォーマットするとsuperfloppy形式になります)。これに伴い、W2k対応mo.sysの開発は中止しました。
| mo003.lzh | mo.sys version 0.03 + mosrv.exe [1998-12-07] |
|---|
ディスクアドミニストレータからMOドライブが見えないのは仕様です。ディスクアドミニストレータはdisk.sys等が作成する¥Device¥HarddiskX¥PartitionXというデバイスのみサポートしています(この他、CD-ROMドライブのドライブ文字割り当てもサポートしていますが)。mo.sysが作成するデバイス名はディスクアドミニストレータから見えないように意図的に変えてありますが、これは以下の2つの理由によります。1つは、mo.sysはdisk.sysより前に読み込まれなければならないため、SCSI-IDによらず、MOがHDDより前に列挙されてしまうため、もう1つは、ディスクアドミニストレータはFDISK形式のフォーマットを前提としており、superfloppy形式のMOを扱った時に、何らかのトラブルが発生する可能性があったためです。
なおドライブ文字ですが、申し訳ありませんが、現時点では、レジストリエディタを用いて、レジストリを直接書き換えて頂くしかありません。将来は、mo.sysの配布に、ドライブ文字を変更するためのツールを含める予定です。
これはエクスプローラ側の問題です。エクスプローラは、メディアをイジェクトする際に、rawデバイスを「排他的に」オープンするようです。そのため、rawデバイス自身に限らず、このドライブのファイルやディレクトリのハンドルが1つでもオープンされているとイジェクトに失敗します。ところがエクスプローラは、自身がそういうファイルハンドルをオープンしている場合にも、それを自ら開放することはありません。
よくあるパターンですが、例えばMOのルートディレクトリがエクスプローラの右画面で表示されているときに、左のtreeでMOをイジェクトしようすると、失敗します。
おっしゃる通り危険です(^^; できればエクスプローラでイジェクトして下さい。なお、IOCTL自体はデバイスを排他的にオープンしていなくても通してしまっているので、ソフトイジェクトだからといって、必ずしも安全なわけではありません。
ちなみに、ドアロックのサポートも検討してはいますが、トラブル発生時にメディアが取り出せなくなる可能性があるため、実際にサポートするかどうかはまだわかりません。