MOUNT(8)

MOUNT(8) | System Manager's Manual | MOUNT(8)

# NAME

`mount` — mount file systems

# SYNOPSIS

`mount` | [`-Aadfruvw`] [`-t` type]

`mount` | [`-dfruvw`] {special | node}

`mount` | [`-dfruvw`] [`-o` options] [`-t` type] special node

# DESCRIPTION

The `mount` command invokes a file system-specific program to prepare and graft the special device on to the file system tree at the point node, or to update options for an already-mounted file system.

These programs are named “mount_<fstype>” where “<fstype>” refers to the file system-specific type; for example for NFS the mount program is called mount_nfs(8).

The node argument is always interpreted as a directory in the name space of currently mounted file systems. The special argument is interpreted in different ways by the programs that handle different file system types; for example, mount_ffs(8) interprets it as a device node, mount_null(8) interprets it as a directory name, mount_nfs(8) interprets it as reference to a remote host and a directory on that host, and mount_tmpfs(8) ignores it.

The system maintains a list of currently mounted file systems. This list is printed if `mount` is invoked with no arguments, and with no options that require some other behaviour.

If exactly one of special or node is provided, then the missing information (including the file system type) is taken from the fstab(5) file. The provided argument is looked up first in the “fs_file”, then in the “fs_spec” column. If the matching entry in fstab(5) has the string “`from_mount`” as its “fs_spec” field, the device or remote file system already mounted at the location specified by “fs_spec” will be used.

If both special and node are provided, then fstab(5) is not used. In this case, if the file system type is not specified via the `-t` flag, then `mount` may determine the type from the disk label (see disklabel(8)). In addition, if special contains a colon (‘`:`’) or at sign (‘`@`’), then the `nfs` type is inferred. Otherwise, a dk(4) wedge may be referred to by its name with a special argument of the form “NAME=<value>”.

In NetBSD, the file system mounting policy is dictated by the running security models. The default security model may allow unprivileged mounting; see secmodel_suser(9) and secmodel_extensions(9) for details.

The options are as follows:

`-A`
  Causes `mount` to try to mount all of the file systems listed in the fstab(5) file except those for which the “noauto” option is specified.
`-a`
  Similar to the `-A` flag, except that if a file system (other than the root file system) appears to be already mounted, `mount` will not try to mount it again. `mount` assumes that a file system is already mounted if a file system with the same type is mounted on the given mount point. More stringent checks are not possible because some file system types report strange values for the mounted-from device for mounted file systems.
`-d`
  Causes everything to be done except for the invocation of the file system-specific program. Instead what would have been invoked is printed.
`-f`
  Forces the revocation of write access when trying to downgrade a file system mount status from read-write to read-only.
`-o`
  Options are specified with a `-o` flag followed by a comma separated string of options. The following options are available:
  `async`
    All I/O to the file system should be done asynchronously. In the event of a crash, it is impossible for the system to verify the integrity of data on a file system mounted with this option. You should only use this option if you have an application-specific data recovery mechanism, or are willing to recreate the file system from scratch.
  `noasync`
    Clear `async` mode.
  `automounted`
    This flag indicates that the file system was mounted by automountd(8). Automounted file systems are automatically unmounted by autounmountd(8).
  `discard`
    Use DISCARD/TRIM commands if disk and driver support it.

    EXPERIMENTAL - negatively influences filesystem performance by increasing fragmentation, causes free block map inconsistency on unclean shutdown, and is incompatible with `log`. If `log` option is also used, `discard` is automatically disabled.

  `extattr`
    Enable extended attributes, if the filesystem supports them and does not enable them by default. Currently this is only the case for UFS1.
  `force`
    The same as `-f`; forces the revocation of write access when trying to downgrade a file system mount status from read-write to read-only.
  `getargs`
    Retrieves the file system specific mount arguments for the given mounted file system and prints them.
  `hidden`
    By setting the `MNT_IGNORE` flag, causes the mount point to be excluded from the list of file systems shown by default with df(1).
  `noatime`
    Never update the access time field for files. This option is useful for optimizing read performance on file systems, and avoiding excess writes on flash-based file systems.
  `noauto`
    This file system should be skipped when mount is run with the `-a` flag.
  `nocoredump`
    Do not allow programs to create crash dumps (core files) on the file system. This option can be used to help protect sensitive data by keeping core files (which may contain sensitive data) from being created on insecure file systems. Only core files that would be created by program crashes are prevented by use of this flag; the behavior of savecore(8) is not affected.
  `nodev`
    Do not interpret character or block special devices on the file system. This option is useful for a server that has file systems containing special devices for architectures other than its own.
  `nodevmtime`
    Do not update modification times on device special files. This option is useful on laptops or other systems that perform power management.
  `noexec`
    Do not allow execution of any binaries on the mounted file system. This option is useful for a server that has file systems containing binaries for architectures other than its own.
  `nosuid`
    Do not allow set-user-identifier or set-group-identifier bits to take effect.
  `port`
    (NFS only) Use the specified NFS port.
  `rdonly`
    The same as `-r`; mount the file system read-only (even the super-user may not write it).
  `reload`
    Reload all incore data for a file system. This is used mainly after running fsck(8) on the root file system and finding things to fix. The file system must be mounted read-only. All cached meta-data are invalidated, superblock and summary information is re-read from disk, all cached inactive vnodes and file data are invalidated and all inode data are re-read for all active vnodes.
  `rump`
    Instead of running “mount_<fstype>” to mount the file system, run “rump_<fstype>”. This uses a userspace server to mount the file system and does not require kernel support for the specific file system type. See the `-t` flag and respective rump_type manual page for more information.
  `log`
    (FFS only) Mount the file system with wapbl(4) meta-data journaling, also known simply as logging. It provides rapid metadata updates and eliminates the need to check file system consistency after a system outage. It requires the `WAPBL` option to be enabled in the running kernel. See wapbl(4) for more information. This option requires the “UFS2” (level 4) superblock layout, which is the default for newly created FFSv1 and FFSv2 file systems. To update an old file system with an earlier superblock format, use the `-c` option of fsck_ffs(8).

    `log` cannot be used together with `discard`.

    A file system mounted with `log` can be mounted also with `async`, but such filesystem behaves the same as if `async` was not specified - meta-data writes use the log, hence its integrity is still guaranteed.

  `symperm`
    Recognize permission of symbolic link when reading or traversing link.
  `sync`
    All I/O to the file system should be done synchronously. This is not equivalent to the normal mode in which only metadata is written synchronously.
  `nosync`
    Clear `sync` mode.
  `union`
    Causes the namespace at the mount point to appear as the union of the mounted file system root (referred to as the upper layer), and the existing directory (referred to as the lower layer). Name lookups will be done in the upper layer first. If a name does not exist in the upper layer, then the name will be looked up in the lower layer. If a name exists in both the upper and lower layers, then only the upper instance is accessible. Creation of new files is done in the upper layer, except in the case of the fdesc file system (see mount_fdesc(8)).

    Note that the `union` option can be applied to any type of file system, and is fundamentally different from mount_union(8), which is a particular type of file system. Also note that the `union` option affects the file system name space only at the mount point itself; it does not apply recursively to subdirectories.

  `update`
    The same as `-u`; indicate that the status of an already mounted file system should be changed.

  Any additional options specific to a given file system type (see the `-t` option) may be passed as a comma separated list; these options are distinguished by a leading “-” (dash). Options that take a value are specified using the syntax -option=value. For example, the mount command:

      mount -t mfs -o nosuid,-N,-s=32m swap /tmp

  causes `mount` to execute the equivalent of:

      /sbin/mount_mfs -o nosuid -N -s 32m swap /tmp

`-r`
  The file system is to be mounted read-only. Mount the file system read-only (even the super-user may not write it). The same as the “rdonly” argument to the `-o` option.
`-t` type
  The argument following the `-t` is used to indicate the file system type. The type ffs is the default. The `-t` option can be used to indicate that the actions should only be taken on file systems of the specified type. More than one type may be specified in a comma separated list. The list of file system types can be prefixed with “no” to specify the file system types for which action should not be taken. For example, the `mount` command:

      mount -a -t nonfs,mfs

  mounts all file systems except those of type NFS and MFS.

  `mount` will attempt to execute a program in /sbin/mount_XXX where XXX is replaced by the type name. For example, nfs file systems are mounted by the program /sbin/mount_nfs.

`-u`
  The `-u` flag indicates that the status of an already mounted file system should be changed. Any of the options discussed above (the `-o` option) may be changed; also a file system can be changed from read-only to read-write or vice versa. An attempt to change from read-write to read-only will fail if any files on the file system are currently open for writing unless the `-f` flag is also specified. The set of options is determined by first extracting the options for the file system from the fstab(5) file, then applying any options specified by the `-o` argument, and finally applying the `-r` or `-w` option.
`-v`
  Verbose mode. When listing, include the file system ID and some statistics, and if `-v` is given more than once, any file system specific options. When mounting, show what was mounted, after it has completed. In this case, if this flag is specified more than once, then the file system-specific mount program used, and its arguments are printed, and also the file system ID and statistics.
`-w`
  The file system object is to be read and write.

The options specific to the various file system types are described in the manual pages for those file systems' “mount_<fstype>” commands; for instance, the options specific to Berkeley Fast File System (FFS) are described in the mount_ffs(8) manual page.

The particular type of file system in each partition of a disk can be found by examining the disk label with the appropriate label command, either disklabel(8) or gpt(8).

# FILES

/etc/fstab
  file system table

# EXAMPLES

Some useful examples:

CD-ROM
  mount -t cd9660 -r /dev/cd0a /cdrom
MS-DOS
  mount -t msdos /dev/fd0a /floppy
NFS
  mount -t nfs nfs-server-host:/directory/path /mount-point
MFS (32 megabyte)
  mount -t mfs -o nosuid,-s=32m swap /tmp

The “noauto” directive in /etc/fstab can be used to make it easy to manually mount and unmount removable media using just the mountpoint filename, with an entry like this:

`/dev/cd0a /cdrom cd9660 ro,noauto 0 0`

That would allow a simple command like "mount /cdrom" or "umount /cdrom" for media using the ISO-9660 file system format in the first CD-ROM drive.

# DIAGNOSTICS

The error “Operation not supported by device” indicates that the mount for the specified file system type cannot be completed because the kernel lacks support for the said file system. See options(4).

The error “Operation not permitted” may indicate that the mount options include privileged options and/or do not include options that exclude privileged options. One should try using at least “nodev” and “nosuid” in such cases:

    mount -t cd9660 -o nodev,nosuid /dev/cd0a /mnt

# SEE ALSO

df(1), mount(2), options(4), wapbl(4), fstab(5), automount(8), automountd(8), autounmountd(8), disklabel(8), fsck(8), gpt(8), mount_ados(8), mount_cd9660(8), mount_chfs(8), mount_ext2fs(8), mount_fdesc(8), mount_ffs(8), mount_filecore(8), mount_kernfs(8), mount_lfs(8), mount_mfs(8), mount_msdos(8), mount_nfs(8), mount_ntfs(8), mount_null(8), mount_overlay(8), mount_portal(8), mount_procfs(8), mount_tmpfs(8), mount_udf(8), mount_umap(8), mount_union(8), rump_cd9660(8), rump_efs(8), rump_ext2fs(8), rump_ffs(8), rump_hfs(8), rump_lfs(8), rump_msdos(8), rump_nfs(8), rump_ntfs(8), rump_sysvbfs(8), rump_tmpfs(8), rump_udf(8), umount(8)

# HISTORY

A `mount` command appeared in Version 1 AT&T UNIX.

July 1, 2025 | NetBSD 11.0