MS-DOSファイル操作 (mtools)

mtoolsMS-DOS のファイルを UNIX で使うためのツール群です。MS-DOS フォーマットされたフロッピーディスクにファイルを書き込んだり、読み込んだりすることができます。

mtoolsのコマンド名は、基本的に MS-DOS のコマンドに m を付けたコマンド名になっています。フロッピーディスクドライブは a: で表されます。この設定は /etc/mtools.conf に書かれています。ZIP ドライブも設定次第で同様に使うことができます。

詳細はオンラインマニュアル man mtools を御覧下さい。

$ mdir a:                 フロッピーのファイルの一覧
$ mcopy file.txt a:       ファイル file.txt をフロッピーにコピー
$ mcopy a:file.txt .      フロッピー上の file.txtをカレントディレクトリにコピー
$ mdel a:file.txt         フロッピー上の file.txtを消去
$ mmd a:dir               フロッピー上にディレクトリ dirを作成
$ mcd a:dir               ディレクトリ dirに移る
$ mdeltree a:dir	  ディレクトリ dirを消去

フロッピーディスクをフォーマット(初期化)するには、物理フォーマットおよび論理フォーマットを行う必要があります。物理フォーマットはfdformatコマンドを使います。

$ fdformat /dev/fd0H1440
Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.
Formatting ... done
Verifying ... done

fdformatコマンドはmtoolsではないので、「a:」のようにドライブレターを使うことはできません。論理フォーマットは次のいずれかの方法でできます。

$ mformat a:
または
$ /sbin/mkfs.msdos /dev/fd0
USB FDDを使う場合

通常のFDDのデバイスは /dev/fd0ですが、USB FDDの場合には /dev/sdaなどになります(接続されている他の機器によって/dev/sdbなどに変わることがあります)。従って、mtoolsを用いる場合は、/etc/mtools.confを以下のように変更します。

#drive a: file="/dev/fd0" exclusive 1.44m mformat_only
drive a: file="/dev/sda" exclusive 1.44m mformat_only

この設定がうまくいっているか確認するには、mdirコマンド等でFDDにアクセスしてみると良いでしょう。うまくいかない場合はデバイス名を/dev/sdbなどに変えてみてください。