MOUNT_MSDOS(8)

NAME
mount_msdos - mount an MS-DOS file system

SYNOPSIS
mount_msdos [-o options] [-u uid] [-g gid] [-m mask] [-s] [-l] [-9] [-L locale] [-W table] special node

DESCRIPTION
The mount_msdos command attaches the MS-DOS filesystem residing on the device special to the global filesystem namespace at the location indicated by node. This command is normally executed by mount(8) at boot time, but can be used by any user to mount an MS-DOS file system on any directory that they own (provided, of course, that they have appropriate access to the device that contains the file system).

The options are as follows:

-o options
    Use the specified mount options, as described in mount(8), or one of the MSDOS filesystem-specific options shortnames, longnames or nowin95, all of which can be used to affect Windows name translation in the underlying filesystem.

-u uid
    Set the owner of the files in the file system to uid. The default owner is the owner of the directory on which the file system is being mounted.

-g gid
    Set the group of the files in the file system to gid. The default group is the group of the directory on which the file system is being mounted.

-m mask
    Specify the maximum file permissions for files in the file system. (For example, a mask of 755 specifies that, by default, the owner should have read, write, and execute permissions for files, but others should only have read and execute permissions. See chmod(1) for more information about octal file modes.) Only the nine low-order bits of mask are used. The default mask is taken from the directory on which the file system is being mounted.

-s  Force behaviour to ignore and not generate Win'95 long filenames.

-l  Force listing and generation of Win'95 long filenames and separate creation/modification/access dates.

    If neither -s nor -l are given, mount_msdos searches the root directory of the filesystem to be mounted for any existing Win'95 long filenames. If no such entries are found, but short DOS filenames are found, -s is the default. Otherwise -l is assumed.

-9  Ignore the special Win'95 directory entries even if deleting or renaming a file. This forces -s.

-L locale
    Specify locale name used for internal uppercase and lowercase conversions for DOS and Win'95 names. By default ISO 8859-1 assumed as local character set.

-W table
    Specify text file with 3 conversion tables:

    1.  Local character set to Unicode conversion table (upper half) for Win'95 long names, 128 Unicode codes separated by 8 per row. If some code not present in Unicode, use 0x003F code ('?') as replacement.

    2.  DOS to local character set conversion table (upper half) for DOS names, 128 character codes separated by 8 per row. Code 0x3F ('?') used for impossible translations.

    3.  Local character set to DOS conversion table (upper half) for DOS names, 128 character codes separated by 8 per row. Some codes have special meaning:

        0x00
            character disallowed in DOS file name;

        0x01
            character should be replaced by '_' in DOS file name;

        0x02
            character should be skipped in DOS file name;

    By default ISO 8859-1 assumed as local character set. If file path isn't absolute, /usr/libdata/msdosfs/ prefix prepended.

FILES
/usr/libdata/msdosfs
    default place for character sets conversion tables

SEE ALSO
mount(2), unmount(2), fstab(5), mount(8)

CAVEATS
The use of the -9 flag could result in damaged filesystems, albeit the damage is in part taken care of by procedures similar to the ones used in Win'95.

FreeBSD 2.1 and earlier versions could not handle cluster sizes larger than 16K. Just mounting an MS-DOS file system could cause corruption to any mounted file system. Cluster sizes larger than 16K are unavoidable for file system sizes larger than 1G, and also occur when filesystems larger than 1G are shrunk to smaller than 1G using FIPS.

HISTORY
The mount_msdos utility first appeared in FreeBSD 2.0. Its predecessor, the mount_pcfs utility appeared in FreeBSD 1.0, and was abandoned in favor of the more aptly-named mount_msdos.