MOUNT_MSDOS(8)

NAME
mount_msdos - mount an MS-DOS file system

SYNOPSIS
mount_msdos [-9lsx] [-g gid] [-m mask] [-o options] [-u uid] special node

DESCRIPTION
The mount_msdos command attaches the MS-DOS file system residing on the device special to the global file system namespace at the location indicated by node. This command is invoked by mount(8) when using the syntax

mount [options] -t msdos special node

The special device must correspond to a partition registered in the disklabel(5).

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:

-9  Ignore the special Windows 95/98 directory entries even if deleting or renaming a file. This forces -s.

-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.

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

    If neither -s nor -l are given, mount_msdos searches the root directory of the file system to be mounted for any existing Windows 95/98 long filenames. If no such entries are found, -s is the default. Otherwise -l is assumed.

-m mask
    Specify the maximum permissions for files and directories in the file system. Only the nine low-order bits of mask are used.

-o options
    Use the specified mount options, as described in mount(8).

-s  Force behaviour to ignore and not generate Windows 95/98 long filenames.

    If neither -s nor -l are given, mount_msdos searches the root directory of the file system to be mounted for any existing Windows 95/98 long filenames. If no such entries are found, -s is the default. Otherwise -l is assumed.

-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.

-x  If a directory is readable, it inherits the x attribute as well.

File permissions for FAT file systems are imitated, since the file system has no real concept of permissions. The default mask is taken from the directory on which the file system is being mounted, except when the -m option is used. FAT does have a “read only” mode, in which the writable bit is unset. If such files are found, they are marked non-writable; it can be set using chmod -w or unset using chmod +w.

File modes work the same way for directories. However if a directory is mounted with -x, it will inherit the executable bit if it is readable. This can be useful for making files non-executable and directories executable: using -x -m 644 will in most cases give permissions of 755 for directories and 644 for files. See chmod(1) for more information about octal file modes.

SEE ALSO
chmod(1), mount(2), disklabel(5), fstab(5), disklabel(8), mount(8), umount(8)

HISTORY
The mount_msdos utility first appeared in NetBSD 0.9. Its predecessor, the mount_pcfs utility, appeared in NetBSD 0.8, and was abandoned in favor of the more aptly named mount_msdos.

CAVEATS
The maximum file size supported by the MS-DOS file system is one byte less than 4GB. This is a FAT file system limitation, documented by Microsoft in Knowledge Base article 314463.

The MS-DOS file system (even with long filenames) does not support filenames with trailing dots or spaces. Any such characters will be silently removed before the directory entry is written. This too is a FAT file system limitation.

The use of the -9 flag could result in damaged file systems, albeit the damage is in part taken care of by procedures similar to the ones used in Windows 95/98.

The default handling for -s and -l will result in empty file systems being populated with short filenames only. To generate long filenames on empty DOS file systems use -l.

Note that Windows 95/98 handles only access dates, but not access times.