How to Access MS-DOS Floppy Disks


Note: You cannot access the floppy drive on an Xterminal.

There are now two ways to access MS-DOS floppy disks: using the mtools package; and directly inside /floppy.

For both methods, run "volcheck" after inserting the floppy. This is because of the way that floppy disks are handled under Solaris 2. There is a program always running, watching the floppy drives, called vold (the volume management daemon. vold does not know when a disk is inserted, nor when you change disks. The "volcheck" command tells it to recheck the floppy drives.

To access the floppy contents directly, as a unix file system, with the regular unix commands, just cd /floppy/floppy0. That directory is in fact the floppy disk!

The other way of doing things is to use mtools, which is a package that allows you to read and write MS-DOS floppy disks. See the mtools (1) man page for details on all the commands that make up this package.

The current versions of mtools provide the following advantages over using /floppy:

  • It understands the Windows 95 VFAT filesystem, and can thus read and write long filenames. (Although Solaris 2.6 might do so too.)
  • It automatically runs volcheck for you before each mtools command.

To format a floppy (there is no mkdfs command) use "fdformat -vd". If you're formatting a previously formatted floppy, then you'll probably need to add the -U flag to the fdformat command, to have the volume manager unmount it first.

If, while using mtools, you get the following error:

init: open "/vol/dev/aliases/floppy0": No such file or directory

it means that you forgot to run "volcheck".

If you are using the tcsh facility to have tcsh follow symbolic links by setting the symlinks variable to "expand", then using .. in the mcd command will not work correctly. You need to quote the .., as in

     mcd ".."

(This problem only happens with "expand". If you set symlinks to "ignore", or to "chase", or if you don't set it at all, then this problem does not occur.)