{
    "mode": "info",
    "parameter": "mount",
    "section": "",
    "url": "https://www.chedong.com/phpMan.php/info/mount/json",
    "generated": "2026-08-03T07:07:04Z",
    "synopsis": "mount [-h|-V]\nmount [-l] [-t fstype]\nmount -a [-fFnrsvw] [-t fstype] [-O optlist]\nmount [-fnrsvw] [-o options] device|mountpoint\nmount [-fnrsvw] [-t fstype] [-o options] device mountpoint\nmount --bind|--rbind|--move olddir newdir\nmount",
    "sections": {
        "NAME": {
            "content": "mount - mount a filesystem\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "mount [-h|-V]\n\nmount [-l] [-t fstype]\n\nmount -a [-fFnrsvw] [-t fstype] [-O optlist]\n\nmount [-fnrsvw] [-o options] device|mountpoint\n\nmount [-fnrsvw] [-t fstype] [-o options] device mountpoint\n\nmount --bind|--rbind|--move olddir newdir\n\nmount",
            "subsections": [
                {
                    "name": "--make-[shared|slave|private|unbindable|rshared|rslave|rprivate|runbindable]",
                    "content": "mountpoint\n"
                }
            ]
        },
        "DESCRIPTION": {
            "content": "All files accessible in a Unix system are arranged in one big tree, the\nfile hierarchy, rooted at /. These files can be spread out over several\ndevices. The mount command serves to attach the filesystem found on\nsome device to the big file tree. Conversely, the umount(8) command\nwill detach it again. The filesystem is used to control how data is\nstored on the device or provided in a virtual way by network or other\nservices.\n\nThe standard form of the mount command is:\n\nmount -t type device dir\n\nThis tells the kernel to attach the filesystem found on device (which\nis of type type) at the directory dir. The option -t type is optional.\nThe mount command is usually able to detect a filesystem. The root\npermissions are necessary to mount a filesystem by default. See section\n\"Non-superuser mounts\" below for more details. The previous contents\n(if any) and owner and mode of dir become invisible, and as long as\nthis filesystem remains mounted, the pathname dir refers to the root of\nthe filesystem on device.\n\nIf only the directory or the device is given, for example:\n\nmount /dir\n\nthen mount looks for a mountpoint (and if not found then for a device)\nin the /etc/fstab file. It's possible to use the --target or --source\noptions to avoid ambiguous interpretation of the given argument. For\nexample:\n\nmount --target /mountpoint\n\nThe same filesystem may be mounted more than once, and in some cases\n(e.g., network filesystems) the same filesystem may be mounted on the\nsame mountpoint multiple times. The mount command does not implement\nany policy to control this behavior. All behavior is controlled by the\nkernel and it is usually specific to the filesystem driver. The\nexception is --all, in this case already mounted filesystems are\nignored (see --all below for more details).\n\nListing the mounts\nThe listing mode is maintained for backward compatibility only.\n\nFor more robust and customizable output use findmnt(8), especially in\nyour scripts. Note that control characters in the mountpoint name are\nreplaced with '?'.\n\nThe following command lists all mounted filesystems (of type type):\n\nmount [-l] [-t type]\n\nThe option -l adds labels to this listing. See below.\n\nIndicating the device and filesystem\nMost devices are indicated by a filename (of a block special device),\nlike /dev/sda1, but there are other possibilities. For example, in the\ncase of an NFS mount, device may look like knuth.cwi.nl:/dir.\n\nThe device names of disk partitions are unstable; hardware\nreconfiguration, and adding or removing a device can cause changes in\nnames. This is the reason why it's strongly recommended to use\nfilesystem or partition identifiers like UUID or LABEL. Currently\nsupported identifiers (tags):\n\nLABEL=label\nHuman readable filesystem identifier. See also -L.\n\nUUID=uuid\nFilesystem universally unique identifier. The format of the UUID is\nusually a series of hex digits separated by hyphens. See also -U.\n\nNote that mount uses UUIDs as strings. The UUIDs from the command\nline or from fstab(5) are not converted to internal binary\nrepresentation. The string representation of the UUID should be\nbased on lower case characters.\n\nPARTLABEL=label\nHuman readable partition identifier. This identifier is independent\non filesystem and does not change by mkfs or mkswap operations It's\nsupported for example for GUID Partition Tables (GPT).\n\nPARTUUID=uuid\nPartition universally unique identifier. This identifier is\nindependent on filesystem and does not change by mkfs or mkswap\noperations It's supported for example for GUID Partition Tables\n(GPT).\n\nID=id\nHardware block device ID as generated by udevd. This identifier is\nusually based on WWN (unique storage identifier) and assigned by\nthe hardware manufacturer. See ls /dev/disk/by-id for more details,\nthis directory and running udevd is required. This identifier is\nnot recommended for generic use as the identifier is not strictly\ndefined and it depends on udev, udev rules and hardware.\n\nThe command lsblk --fs provides an overview of filesystems, LABELs and\nUUIDs on available block devices. The command blkid -p <device>\nprovides details about a filesystem on the specified device.\n\nDon't forget that there is no guarantee that UUIDs and labels are\nreally unique, especially if you move, share or copy the device. Use\nlsblk -o +UUID,PARTUUID to verify that the UUIDs are really unique in\nyour system.\n\nThe recommended setup is to use tags (e.g. UUID=uuid) rather than\n/dev/disk/by-{label,uuid,id,partuuid,partlabel} udev symlinks in the\n/etc/fstab file. Tags are more readable, robust and portable. The\nmount(8) command internally uses udev symlinks, so the use of symlinks\nin /etc/fstab has no advantage over tags. For more details see\nlibblkid(3).\n\nThe proc filesystem is not associated with a special device, and when\nmounting it, an arbitrary keyword - for example, proc - can be used\ninstead of a device specification. (The customary choice none is less\nfortunate: the error message 'none already mounted' from mount can be\nconfusing.)\n\nThe files /etc/fstab, /etc/mtab and /proc/mounts\nThe file /etc/fstab (see fstab(5)), may contain lines describing what\ndevices are usually mounted where, using which options. The default\nlocation of the fstab(5) file can be overridden with the --fstab path\ncommand-line option (see below for more details).\n\nThe command\n\nmount -a [-t type] [-O optlist]\n\n(usually given in a bootscript) causes all filesystems mentioned in\nfstab (of the proper type and/or having or not having the proper\noptions) to be mounted as indicated, except for those whose line\ncontains the noauto keyword. Adding the -F option will make mount fork,\nso that the filesystems are mounted in parallel.\n\nWhen mounting a filesystem mentioned in fstab or mtab, it suffices to\nspecify on the command line only the device, or only the mount point.\n\nThe programs mount and umount(8) traditionally maintained a list of\ncurrently mounted filesystems in the file /etc/mtab. The support for\nregular classic /etc/mtab is completely disabled at compile time by\ndefault, because on current Linux systems it is better to make\n/etc/mtab a symlink to /proc/mounts instead. The regular mtab file\nmaintained in userspace cannot reliably work with namespaces,\ncontainers and other advanced Linux features. If the regular mtab\nsupport is enabled, then it's possible to use the file as well as the\nsymlink.\n\nIf no arguments are given to mount, the list of mounted filesystems is\nprinted.\n\nIf you want to override mount options from /etc/fstab, you have to use\nthe -o option:\n\nmount device|dir -o options\n\nand then the mount options from the command line will be appended to\nthe list of options from /etc/fstab. This default behaviour can be\nchanged using the --options-mode command-line option. The usual\nbehavior is that the last option wins if there are conflicting ones.\n\nThe mount program does not read the /etc/fstab file if both device (or\nLABEL, UUID, ID, PARTUUID or PARTLABEL) and dir are specified. For\nexample, to mount device foo at /dir:\n\nmount /dev/foo /dir\n\nThis default behaviour can be changed by using the\n--options-source-force command-line option to always read configuration\nfrom fstab. For non-root users mount always reads the fstab\nconfiguration.\n\nNon-superuser mounts\nNormally, only the superuser can mount filesystems. However, when fstab\ncontains the user option on a line, anybody can mount the corresponding\nfilesystem.\n\nThus, given a line\n\n/dev/cdrom /cd iso9660 ro,user,noauto,unhide\n\nany user can mount the iso9660 filesystem found on an inserted CDROM\nusing the command:\n\nmount /cd\n\nNote that mount is very strict about non-root users and all paths\nspecified on command line are verified before fstab is parsed or a\nhelper program is executed. It's strongly recommended to use a valid\nmountpoint to specify filesystem, otherwise mount may fail. For example\nit's a bad idea to use NFS or CIFS source on command line.\n\nSince util-linux 2.35, mount does not exit when user permissions are\ninadequate according to libmount's internal security rules. Instead, it\ndrops suid permissions and continues as regular non-root user. This\nbehavior supports use-cases where root permissions are not necessary\n(e.g., fuse filesystems, user namespaces, etc).\n\nFor more details, see fstab(5). Only the user that mounted a filesystem\ncan unmount it again. If any user should be able to unmount it, then\nuse users instead of user in the fstab line. The owner option is\nsimilar to the user option, with the restriction that the user must be\nthe owner of the special file. This may be useful e.g. for /dev/fd if a\nlogin script makes the console user owner of this device. The group\noption is similar, with the restriction that the user must be a member\nof the group of the special file.\n\nBind mount operation\nRemount part of the file hierarchy somewhere else. The call is:\n\nmount --bind olddir newdir\n\nor by using this fstab entry:\n\n/olddir /newdir none bind\n\nAfter this call the same contents are accessible in two places.\n\nIt is important to understand that \"bind\" does not create any\nsecond-class or special node in the kernel VFS. The \"bind\" is just\nanother operation to attach a filesystem. There is nowhere stored\ninformation that the filesystem has been attached by a \"bind\"\noperation. The olddir and newdir are independent and the olddir may be\nunmounted.\n\nOne can also remount a single file (on a single file). It's also\npossible to use a bind mount to create a mountpoint from a regular\ndirectory, for example:\n\nmount --bind foo foo\n\nThe bind mount call attaches only (part of) a single filesystem, not\npossible submounts. The entire file hierarchy including submounts can\nbe attached a second place by using:\n\nmount --rbind olddir newdir\n\nNote that the filesystem mount options maintained by the kernel will\nremain the same as those on the original mount point. The userspace\nmount options (e.g., netdev) will not be copied by mount and it's\nnecessary to explicitly specify the options on the mount command line.\n\nSince util-linux 2.27 mount permits changing the mount options by\npassing the relevant options along with --bind. For example:\n\nmount -o bind,ro foo foo\n\nThis feature is not supported by the Linux kernel; it is implemented in\nuserspace by an additional mount(2) remounting system call. This\nsolution is not atomic.\n\nThe alternative (classic) way to create a read-only bind mount is to\nuse the remount operation, for example:\n\nmount --bind olddir newdir mount -o remount,bind,ro olddir\nnewdir\n\nNote that a read-only bind will create a read-only mountpoint (VFS\nentry), but the original filesystem superblock will still be writable,\nmeaning that the olddir will be writable, but the newdir will be\nread-only.\n\nIt's also possible to change nosuid, nodev, noexec, noatime, nodiratime\nand relatime VFS entry flags via a \"remount,bind\" operation. The other\nflags (for example filesystem-specific flags) are silently ignored.\nIt's impossible to change mount options recursively (for example with\n-o rbind,ro).\n\nSince util-linux 2.31, mount ignores the bind flag from /etc/fstab on a\nremount operation (if \"-o remount\" is specified on command line). This\nis necessary to fully control mount options on remount by command line.\nIn previous versions the bind flag has been always applied and it was\nimpossible to re-define mount options without interaction with the bind\nsemantic. This mount behavior does not affect situations when\n\"remount,bind\" is specified in the /etc/fstab file.\n\nThe move operation\nMove a mounted tree to another place (atomically). The call is:\n\nmount --move olddir newdir\n\nThis will cause the contents which previously appeared under olddir to\nnow be accessible under newdir. The physical location of the files is\nnot changed. Note that olddir has to be a mountpoint.\n\nNote also that moving a mount residing under a shared mount is invalid\nand unsupported. Use findmnt -o TARGET,PROPAGATION to see the current\npropagation flags.\n\nShared subtree operations\nSince Linux 2.6.15 it is possible to mark a mount and its submounts as\nshared, private, slave or unbindable. A shared mount provides the\nability to create mirrors of that mount such that mounts and unmounts\nwithin any of the mirrors propagate to the other mirror. A slave mount\nreceives propagation from its master, but not vice versa. A private\nmount carries no propagation abilities. An unbindable mount is a\nprivate mount which cannot be cloned through a bind operation. The\ndetailed semantics are documented in\nDocumentation/filesystems/sharedsubtree.txt file in the kernel source\ntree; see also mountnamespaces(7).\n\nSupported operations are:\n\nmount --make-shared mountpoint\nmount --make-slave mountpoint\nmount --make-private mountpoint\nmount --make-unbindable mountpoint\n\nThe following commands allow one to recursively change the type of all\nthe mounts under a given mountpoint.\n\nmount --make-rshared mountpoint\nmount --make-rslave mountpoint\nmount --make-rprivate mountpoint\nmount --make-runbindable mountpoint\n\nmount(8) does not read fstab(5) when a --make-* operation is requested.\nAll necessary information has to be specified on the command line.\n\nNote that the Linux kernel does not allow changing multiple propagation\nflags with a single mount(2) system call, and the flags cannot be mixed\nwith other mount options and operations.\n\nSince util-linux 2.23 the mount command can be used to do more\npropagation (topology) changes by one mount(8) call and do it also\ntogether with other mount operations. The propagation flags are applied\nby additional mount(2) system calls when the preceding mount operations\nwere successful. Note that this use case is not atomic. It is possible\nto specify the propagation flags in fstab(5) as mount options (private,\nslave, shared, unbindable, rprivate, rslave, rshared, runbindable).\n\nFor example:\n\nmount --make-private --make-unbindable /dev/sda1 /foo\n\nis the same as:\n\nmount /dev/sda1 /foo\nmount --make-private /foo\nmount --make-unbindable /foo\n",
            "subsections": []
        },
        "COMMAND-LINE OPTIONS": {
            "content": "The full set of mount options used by an invocation of mount is\ndetermined by first extracting the mount options for the filesystem\nfrom the fstab table, then applying any options specified by the -o\nargument, and finally applying a -r or -w option, when present.\n\nThe mount command does not pass all command-line options to the\n/sbin/mount.suffix mount helpers. The interface between mount and the\nmount helpers is described below in the section EXTERNAL HELPERS.\n\nCommand-line options available for the mount command are:\n",
            "subsections": [
                {
                    "name": "-a, --all",
                    "content": "Mount all filesystems (of the given types) mentioned in fstab\n(except for those whose line contains the noauto keyword). The\nfilesystems are mounted following their order in fstab. The mount\ncommand compares filesystem source, target (and fs root for bind\nmount or btrfs) to detect already mounted filesystems. The kernel\ntable with already mounted filesystems is cached during mount\n--all. This means that all duplicated fstab entries will be\nmounted.\n\nThe option --all is possible to use for remount operation too. In\nthis case all filters (-t and -O) are applied to the table of\nalready mounted filesystems.\n\nSince version 2.35 is possible to use the command line option -o to\nalter mount options from fstab (see also --options-mode).\n\nNote that it is a bad practice to use mount -a for fstab checking.\nThe recommended solution is findmnt --verify.\n",
                    "flag": "-a",
                    "long": "--all"
                },
                {
                    "name": "-B, --bind",
                    "content": "Remount a subtree somewhere else (so that its contents are\navailable in both places). See above, under Bind mounts.\n",
                    "flag": "-B",
                    "long": "--bind"
                },
                {
                    "name": "-c, --no-canonicalize",
                    "content": "Don't canonicalize paths. The mount command canonicalizes all paths\n(from the command line or fstab) by default. This option can be\nused together with the -f flag for already canonicalized absolute\npaths. The option is designed for mount helpers which call mount\n-i. It is strongly recommended to not use this command-line option\nfor normal mount operations.\n\nNote that mount does not pass this option to the /sbin/mount.type\nhelpers.\n",
                    "flag": "-c",
                    "long": "--no-canonicalize"
                },
                {
                    "name": "-F, --fork",
                    "content": "(Used in conjunction with -a.) Fork off a new incarnation of mount\nfor each device. This will do the mounts on different devices or\ndifferent NFS servers in parallel. This has the advantage that it\nis faster; also NFS timeouts proceed in parallel. A disadvantage is\nthat the order of the mount operations is undefined. Thus, you\ncannot use this option if you want to mount both /usr and\n/usr/spool.\n",
                    "flag": "-F",
                    "long": "--fork"
                },
                {
                    "name": "-f, --fake",
                    "content": "Causes everything to be done except for the actual system call; if\nit's not obvious, this \"fakes\" mounting the filesystem. This option\nis useful in conjunction with the -v flag to determine what the\nmount command is trying to do. It can also be used to add entries\nfor devices that were mounted earlier with the -n option. The -f\noption checks for an existing record in /etc/mtab and fails when\nthe record already exists (with a regular non-fake mount, this\ncheck is done by the kernel).\n",
                    "flag": "-f",
                    "long": "--fake"
                },
                {
                    "name": "-i, --internal-only",
                    "content": "Don't call the /sbin/mount.filesystem helper even if it exists.\n\n-L, --label label\nMount the partition that has the specified label.\n",
                    "flag": "-i",
                    "long": "--internal-only"
                },
                {
                    "name": "-l, --show-labels",
                    "content": "Add the labels in the mount output. mount must have permission to\nread the disk device (e.g. be set-user-ID root) for this to work.\nOne can set such a label for ext2, ext3 or ext4 using the\ne2label(8) utility, or for XFS using xfsadmin(8), or for reiserfs\nusing reiserfstune(8).\n",
                    "flag": "-l",
                    "long": "--show-labels"
                },
                {
                    "name": "-M, --move",
                    "content": "Move a subtree to some other place. See above, the subsection The\nmove operation.\n",
                    "flag": "-M",
                    "long": "--move"
                },
                {
                    "name": "-n, --no-mtab",
                    "content": "Mount without writing in /etc/mtab. This is necessary for example\nwhen /etc is on a read-only filesystem.\n\n-N, --namespace ns\nPerform the mount operation in the mount namespace specified by ns.\nns is either PID of process running in that namespace or special\nfile representing that namespace.\n\nmount switches to the mount namespace when it reads /etc/fstab,\nwrites /etc/mtab: (or writes to /run/mount) and calls the mount(2)\nsystem call, otherwise it runs in the original mount namespace.\nThis means that the target namespace does not have to contain any\nlibraries or other requirements necessary to execute the mount(2)\ncall.\n\nSee mountnamespaces(7) for more information.\n\n-O, --test-opts opts\nLimit the set of filesystems to which the -a option applies. In\nthis regard it is like the -t option except that -O is useless\nwithout -a. For example, the command\n\nmount -a -O nonetdev\n\nmounts all filesystems except those which have the option netdev\nspecified in the options field in the /etc/fstab file.\n\nIt is different from -t in that each option is matched exactly; a\nleading no at the beginning of one option does not negate the rest.\n\nThe -t and -O options are cumulative in effect; that is, the\ncommand\n\nmount -a -t ext2 -O  netdev\n\nmounts all ext2 filesystems with the netdev option, not all\nfilesystems that are either ext2 or have the netdev option\nspecified.\n\n-o, --options opts\nUse the specified mount options. The opts argument is a\ncomma-separated list. For example:\n\nmount LABEL=mydisk -o noatime,nodev,nosuid\n\nFor more details, see the FILESYSTEM-INDEPENDENT MOUNT OPTIONS and\nFILESYSTEM-SPECIFIC MOUNT OPTIONS sections.\n\n--options-mode mode\nControls how to combine options from fstab/mtab with options from\nthe command line. mode can be one of ignore, append, prepend or\nreplace. For example, append means that options from fstab are\nappended to options from the command line. The default value is\nprepend -- it means command line options are evaluated after fstab\noptions. Note that the last option wins if there are conflicting\nones.\n\n--options-source source\nSource of default options. source is a comma-separated list of\nfstab, mtab and disable. disable disables fstab and mtab and\ndisables --options-source-force. The default value is fstab,mtab.\n",
                    "flag": "-n",
                    "long": "--no-mtab"
                },
                {
                    "name": "--options-source-force",
                    "content": "Use options from fstab/mtab even if both device and dir are\nspecified.\n",
                    "long": "--options-source-force"
                },
                {
                    "name": "-R, --rbind",
                    "content": "Remount a subtree and all possible submounts somewhere else (so\nthat its contents are available in both places). See above, the\nsubsection Bind mounts.\n",
                    "flag": "-R",
                    "long": "--rbind"
                },
                {
                    "name": "-r, --read-only",
                    "content": "Mount the filesystem read-only. A synonym is -o ro.\n\nNote that, depending on the filesystem type, state and kernel\nbehavior, the system may still write to the device. For example,\next3 and ext4 will replay the journal if the filesystem is dirty.\nTo prevent this kind of write access, you may want to mount an ext3\nor ext4 filesystem with the ro,noload mount options or set the\nblock device itself to read-only mode, see the blockdev(8) command.\n",
                    "flag": "-r",
                    "long": "--read-only"
                },
                {
                    "name": "-s",
                    "content": "Tolerate sloppy mount options rather than failing. This will ignore\nmount options not supported by a filesystem type. Not all\nfilesystems support this option. Currently it's supported by the\nmount.nfs mount helper only.\n\n--source device\nIf only one argument for the mount command is given, then the\nargument might be interpreted as the target (mountpoint) or source\n(device). This option allows you to explicitly define that the\nargument is the mount source.\n\n--target directory\nIf only one argument for the mount command is given, then the\nargument might be interpreted as the target (mountpoint) or source\n(device). This option allows you to explicitly define that the\nargument is the mount target.\n\n--target-prefix directory\nPrepend the specified directory to all mount targets. This option\ncan be used to follow fstab, but mount operations are done in\nanother place, for example:\n\nmount --all --target-prefix /chroot -o X-mount.mkdir\n\nmounts all from system fstab to /chroot, all missing mountpoint are\ncreated (due to X-mount.mkdir). See also --fstab to use an\nalternative fstab.\n\n-T, --fstab path\nSpecifies an alternative fstab file. If path is a directory, then\nthe files in the directory are sorted by strverscmp(3); files that\nstart with \".\" or without an .fstab extension are ignored. The\noption can be specified more than once. This option is mostly\ndesigned for initramfs or chroot scripts where additional\nconfiguration is specified beyond standard system configuration.\n\nNote that mount does not pass the option --fstab to the\n/sbin/mount.type helpers, meaning that the alternative fstab files\nwill be invisible for the helpers. This is no problem for normal\nmounts, but user (non-root) mounts always require fstab to verify\nthe user's rights.\n\n-t, --types fstype\nThe argument following the -t is used to indicate the filesystem\ntype. The filesystem types which are currently supported depend on\nthe running kernel. See /proc/filesystems and /lib/modules/$(uname\n-r)/kernel/fs for a complete list of the filesystems. The most\ncommon are ext2, ext3, ext4, xfs, btrfs, vfat, sysfs, proc, nfs and\ncifs.\n\nThe programs mount and umount(8) support filesystem subtypes. The\nsubtype is defined by a '.subtype' suffix. For example\n'fuse.sshfs'. It's recommended to use subtype notation rather than\nadd any prefix to the mount source (for example 'sshfs#example.com'\nis deprecated).\n\nIf no -t option is given, or if the auto type is specified, mount\nwill try to guess the desired type. mount uses the libblkid(3)\nlibrary for guessing the filesystem type; if that does not turn up\nanything that looks familiar, mount will try to read the file\n/etc/filesystems, or, if that does not exist, /proc/filesystems.\nAll of the filesystem types listed there will be tried, except for\nthose that are labeled \"nodev\" (e.g. devpts, proc and nfs). If\n/etc/filesystems ends in a line with a single *, mount will read\n/proc/filesystems afterwards. While trying, all filesystem types\nwill be mounted with the mount option silent.\n\nThe auto type may be useful for user-mounted floppies. Creating a\nfile /etc/filesystems can be useful to change the probe order\n(e.g., to try vfat before msdos or ext3 before ext2) or if you use\na kernel module autoloader.\n\nMore than one type may be specified in a comma-separated list, for\nthe -t option as well as in an /etc/fstab entry. The list of\nfilesystem types for the -t option can be prefixed with no to\nspecify the filesystem types on which no action should be taken.\nThe prefix no has no effect when specified in an /etc/fstab entry.\n\nThe prefix no can be meaningful with the -a option. For example,\nthe command\n\nmount -a -t nomsdos,smbfs\n\nmounts all filesystems except those of type msdos and smbfs.\n\nFor most types all the mount program has to do is issue a simple\nmount(2) system call, and no detailed knowledge of the filesystem\ntype is required. For a few types however (like nfs, nfs4, cifs,\nsmbfs, ncpfs) an ad hoc code is necessary. The nfs, nfs4, cifs,\nsmbfs, and ncpfs filesystems have a separate mount program. In\norder to make it possible to treat all types in a uniform way,\nmount will execute the program /sbin/mount.type (if that exists)\nwhen called with type type. Since different versions of the\nsmbmount program have different calling conventions,\n/sbin/mount.smbfs may have to be a shell script that sets up the\ndesired call.\n\n-U, --uuid uuid\nMount the partition that has the specified uuid.\n",
                    "flag": "-s"
                },
                {
                    "name": "-v, --verbose",
                    "content": "Verbose mode.\n",
                    "flag": "-v",
                    "long": "--verbose"
                },
                {
                    "name": "-w, --rw, --read-write",
                    "content": "Mount the filesystem read/write. Read-write is the kernel default\nand the mount default is to try read-only if the previous mount\nsyscall with read-write flags on write-protected devices of\nfilesystems failed.\n\nA synonym is -o rw.\n\nNote that specifying -w on the command line forces mount to never\ntry read-only mount on write-protected devices or already mounted\nread-only filesystems.\n",
                    "flag": "-w",
                    "long": "--read-write"
                },
                {
                    "name": "-V, --version",
                    "content": "Display version information and exit.\n",
                    "flag": "-V",
                    "long": "--version"
                },
                {
                    "name": "-h, --help",
                    "content": "Display help text and exit.\n",
                    "flag": "-h",
                    "long": "--help"
                }
            ]
        },
        "FILESYSTEM-INDEPENDENT MOUNT OPTIONS": {
            "content": "Some of these options are only useful when they appear in the\n/etc/fstab file.\n\nSome of these options could be enabled or disabled by default in the\nsystem kernel. To check the current setting see the options in\n/proc/mounts. Note that filesystems also have per-filesystem specific\ndefault mount options (see for example tune2fs -l output for extN\nfilesystems).\n\nThe following options apply to any filesystem that is being mounted\n(but not every filesystem actually honors them - e.g., the sync option\ntoday has an effect only for ext2, ext3, ext4, fat, vfat, ufs and xfs):\n\nasync\nAll I/O to the filesystem should be done asynchronously. (See also\nthe sync option.)\n\natime\nDo not use the noatime feature, so the inode access time is\ncontrolled by kernel defaults. See also the descriptions of the\nrelatime and strictatime mount options.\n\nnoatime\nDo not update inode access times on this filesystem (e.g. for\nfaster access on the news spool to speed up news servers). This\nworks for all inode types (directories too), so it implies\nnodiratime.\n\nauto\nCan be mounted with the -a option.\n\nnoauto\nCan only be mounted explicitly (i.e., the -a option will not cause\nthe filesystem to be mounted).\n\ncontext=context, fscontext=context, defcontext=context, and\nrootcontext=context\nThe context= option is useful when mounting filesystems that do not\nsupport extended attributes, such as a floppy or hard disk\nformatted with VFAT, or systems that are not normally running under\nSELinux, such as an ext3 or ext4 formatted disk from a non-SELinux\nworkstation. You can also use context= on filesystems you do not\ntrust, such as a floppy. It also helps in compatibility with\nxattr-supporting filesystems on earlier 2.4.<x> kernel versions.\nEven where xattrs are supported, you can save time not having to\nlabel every file by assigning the entire disk one security context.\n\nA commonly used option for removable media is\ncontext=\"systemu:objectr:removablet.\n\nThe fscontext= option works for all filesystems, regardless of\ntheir xattr support. The fscontext option sets the overarching\nfilesystem label to a specific security context. This filesystem\nlabel is separate from the individual labels on the files. It\nrepresents the entire filesystem for certain kinds of permission\nchecks, such as during mount or file creation. Individual file\nlabels are still obtained from the xattrs on the files themselves.\nThe context option actually sets the aggregate context that\nfscontext provides, in addition to supplying the same label for\nindividual files.\n\nYou can set the default security context for unlabeled files using\ndefcontext= option. This overrides the value set for unlabeled\nfiles in the policy and requires a filesystem that supports xattr\nlabeling.\n\nThe rootcontext= option allows you to explicitly label the root\ninode of a FS being mounted before that FS or inode becomes visible\nto userspace. This was found to be useful for things like stateless\nLinux.\n\nNote that the kernel rejects any remount request that includes the\ncontext option, even when unchanged from the current context.\n\nWarning: the context value might contain commas, in which case the\nvalue has to be properly quoted, otherwise mount will interpret the\ncomma as a separator between mount options. Don't forget that the\nshell strips off quotes and thus double quoting is required. For\nexample:\n\nmount -t tmpfs none /mnt -o \\\n'context=\"systemu:objectr:tmpt:s0:c127,c456\",noexec'\n\nFor more details, see selinux(8).\n\ndefaults\nUse the default options: rw, suid, dev, exec, auto, nouser, and\nasync.\n\nNote that the real set of all default mount options depends on the\nkernel and filesystem type. See the beginning of this section for\nmore details.\n\ndev\nInterpret character or block special devices on the filesystem.\n\nnodev\nDo not interpret character or block special devices on the\nfilesystem.\n\ndiratime\nUpdate directory inode access times on this filesystem. This is the\ndefault. (This option is ignored when noatime is set.)\n\nnodiratime\nDo not update directory inode access times on this filesystem.\n(This option is implied when noatime is set.)\n\ndirsync\nAll directory updates within the filesystem should be done\nsynchronously. This affects the following system calls: creat(2),\nlink(2), unlink(2), symlink(2), mkdir(2), rmdir(2), mknod(2) and\nrename(2).\n\nexec\nPermit execution of binaries.\n\nnoexec\nDo not permit direct execution of any binaries on the mounted\nfilesystem.\n\ngroup\nAllow an ordinary user to mount the filesystem if one of that\nuser's groups matches the group of the device. This option implies\nthe options nosuid and nodev (unless overridden by subsequent\noptions, as in the option line group,dev,suid).\n\niversion\nEvery time the inode is modified, the iversion field will be\nincremented.\n\nnoiversion\nDo not increment the iversion inode field.\n\nmand\nAllow mandatory locks on this filesystem. See fcntl(2).\n\nnomand\nDo not allow mandatory locks on this filesystem.\n\nnetdev\nThe filesystem resides on a device that requires network access\n(used to prevent the system from attempting to mount these\nfilesystems until the network has been enabled on the system).\n\nnofail\nDo not report errors for this device if it does not exist.\n\nrelatime\nUpdate inode access times relative to modify or change time. Access\ntime is only updated if the previous access time was earlier than\nthe current modify or change time. (Similar to noatime, but it\ndoesn't break mutt(1) or other applications that need to know if a\nfile has been read since the last time it was modified.)\n\nSince Linux 2.6.30, the kernel defaults to the behavior provided by\nthis option (unless noatime was specified), and the strictatime\noption is required to obtain traditional semantics. In addition,\nsince Linux 2.6.30, the file's last access time is always updated\nif it is more than 1 day old.\n\nnorelatime\nDo not use the relatime feature. See also the strictatime mount\noption.\n\nstrictatime\nAllows to explicitly request full atime updates. This makes it\npossible for the kernel to default to relatime or noatime but still\nallow userspace to override it. For more details about the default\nsystem mount options see /proc/mounts.\n\nnostrictatime\nUse the kernel's default behavior for inode access time updates.\n\nlazytime\nOnly update times (atime, mtime, ctime) on the in-memory version of\nthe file inode.\n\nThis mount option significantly reduces writes to the inode table\nfor workloads that perform frequent random writes to preallocated\nfiles.\n\nThe on-disk timestamps are updated only when:\n\no   the inode needs to be updated for some change unrelated to file\ntimestamps\n\no   the application employs fsync(2), syncfs(2), or sync(2)\n\no   an undeleted inode is evicted from memory\n\no   more than 24 hours have passed since the inode was written to\ndisk.\n\nnolazytime\nDo not use the lazytime feature.\n\nsuid\nHonor set-user-ID and set-group-ID bits or file capabilities when\nexecuting programs from this filesystem.\n\nnosuid\nDo not honor set-user-ID and set-group-ID bits or file capabilities\nwhen executing programs from this filesystem. In addition, SELinux\ndomain transitions require permission nosuidtransition, which in\nturn needs also policy capability nnpnosuidtransition.\n\nsilent\nTurn on the silent flag.\n\nloud\nTurn off the silent flag.\n\nowner\nAllow an ordinary user to mount the filesystem if that user is the\nowner of the device. This option implies the options nosuid and\nnodev (unless overridden by subsequent options, as in the option\nline owner,dev,suid).\n\nremount\nAttempt to remount an already-mounted filesystem. This is commonly\nused to change the mount flags for a filesystem, especially to make\na readonly filesystem writable. It does not change device or mount\npoint.\n\nThe remount operation together with the bind flag has special\nsemantics. See above, the subsection Bind mounts.\n\nThe remount functionality follows the standard way the mount\ncommand works with options from fstab. This means that mount does\nnot read fstab (or mtab) only when both device and dir are\nspecified.\n\nmount -o remount,rw /dev/foo /dir\n\nAfter this call all old mount options are replaced and arbitrary\nstuff from fstab (or mtab) is ignored, except the loop= option\nwhich is internally generated and maintained by the mount command.\n\nmount -o remount,rw /dir\n\nAfter this call, mount reads fstab and merges these options with\nthe options from the command line (-o). If no mountpoint is found\nin fstab, then a remount with unspecified source is allowed.\n\nmount allows the use of --all to remount all already mounted\nfilesystems which match a specified filter (-O and -t). For\nexample:\n\nmount --all -o remount,ro -t vfat\n\nremounts all already mounted vfat filesystems in read-only mode.\nEach of the filesystems is remounted by mount -o remount,ro /dir\nsemantic. This means the mount command reads fstab or mtab and\nmerges these options with the options from the command line.\n\nro\nMount the filesystem read-only.\n\nrw\nMount the filesystem read-write.\n\nsync\nAll I/O to the filesystem should be done synchronously. In the case\nof media with a limited number of write cycles (e.g. some flash\ndrives), sync may cause life-cycle shortening.\n\nuser\nAllow an ordinary user to mount the filesystem. The name of the\nmounting user is written to the mtab file (or to the private\nlibmount file in /run/mount on systems without a regular mtab) so\nthat this same user can unmount the filesystem again. This option\nimplies the options noexec, nosuid, and nodev (unless overridden by\nsubsequent options, as in the option line user,exec,dev,suid).\n\nnouser\nForbid an ordinary user to mount the filesystem. This is the\ndefault; it does not imply any other options.\n\nusers\nAllow any user to mount and to unmount the filesystem, even when\nsome other ordinary user mounted it. This option implies the\noptions noexec, nosuid, and nodev (unless overridden by subsequent\noptions, as in the option line users,exec,dev,suid).\n\nX-*\nAll options prefixed with \"X-\" are interpreted as comments or as\nuserspace application-specific options. These options are not\nstored in user space (e.g., mtab file), nor sent to the mount.type\nhelpers nor to the mount(2) system call. The suggested format is\nX-appname.option.\n\nx-*\nThe same as X-* options, but stored permanently in user space. This\nmeans the options are also available for umount(8) or other\noperations. Note that maintaining mount options in user space is\ntricky, because it's necessary use libmount-based tools and there\nis no guarantee that the options will be always available (for\nexample after a move mount operation or in unshared namespace).\n\nNote that before util-linux v2.30 the x-* options have not been\nmaintained by libmount and stored in user space (functionality was\nthe same as for X-* now), but due to the growing number of\nuse-cases (in initrd, systemd etc.) the functionality has been\nextended to keep existing fstab configurations usable without a\nchange.\n\nX-mount.mkdir[=mode]\nAllow to make a target directory (mountpoint) if it does not exit\nyet. The optional argument mode specifies the filesystem access\nmode used for mkdir(2) in octal notation. The default mode is 0755.\nThis functionality is supported only for root users or when mount\nexecuted without suid permissions. The option is also supported as\nx-mount.mkdir, this notation is deprecated since v2.30.\n\nnosymfollow\nDo not follow symlinks when resolving paths. Symlinks can still be\ncreated, and readlink(1), readlink(2), realpath(1), and realpath(3)\nall still work properly.\n",
            "subsections": []
        },
        "FILESYSTEM-SPECIFIC MOUNT OPTIONS": {
            "content": "This section lists options that are specific to particular filesystems.\nWhere possible, you should first consult filesystem-specific manual\npages for details. Some of those pages are listed in the following\ntable.\n\n+-----------------+---------------+\n|                 |               |\n|Filesystem(s)    | Manual page   |\n+-----------------+---------------+\n|                 |               |\n|btrfs            | btrfs(5)      |\n+-----------------+---------------+\n|                 |               |\n|cifs             | mount.cifs(8) |\n+-----------------+---------------+\n|                 |               |\n|ext2, ext3, ext4 | ext4(5)       |\n+-----------------+---------------+\n|                 |               |\n|fuse             | fuse(8)       |\n+-----------------+---------------+\n|                 |               |\n|nfs              | nfs(5)        |\n+-----------------+---------------+\n|                 |               |\n|tmpfs            | tmpfs(5)      |\n+-----------------+---------------+\n|                 |               |\n|xfs              | xfs(5)        |\n+-----------------+---------------+\n\nNote that some of the pages listed above might be available only after\nyou install the respective userland tools.\n\nThe following options apply only to certain filesystems. We sort them\nby filesystem. All options follow the -o flag.\n\nWhat options are supported depends a bit on the running kernel. Further\ninformation may be available in filesystem-specific files in the kernel\nsource subdirectory Documentation/filesystems.\n\nMount options for adfs\nuid=value and gid=value\nSet the owner and group of the files in the filesystem (default:\nuid=gid=0).\n\nownmask=value and othmask=value\nSet the permission mask for ADFS 'owner' permissions and 'other'\npermissions, respectively (default: 0700 and 0077, respectively).\nSee also /usr/src/linux/Documentation/filesystems/adfs.rst.\n\nMount options for affs\nuid=value and gid=value\nSet the owner and group of the root of the filesystem (default:\nuid=gid=0, but with option uid or gid without specified value, the\nUID and GID of the current process are taken).\n\nsetuid=value and setgid=value\nSet the owner and group of all files.\n\nmode=value\nSet the mode of all files to value & 0777 disregarding the original\npermissions. Add search permission to directories that have read\npermission. The value is given in octal.\n\nprotect\nDo not allow any changes to the protection bits on the filesystem.\n\nusemp\nSet UID and GID of the root of the filesystem to the UID and GID of\nthe mount point upon the first sync or umount, and then clear this\noption. Strange...\n\nverbose\nPrint an informational message for each successful mount.\n\nprefix=string\nPrefix used before volume name, when following a link.\n\nvolume=string\nPrefix (of length at most 30) used before '/' when following a\nsymbolic link.\n\nreserved=value\n(Default: 2.) Number of unused blocks at the start of the device.\n\nroot=value\nGive explicitly the location of the root block.\n\nbs=value\nGive blocksize. Allowed values are 512, 1024, 2048, 4096.\n\ngrpquota|noquota|quota|usrquota\nThese options are accepted but ignored. (However, quota utilities\nmay react to such strings in /etc/fstab.)\n\nMount options for debugfs\nThe debugfs filesystem is a pseudo filesystem, traditionally mounted on\n/sys/kernel/debug. As of kernel version 3.4, debugfs has the following\noptions:\n\nuid=n, gid=n\nSet the owner and group of the mountpoint.\n\nmode=value\nSets the mode of the mountpoint.\n\nMount options for devpts\nThe devpts filesystem is a pseudo filesystem, traditionally mounted on\n/dev/pts. In order to acquire a pseudo terminal, a process opens\n/dev/ptmx; the number of the pseudo terminal is then made available to\nthe process and the pseudo terminal slave can be accessed as\n/dev/pts/<number>.\n\nuid=value and gid=value\nThis sets the owner or the group of newly created pseudo terminals\nto the specified values. When nothing is specified, they will be\nset to the UID and GID of the creating process. For example, if\nthere is a tty group with GID 5, then gid=5 will cause newly\ncreated pseudo terminals to belong to the tty group.\n\nmode=value\nSet the mode of newly created pseudo terminals to the specified\nvalue. The default is 0600. A value of mode=620 and gid=5 makes\n\"mesg y\" the default on newly created pseudo terminals.\n\nnewinstance\nCreate a private instance of the devpts filesystem, such that\nindices of pseudo terminals allocated in this new instance are\nindependent of indices created in other instances of devpts.\n\nAll mounts of devpts without this newinstance option share the same\nset of pseudo terminal indices (i.e., legacy mode). Each mount of\ndevpts with the newinstance option has a private set of pseudo\nterminal indices.\n\nThis option is mainly used to support containers in the Linux\nkernel. It is implemented in Linux kernel versions starting with\n2.6.29. Further, this mount option is valid only if\nCONFIGDEVPTSMULTIPLEINSTANCES is enabled in the kernel\nconfiguration.\n\nTo use this option effectively, /dev/ptmx must be a symbolic link\nto pts/ptmx. See Documentation/filesystems/devpts.txt in the Linux\nkernel source tree for details.\n\nptmxmode=value\nSet the mode for the new ptmx device node in the devpts filesystem.\n\nWith the support for multiple instances of devpts (see newinstance\noption above), each instance has a private ptmx node in the root of\nthe devpts filesystem (typically /dev/pts/ptmx).\n\nFor compatibility with older versions of the kernel, the default\nmode of the new ptmx node is 0000. ptmxmode=value specifies a more\nuseful mode for the ptmx node and is highly recommended when the\nnewinstance option is specified.\n\nThis option is only implemented in Linux kernel versions starting\nwith 2.6.29. Further, this option is valid only if\nCONFIGDEVPTSMULTIPLEINSTANCES is enabled in the kernel\nconfiguration.\n\nMount options for fat\n(Note: fat is not a separate filesystem, but a common part of the\nmsdos, umsdos and vfat filesystems.)\n\nblocksize={512|1024|2048}\nSet blocksize (default 512). This option is obsolete.\n\nuid=value and gid=value\nSet the owner and group of all files. (Default: the UID and GID of\nthe current process.)\n\numask=value\nSet the umask (the bitmask of the permissions that are not\npresent). The default is the umask of the current process. The\nvalue is given in octal.\n\ndmask=value\nSet the umask applied to directories only. The default is the umask\nof the current process. The value is given in octal.\n\nfmask=value\nSet the umask applied to regular files only. The default is the\numask of the current process. The value is given in octal.\n\nallowutime=value\nThis option controls the permission check of mtime/atime.\n\n20\nIf current process is in group of file's group ID, you can\nchange timestamp.\n\n2\nOther users can change timestamp.\n\nThe default is set from 'dmask' option. (If the directory is writable,\nutime(2) is also allowed. I.e. ~dmask & 022)\n\nNormally utime(2) checks that the current process is owner of the file,\nor that it has the CAPFOWNER capability. But FAT filesystems don't\nhave UID/GID on disk, so the normal check is too inflexible. With this\noption you can relax it.\n\ncheck=value\nThree different levels of pickiness can be chosen:\n\nr[elaxed]\nUpper and lower case are accepted and equivalent, long name\nparts are truncated (e.g. verylongname.foobar becomes\nverylong.foo), leading and embedded spaces are accepted in each\nname part (name and extension).\n\nn[ormal]\nLike \"relaxed\", but many special characters (*, ?, <, spaces,\netc.) are rejected. This is the default.\n\ns[trict]\nLike \"normal\", but names that contain long parts or special\ncharacters that are sometimes used on Linux but are not\naccepted by MS-DOS (+, =, etc.) are rejected.\n\ncodepage=value\nSets the codepage for converting to shortname characters on FAT and\nVFAT filesystems. By default, codepage 437 is used.\n\nconv=mode\nThis option is obsolete and may fail or be ignored.\n\ncvfformat=module\nForces the driver to use the CVF (Compressed Volume File) module\ncvfmodule instead of auto-detection. If the kernel supports\nkmod, the cvfformat=xxx option also controls on-demand CVF module\nloading. This option is obsolete.\n\ncvfoption=option\nOption passed to the CVF module. This option is obsolete.\n\ndebug\nTurn on the debug flag. A version string and a list of filesystem\nparameters will be printed (these data are also printed if the\nparameters appear to be inconsistent).\n\ndiscard\nIf set, causes discard/TRIM commands to be issued to the block\ndevice when blocks are freed. This is useful for SSD devices and\nsparse/thinly-provisioned LUNs.\n\ndos1xfloppy\nIf set, use a fallback default BIOS Parameter Block configuration,\ndetermined by backing device size. These static parameters match\ndefaults assumed by DOS 1.x for 160 kiB, 180 kiB, 320 kiB, and 360\nkiB floppies and floppy images.\n\nerrors={panic|continue|remount-ro}\nSpecify FAT behavior on critical errors: panic, continue without\ndoing anything, or remount the partition in read-only mode (default\nbehavior).\n\nfat={12|16|32}\nSpecify a 12, 16 or 32 bit fat. This overrides the automatic FAT\ntype detection routine. Use with caution!\n\niocharset=value\nCharacter set to use for converting between 8 bit characters and 16\nbit Unicode characters. The default is iso8859-1. Long filenames\nare stored on disk in Unicode format.\n\nnfs={stalerw|nostalero}\nEnable this only if you want to export the FAT filesystem over NFS.\n\nstalerw: This option maintains an index (cache) of directory\ninodes which is used by the nfs-related code to improve look-ups.\nFull file operations (read/write) over NFS are supported but with\ncache eviction at NFS server, this could result in spurious ESTALE\nerrors.\n\nnostalero: This option bases the inode number and file handle on\nthe on-disk location of a file in the FAT directory entry. This\nensures that ESTALE will not be returned after a file is evicted\nfrom the inode cache. However, it means that operations such as\nrename, create and unlink could cause file handles that previously\npointed at one file to point at a different file, potentially\ncausing data corruption. For this reason, this option also mounts\nthe filesystem readonly.\n\nTo maintain backward compatibility, -o nfs is also accepted,\ndefaulting to stalerw.\n\ntz=UTC\nThis option disables the conversion of timestamps between local\ntime (as used by Windows on FAT) and UTC (which Linux uses\ninternally). This is particularly useful when mounting devices\n(like digital cameras) that are set to UTC in order to avoid the\npitfalls of local time.\n\ntimeoffset=minutes\nSet offset for conversion of timestamps from local time used by FAT\nto UTC. I.e., minutes will be subtracted from each timestamp to\nconvert it to UTC used internally by Linux. This is useful when the\ntime zone set in the kernel via settimeofday(2) is not the time\nzone used by the filesystem. Note that this option still does not\nprovide correct time stamps in all cases in presence of DST - time\nstamps in a different DST setting will be off by one hour.\n\nquiet\nTurn on the quiet flag. Attempts to chown or chmod files do not\nreturn errors, although they fail. Use with caution!\n\nrodir\nFAT has the ATTRRO (read-only) attribute. On Windows, the ATTRRO\nof the directory will just be ignored, and is used only by\napplications as a flag (e.g. it's set for the customized folder).\n\nIf you want to use ATTRRO as read-only flag even for the\ndirectory, set this option.\n\nshowexec\nIf set, the execute permission bits of the file will be allowed\nonly if the extension part of the name is .EXE, .COM, or .BAT. Not\nset by default.\n\nsysimmutable\nIf set, ATTRSYS attribute on FAT is handled as IMMUTABLE flag on\nLinux. Not set by default.\n\nflush\nIf set, the filesystem will try to flush to disk more early than\nnormal. Not set by default.\n\nusefree\nUse the \"free clusters\" value stored on FSINFO. It'll be used to\ndetermine number of free clusters without scanning disk. But it's\nnot used by default, because recent Windows don't update it\ncorrectly in some case. If you are sure the \"free clusters\" on\nFSINFO is correct, by this option you can avoid scanning disk.\n\ndots, nodots, dotsOK=[yes|no]\nVarious misguided attempts to force Unix or DOS conventions onto a\nFAT filesystem.\n\nMount options for hfs\ncreator=cccc, type=cccc\nSet the creator/type values as shown by the MacOS finder used for\ncreating new files. Default values: '????'.\n\nuid=n, gid=n\nSet the owner and group of all files. (Default: the UID and GID of\nthe current process.)\n\ndirumask=n, fileumask=n, umask=n\nSet the umask used for all directories, all regular files, or all\nfiles and directories. Defaults to the umask of the current\nprocess.\n\nsession=n\nSelect the CDROM session to mount. Defaults to leaving that\ndecision to the CDROM driver. This option will fail with anything\nbut a CDROM as underlying device.\n\npart=n\nSelect partition number n from the device. Only makes sense for\nCDROMs. Defaults to not parsing the partition table at all.\n\nquiet\nDon't complain about invalid mount options.\n\nMount options for hpfs\nuid=value and gid=value\nSet the owner and group of all files. (Default: the UID and GID of\nthe current process.)\n\numask=value\nSet the umask (the bitmask of the permissions that are not\npresent). The default is the umask of the current process. The\nvalue is given in octal.\n\ncase={lower|asis}\nConvert all files names to lower case, or leave them. (Default:\ncase=lower.)\n\nconv=mode\nThis option is obsolete and may fail or being ignored.\n\nnocheck\nDo not abort mounting when certain consistency checks fail.\n\nMount options for iso9660\nISO 9660 is a standard describing a filesystem structure to be used on\nCD-ROMs. (This filesystem type is also seen on some DVDs. See also the\nudf filesystem.)\n\nNormal iso9660 filenames appear in an 8.3 format (i.e., DOS-like\nrestrictions on filename length), and in addition all characters are in\nupper case. Also there is no field for file ownership, protection,\nnumber of links, provision for block/character devices, etc.\n\nRock Ridge is an extension to iso9660 that provides all of these\nUNIX-like features. Basically there are extensions to each directory\nrecord that supply all of the additional information, and when Rock\nRidge is in use, the filesystem is indistinguishable from a normal UNIX\nfilesystem (except that it is read-only, of course).\n\nnorock\nDisable the use of Rock Ridge extensions, even if available. Cf.\nmap.\n\nnojoliet\nDisable the use of Microsoft Joliet extensions, even if available.\nCf. map.\n\ncheck={r[elaxed]|s[trict]}\nWith check=relaxed, a filename is first converted to lower case\nbefore doing the lookup. This is probably only meaningful together\nwith norock and map=normal. (Default: check=strict.)\n\nuid=value and gid=value\nGive all files in the filesystem the indicated user or group id,\npossibly overriding the information found in the Rock Ridge\nextensions. (Default: uid=0,gid=0.)\n\nmap={n[ormal]|o[ff]|a[corn]}\nFor non-Rock Ridge volumes, normal name translation maps upper to\nlower case ASCII, drops a trailing ';1', and converts ';' to '.'.\nWith map=off no name translation is done. See norock. (Default:\nmap=normal.) map=acorn is like map=normal but also apply Acorn\nextensions if present.\n\nmode=value\nFor non-Rock Ridge volumes, give all files the indicated mode.\n(Default: read and execute permission for everybody.) Octal mode\nvalues require a leading 0.\n\nunhide\nAlso show hidden and associated files. (If the ordinary files and\nthe associated or hidden files have the same filenames, this may\nmake the ordinary files inaccessible.)\n\nblock={512|1024|2048}\nSet the block size to the indicated value. (Default: block=1024.)\n\nconv=mode\nThis option is obsolete and may fail or being ignored.\n\ncruft\nIf the high byte of the file length contains other garbage, set\nthis mount option to ignore the high order bits of the file length.\nThis implies that a file cannot be larger than 16 MB.\n\nsession=x\nSelect number of session on a multisession CD.\n\nsbsector=xxx\nSession begins from sector xxx.\n\nThe following options are the same as for vfat and specifying them only\nmakes sense when using discs encoded using Microsoft's Joliet\nextensions.\n\niocharset=value\nCharacter set to use for converting 16 bit Unicode characters on CD\nto 8 bit characters. The default is iso8859-1.\n\nutf8\nConvert 16 bit Unicode characters on CD to UTF-8.\n\nMount options for jfs\niocharset=name\nCharacter set to use for converting from Unicode to ASCII. The\ndefault is to do no conversion. Use iocharset=utf8 for UTF8\ntranslations. This requires CONFIGNLSUTF8 to be set in the kernel\n.config file.\n\nresize=value\nResize the volume to value blocks. JFS only supports growing a\nvolume, not shrinking it. This option is only valid during a\nremount, when the volume is mounted read-write. The resize keyword\nwith no value will grow the volume to the full size of the\npartition.\n\nnointegrity\nDo not write to the journal. The primary use of this option is to\nallow for higher performance when restoring a volume from backup\nmedia. The integrity of the volume is not guaranteed if the system\nabnormally ends.\n\nintegrity\nDefault. Commit metadata changes to the journal. Use this option to\nremount a volume where the nointegrity option was previously\nspecified in order to restore normal behavior.\n\nerrors={continue|remount-ro|panic}\nDefine the behavior when an error is encountered. (Either ignore\nerrors and just mark the filesystem erroneous and continue, or\nremount the filesystem read-only, or panic and halt the system.)\n\nnoquota|quota|usrquota|grpquota\nThese options are accepted but ignored.\n\nMount options for msdos\nSee mount options for fat. If the msdos filesystem detects an\ninconsistency, it reports an error and sets the file system read-only.\nThe filesystem can be made writable again by remounting it.\n\nMount options for ncpfs\nJust like nfs, the ncpfs implementation expects a binary argument (a\nstruct ncpmountdata) to the mount system call. This argument is\nconstructed by ncpmount(8) and the current version of mount (2.12) does\nnot know anything about ncpfs.\n\nMount options for ntfs\niocharset=name\nCharacter set to use when returning file names. Unlike VFAT, NTFS\nsuppresses names that contain nonconvertible characters.\nDeprecated.\n\nnls=name\nNew name for the option earlier called iocharset.\n\nutf8\nUse UTF-8 for converting file names.\n\nunixlate={0|1|2}\nFor 0 (or 'no' or 'false'), do not use escape sequences for unknown\nUnicode characters. For 1 (or 'yes' or 'true') or 2, use vfat-style\n4-byte escape sequences starting with \":\". Here 2 gives a\nlittle-endian encoding and 1 a byteswapped bigendian encoding.\n\nposix=[0|1]\nIf enabled (posix=1), the filesystem distinguishes between upper\nand lower case. The 8.3 alias names are presented as hard links\ninstead of being suppressed. This option is obsolete.\n\nuid=value, gid=value and umask=value\nSet the file permission on the filesystem. The umask value is given\nin octal. By default, the files are owned by root and not readable\nby somebody else.\n\nMount options for overlay\nSince Linux 3.18 the overlay pseudo filesystem implements a union mount\nfor other filesystems.\n\nAn overlay filesystem combines two filesystems - an upper filesystem\nand a lower filesystem. When a name exists in both filesystems, the\nobject in the upper filesystem is visible while the object in the lower\nfilesystem is either hidden or, in the case of directories, merged with\nthe upper object.\n\nThe lower filesystem can be any filesystem supported by Linux and does\nnot need to be writable. The lower filesystem can even be another\noverlayfs. The upper filesystem will normally be writable and if it is\nit must support the creation of trusted.* extended attributes, and must\nprovide a valid dtype in readdir responses, so NFS is not suitable.\n\nA read-only overlay of two read-only filesystems may use any filesystem\ntype. The options lowerdir and upperdir are combined into a merged\ndirectory by using:\n\nmount -t overlay  overlay  \\\n-olowerdir=/lower,upperdir=/upper,workdir=/work  /merged\n\nlowerdir=directory\nAny filesystem, does not need to be on a writable filesystem.\n\nupperdir=directory\nThe upperdir is normally on a writable filesystem.\n\nworkdir=directory\nThe workdir needs to be an empty directory on the same filesystem\nas upperdir.\n\nuserxattr\nUse the \"user.overlay.\" xattr namespace instead of\n\"trusted.overlay.\". This is useful for unprivileged mounting of\noverlayfs.\n\nredirectdir={on|off|follow|nofollow}\nIf the redirectdir feature is enabled, then the directory will be\ncopied up (but not the contents). Then the\n\"{trusted|user}.overlay.redirect\" extended attribute is set to the\npath of the original location from the root of the overlay. Finally\nthe directory is moved to the new location.\n\non\nRedirects are enabled.\n\noff\nRedirects are not created and only followed if\n\"redirectalwaysfollow\" feature is enabled in the\nkernel/module config.\n\nfollow\nRedirects are not created, but followed.\n\nnofollow\nRedirects are not created and not followed (equivalent to\n\"redirectdir=off\" if \"redirectalwaysfollow\" feature is not\nenabled).\n\nindex={on|off}\nInode index. If this feature is disabled and a file with multiple\nhard links is copied up, then this will \"break\" the link. Changes\nwill not be propagated to other names referring to the same inode.\n\nuuid={on|off}\nCan be used to replace UUID of the underlying filesystem in file\nhandles with null, and effectively disable UUID checks. This can be\nuseful in case the underlying disk is copied and the UUID of this\ncopy is changed. This is only applicable if all lower/upper/work\ndirectories are on the same filesystem, otherwise it will fallback\nto normal behaviour.\n\nnfsexport={on|off}\nWhen the underlying filesystems supports NFS export and the\n\"nfsexport\" feature is enabled, an overlay filesystem may be\nexported to NFS.\n\nWith the \"nfsexport\" feature, on copyup of any lower object, an\nindex entry is created under the index directory. The index entry\nname is the hexadecimal representation of the copy up origin file\nhandle. For a non-directory object, the index entry is a hard link\nto the upper inode. For a directory object, the index entry has an\nextended attribute \"{trusted|user}.overlay.upper\" with an encoded\nfile handle of the upper directory inode.\n\nWhen encoding a file handle from an overlay filesystem object, the\nfollowing rules apply\n\no   For a non-upper object, encode a lower file handle from\nlower inode\n\no   For an indexed object, encode a lower file handle from\ncopyup origin\n\no   For a pure-upper object and for an existing non-indexed\nupper object, encode an upper file handle from upper inode\n\nThe encoded overlay file handle includes\n\no   Header including path type information (e.g. lower/upper)\n\no   UUID of the underlying filesystem\n\no   Underlying filesystem encoding of underlying inode\n\nThis encoding format is identical to the encoding format file\nhandles that are stored in extended attribute\n\"{trusted|user}.overlay.origin\". When decoding an overlay file\nhandle, the following steps are followed\n\no   Find underlying layer by UUID and path type information.\n\no   Decode the underlying filesystem file handle to underlying\ndentry.\n\no   For a lower file handle, lookup the handle in index\ndirectory by name.\n\no   If a whiteout is found in index, return ESTALE. This\nrepresents an overlay object that was deleted after its\nfile handle was encoded.\n\no   For a non-directory, instantiate a disconnected overlay\ndentry from the decoded underlying dentry, the path type\nand index inode, if found.\n\no   For a directory, use the connected underlying decoded\ndentry, path type and index, to lookup a connected overlay\ndentry.\n\nDecoding a non-directory file handle may return a disconnected\ndentry. copyup of that disconnected dentry will create an upper\nindex entry with no upper alias.\n\nWhen overlay filesystem has multiple lower layers, a middle layer\ndirectory may have a \"redirect\" to lower directory. Because middle\nlayer \"redirects\" are not indexed, a lower file handle that was\nencoded from the \"redirect\" origin directory, cannot be used to\nfind the middle or upper layer directory. Similarly, a lower file\nhandle that was encoded from a descendant of the \"redirect\" origin\ndirectory, cannot be used to reconstruct a connected overlay path.\nTo mitigate the cases of directories that cannot be decoded from a\nlower file handle, these directories are copied up on encode and\nencoded as an upper file handle. On an overlay filesystem with no\nupper layer this mitigation cannot be used NFS export in this setup\nrequires turning off redirect follow (e.g.\n\"redirectdir=nofollow\").\n\nThe overlay filesystem does not support non-directory connectable\nfile handles, so exporting with the subtreecheck exportfs\nconfiguration will cause failures to lookup files over NFS.\n\nWhen the NFS export feature is enabled, all directory index entries\nare verified on mount time to check that upper file handles are not\nstale. This verification may cause significant overhead in some\ncases.\n\nNote: the mount options index=off,nfsexport=on are conflicting for\na read-write mount and will result in an error.\n\nxinfo={on|off|auto}\nThe \"xino\" feature composes a unique object identifier from the\nreal object stino and an underlying fsid index. The \"xino\" feature\nuses the high inode number bits for fsid, because the underlying\nfilesystems rarely use the high inode number bits. In case the\nunderlying inode number does overflow into the high xino bits,\noverlay filesystem will fall back to the non xino behavior for that\ninode.\n\nFor a detailed description of the effect of this option please\nrefer to\nhttps://www.kernel.org/doc/html/latest/filesystems/overlayfs.html?highlight=overlayfs\n\nmetacopy={on|off}\nWhen metadata only copy up feature is enabled, overlayfs will only\ncopy up metadata (as opposed to whole file), when a metadata\nspecific operation like chown/chmod is performed. Full file will be\ncopied up later when file is opened for WRITE operation.\n\nIn other words, this is delayed data copy up operation and data is\ncopied up when there is a need to actually modify data.\n\nvolatile\nVolatile mounts are not guaranteed to survive a crash. It is\nstrongly recommended that volatile mounts are only used if data\nwritten to the overlay can be recreated without significant effort.\n\nThe advantage of mounting with the \"volatile\" option is that all\nforms of sync calls to the upper filesystem are omitted.\n\nIn order to avoid a giving a false sense of safety, the syncfs (and\nfsync) semantics of volatile mounts are slightly different than\nthat of the rest of VFS. If any writeback error occurs on the\nupperdir's filesystem after a volatile mount takes place, all sync\nfunctions will return an error. Once this condition is reached, the\nfilesystem will not recover, and every subsequent sync call will\nreturn an error, even if the upperdir has not experience a new\nerror since the last sync call.\n\nWhen overlay is mounted with \"volatile\" option, the directory\n\"$workdir/work/incompat/volatile\" is created. During next mount,\noverlay checks for this directory and refuses to mount if present.\nThis is a strong indicator that user should throw away upper and\nwork directories and create fresh one. In very limited cases where\nthe user knows that the system has not crashed and contents of\nupperdir are intact, The \"volatile\" directory can be removed.\n\nMount options for reiserfs\nReiserfs is a journaling filesystem.\n\nconv\nInstructs version 3.6 reiserfs software to mount a version 3.5\nfilesystem, using the 3.6 format for newly created objects. This\nfilesystem will no longer be compatible with reiserfs 3.5 tools.\n\nhash={rupasov|tea|r5|detect}\nChoose which hash function reiserfs will use to find files within\ndirectories.\n\nrupasov\nA hash invented by Yury Yu. Rupasov. It is fast and preserves\nlocality, mapping lexicographically close file names to close\nhash values. This option should not be used, as it causes a\nhigh probability of hash collisions.\n\ntea\nA Davis-Meyer function implemented by Jeremy Fitzhardinge. It\nuses hash permuting bits in the name. It gets high randomness\nand, therefore, low probability of hash collisions at some CPU\ncost. This may be used if EHASHCOLLISION errors are experienced\nwith the r5 hash.\n\nr5\nA modified version of the rupasov hash. It is used by default\nand is the best choice unless the filesystem has huge\ndirectories and unusual file-name patterns.\n\ndetect\nInstructs mount to detect which hash function is in use by\nexamining the filesystem being mounted, and to write this\ninformation into the reiserfs superblock. This is only useful\non the first mount of an old format filesystem.\n\nhashedrelocation\nTunes the block allocator. This may provide performance\nimprovements in some situations.\n\nnounhashedrelocation\nTunes the block allocator. This may provide performance\nimprovements in some situations.\n\nnoborder\nDisable the border allocator algorithm invented by Yury Yu.\nRupasov. This may provide performance improvements in some\nsituations.\n\nnolog\nDisable journaling. This will provide slight performance\nimprovements in some situations at the cost of losing reiserfs's\nfast recovery from crashes. Even with this option turned on,\nreiserfs still performs all journaling operations, save for actual\nwrites into its journaling area. Implementation of nolog is a work\nin progress.\n\nnotail\nBy default, reiserfs stores small files and 'file tails' directly\ninto its tree. This confuses some utilities such as lilo(8). This\noption is used to disable packing of files into the tree.\n\nreplayonly\nReplay the transactions which are in the journal, but do not\nactually mount the filesystem. Mainly used by reiserfsck.\n\nresize=number\nA remount option which permits online expansion of reiserfs\npartitions. Instructs reiserfs to assume that the device has number\nblocks. This option is designed for use with devices which are\nunder logical volume management (LVM). There is a special resizer\nutility which can be obtained from\nftp://ftp.namesys.com/pub/reiserfsprogs.\n\nuserxattr\nEnable Extended User Attributes. See the attr(1) manual page.\n\nacl\nEnable POSIX Access Control Lists. See the acl(5) manual page.\n\nbarrier=none / barrier=flush\nThis disables / enables the use of write barriers in the journaling\ncode. barrier=none disables, barrier=flush enables (default). This\nalso requires an IO stack which can support barriers, and if\nreiserfs gets an error on a barrier write, it will disable barriers\nagain with a warning. Write barriers enforce proper on-disk\nordering of journal commits, making volatile disk write caches safe\nto use, at some performance penalty. If your disks are\nbattery-backed in one way or another, disabling barriers may safely\nimprove performance.\n\nMount options for ubifs\nUBIFS is a flash filesystem which works on top of UBI volumes. Note\nthat atime is not supported and is always turned off.\n\nThe device name may be specified as\n\nubiXY\nUBI device number X, volume number Y\n\nubiY\nUBI device number 0, volume number Y\n\nubiX:NAME\nUBI device number X, volume with name NAME\n\nubi:NAME\nUBI device number 0, volume with name NAME\n\nAlternative ! separator may be used instead of :.\n\nThe following mount options are available:\n\nbulkread\nEnable bulk-read. VFS read-ahead is disabled because it slows down\nthe filesystem. Bulk-Read is an internal optimization. Some flashes\nmay read faster if the data are read at one go, rather than at\nseveral read requests. For example, OneNAND can do\n\"read-while-load\" if it reads more than one NAND page.\n\nnobulkread\nDo not bulk-read. This is the default.\n\nchkdatacrc\nCheck data CRC-32 checksums. This is the default.\n\nnochkdatacrc\nDo not check data CRC-32 checksums. With this option, the\nfilesystem does not check CRC-32 checksum for data, but it does\ncheck it for the internal indexing information. This option only\naffects reading, not writing. CRC-32 is always calculated when\nwriting the data.\n\ncompr={none|lzo|zlib}\nSelect the default compressor which is used when new files are\nwritten. It is still possible to read compressed files if mounted\nwith the none option.\n\nMount options for udf\nUDF is the \"Universal Disk Format\" filesystem defined by OSTA, the\nOptical Storage Technology Association, and is often used for DVD-ROM,\nfrequently in the form of a hybrid UDF/ISO-9660 filesystem. It is,\nhowever, perfectly usable by itself on disk drives, flash drives and\nother block devices. See also iso9660.\n\nuid=\nMake all files in the filesystem belong to the given user.\nuid=forget can be specified independently of (or usually in\naddition to) uid=<user> and results in UDF not storing uids to the\nmedia. In fact the recorded uid is the 32-bit overflow uid -1 as\ndefined by the UDF standard. The value is given as either <user>\nwhich is a valid user name or the corresponding decimal user id, or\nthe special string \"forget\".\n\ngid=\nMake all files in the filesystem belong to the given group.\ngid=forget can be specified independently of (or usually in\naddition to) gid=<group> and results in UDF not storing gids to the\nmedia. In fact the recorded gid is the 32-bit overflow gid -1 as\ndefined by the UDF standard. The value is given as either <group>\nwhich is a valid group name or the corresponding decimal group id,\nor the special string \"forget\".\n\numask=\nMask out the given permissions from all inodes read from the\nfilesystem. The value is given in octal.\n\nmode=\nIf mode= is set the permissions of all non-directory inodes read\nfrom the filesystem will be set to the given mode. The value is\ngiven in octal.\n\ndmode=\nIf dmode= is set the permissions of all directory inodes read from\nthe filesystem will be set to the given dmode. The value is given\nin octal.\n\nbs=\nSet the block size. Default value prior to kernel version 2.6.30\nwas 2048. Since 2.6.30 and prior to 4.11 it was logical device\nblock size with fallback to 2048. Since 4.11 it is logical block\nsize with fallback to any valid block size between logical device\nblock size and 4096.\n\nFor other details see the mkudffs(8) 2.0+ manpage, sections\nCOMPATIBILITY and BLOCK SIZE.\n\nunhide\nShow otherwise hidden files.\n\nundelete\nShow deleted files in lists.\n\nadinicb\nEmbed data in the inode. (default)\n\nnoadinicb\nDon't embed data in the inode.\n\nshortad\nUse short UDF address descriptors.\n\nlongad\nUse long UDF address descriptors. (default)\n\nnostrict\nUnset strict conformance.\n\niocharset=\nSet the NLS character set. This requires kernel compiled with\nCONFIGUDFNLS option.\n\nutf8\nSet the UTF-8 character set.\n\nMount options for debugging and disaster recovery\nnovrs\nIgnore the Volume Recognition Sequence and attempt to mount anyway.\n\nsession=\nSelect the session number for multi-session recorded optical media.\n(default= last session)\n\nanchor=\nOverride standard anchor location. (default= 256)\n\nlastblock=\nSet the last block of the filesystem.\n\nUnused historical mount options that may be encountered and should be\nremoved\nuid=ignore\nIgnored, use uid=<user> instead.\n\ngid=ignore\nIgnored, use gid=<group> instead.\n\nvolume=\nUnimplemented and ignored.\n\npartition=\nUnimplemented and ignored.\n\nfileset=\nUnimplemented and ignored.\n\nrootdir=\nUnimplemented and ignored.\n\nMount options for ufs\nufstype=value\nUFS is a filesystem widely used in different operating systems. The\nproblem are differences among implementations. Features of some\nimplementations are undocumented, so its hard to recognize the type\nof ufs automatically. That's why the user must specify the type of\nufs by mount option. Possible values are:\n\nold\nOld format of ufs, this is the default, read only. (Don't\nforget to give the -r option.)\n\n44bsd\nFor filesystems created by a BSD-like system (NetBSD, FreeBSD,\nOpenBSD).\n\nufs2\nUsed in FreeBSD 5.x supported as read-write.\n\n5xbsd\nSynonym for ufs2.\n\nsun\nFor filesystems created by SunOS or Solaris on Sparc.\n\nsunx86\nFor filesystems created by Solaris on x86.\n\nhp\nFor filesystems created by HP-UX, read-only.\n\nnextstep\nFor filesystems created by NeXTStep (on NeXT station)\n(currently read only).\n\nnextstep-cd\nFor NextStep CDROMs (blocksize == 2048), read-only.\n\nopenstep\nFor filesystems created by OpenStep (currently read only). The\nsame filesystem type is also used by Mac OS X.\n\nonerror=value\nSet behavior on error:\n\npanic\nIf an error is encountered, cause a kernel panic.\n\n[lock|umount|repair]\nThese mount options don't do anything at present; when an error\nis encountered only a console message is printed.\n\nMount options for umsdos\nSee mount options for msdos. The dotsOK option is explicitly killed by\numsdos.\n\nMount options for vfat\nFirst of all, the mount options for fat are recognized. The dotsOK\noption is explicitly killed by vfat. Furthermore, there are\n\nunixlate\nTranslate unhandled Unicode characters to special escaped\nsequences. This lets you backup and restore filenames that are\ncreated with any Unicode characters. Without this option, a '?' is\nused when no translation is possible. The escape character is ':'\nbecause it is otherwise invalid on the vfat filesystem. The escape\nsequence that gets used, where u is the Unicode character, is: ':',\n(u & 0x3f), ((u>>6) & 0x3f), (u>>12).\n\nposix\nAllow two files with names that only differ in case. This option is\nobsolete.\n\nnonumtail\nFirst try to make a short name without sequence number, before\ntrying name~num.ext.\n\nutf8\nUTF8 is the filesystem safe 8-bit encoding of Unicode that is used\nby the console. It can be enabled for the filesystem with this\noption or disabled with utf8=0, utf8=no or utf8=false. If unixlate\ngets set, UTF8 gets disabled.\n\nshortname=mode\nDefines the behavior for creation and display of filenames which\nfit into 8.3 characters. If a long name for a file exists, it will\nalways be the preferred one for display. There are four modes:\n\nlower\nForce the short name to lower case upon display; store a long\nname when the short name is not all upper case.\n\nwin95\nForce the short name to upper case upon display; store a long\nname when the short name is not all upper case.\n\nwinnt\nDisplay the short name as is; store a long name when the short\nname is not all lower case or all upper case.\n\nmixed\nDisplay the short name as is; store a long name when the short\nname is not all upper case. This mode is the default since\nLinux 2.6.32.\n\nMount options for usbfs\ndevuid=uid and devgid=gid and devmode=mode\nSet the owner and group and mode of the device files in the usbfs\nfilesystem (default: uid=gid=0, mode=0644). The mode is given in\noctal.\n\nbusuid=uid and busgid=gid and busmode=mode\nSet the owner and group and mode of the bus directories in the\nusbfs filesystem (default: uid=gid=0, mode=0555). The mode is given\nin octal.\n\nlistuid=uid and listgid=gid and listmode=mode\nSet the owner and group and mode of the file devices (default:\nuid=gid=0, mode=0444). The mode is given in octal.\n\nDM-VERITY SUPPORT (EXPERIMENTAL)\nThe device-mapper verity target provides read-only transparent\nintegrity checking of block devices using kernel crypto API. The mount\ncommand can open the dm-verity device and do the integrity verification\nbefore on the device filesystem is mounted. Requires libcryptsetup with\nin libmount (optionally via dlopen(3)). If libcryptsetup supports\nextracting the root hash of an already mounted device, existing devices\nwill be automatically reused in case of a match. Mount options for\ndm-verity:\n\nverity.hashdevice=path\nPath to the hash tree device associated with the source volume to\npass to dm-verity.\n\nverity.roothash=hex\nHex-encoded hash of the root of verity.hashdevice. Mutually\nexclusive with verity.roothashfile.\n\nverity.roothashfile=path\nPath to file containing the hex-encoded hash of the root of\nverity.hashdevice. Mutually exclusive with verity.roothash.\n\nverity.hashoffset=offset\nIf the hash tree device is embedded in the source volume, offset\n(default: 0) is used by dm-verity to get to the tree.\n\nverity.fecdevice=path\nPath to the Forward Error Correction (FEC) device associated with\nthe source volume to pass to dm-verity. Optional. Requires kernel\nbuilt with CONFIGDMVERITYFEC.\n\nverity.fecoffset=offset\nIf the FEC device is embedded in the source volume, offset\n(default: 0) is used by dm-verity to get to the FEC area. Optional.\n\nverity.fecroots=value\nParity bytes for FEC (default: 2). Optional.\n\nverity.roothashsig=path\nPath to pkcs7(1ssl) signature of root hash hex string. Requires\ncryptactivatebysignedkey() from cryptsetup and kernel built\nwith CONFIGDMVERITYVERIFYROOTHASHSIG. For device reuse,\nsignatures have to be either used by all mounts of a device or by\nnone. Optional.\n\nSupported since util-linux v2.35.\n\nFor example commands:\n\nmksquashfs /etc /tmp/etc.squashfs\ndd if=/dev/zero of=/tmp/etc.hash bs=1M count=10\nveritysetup format /tmp/etc.squashfs /tmp/etc.hash\nopenssl smime -sign -in <hash> -nocerts -inkey private.key \\\n-signer private.crt -noattr -binary -outform der -out /tmp/etc.roothash.p7s\nmount -o verity.hashdevice=/tmp/etc.hash,verity.roothash=<hash>,\\\nverity.roothashsig=/tmp/etc.roothash.p7s /tmp/etc.squashfs /mnt\n\ncreate squashfs image from /etc directory, verity hash device and mount\nverified filesystem image to /mnt. The kernel will verify that the root\nhash is signed by a key from the kernel keyring if roothashsig is used.\n",
            "subsections": []
        },
        "LOOP-DEVICE SUPPORT": {
            "content": "One further possible type is a mount via the loop device. For example,\nthe command\n\nmount /tmp/disk.img /mnt -t vfat -o loop=/dev/loop3\n\nwill set up the loop device /dev/loop3 to correspond to the file\n/tmp/disk.img, and then mount this device on /mnt.\n\nIf no explicit loop device is mentioned (but just an option '-o loop'\nis given), then mount will try to find some unused loop device and use\nthat, for example\n\nmount /tmp/disk.img /mnt -o loop\n\nThe mount command automatically creates a loop device from a regular\nfile if a filesystem type is not specified or the filesystem is known\nfor libblkid, for example:\n\nmount /tmp/disk.img /mnt\n\nmount -t ext4 /tmp/disk.img /mnt\n\nThis type of mount knows about three options, namely loop, offset and\nsizelimit, that are really options to losetup(8). (These options can be\nused in addition to those specific to the filesystem type.)\n\nSince Linux 2.6.25 auto-destruction of loop devices is supported,\nmeaning that any loop device allocated by mount will be freed by umount\nindependently of /etc/mtab.\n\nYou can also free a loop device by hand, using losetup -d or umount -d.\n\nSince util-linux v2.29, mount re-uses the loop device rather than\ninitializing a new device if the same backing file is already used for\nsome loop device with the same offset and sizelimit. This is necessary\nto avoid a filesystem corruption.\n",
            "subsections": []
        },
        "EXIT STATUS": {
            "content": "mount has the following exit status values (the bits can be ORed):\n\n0\nsuccess\n\n1\nincorrect invocation or permissions\n\n2\nsystem error (out of memory, cannot fork, no more loop devices)\n\n4\ninternal mount bug\n\n8\nuser interrupt\n\n16\nproblems writing or locking /etc/mtab\n\n32\nmount failure\n\n64\nsome mount succeeded\n\nThe command mount -a returns 0 (all succeeded), 32 (all failed), or\n64 (some failed, some succeeded).\n",
            "subsections": []
        },
        "EXTERNAL HELPERS": {
            "content": "The syntax of external mount helpers is:\n\n/sbin/mount.suffix spec dir [-sfnv] [-N namespace] [-o options] [-t\ntype.subtype]\n\nwhere the suffix is the filesystem type and the -sfnvoN options have\nthe same meaning as the normal mount options. The -t option is used for\nfilesystems with subtypes support (for example /sbin/mount.fuse -t\nfuse.sshfs).\n\nThe command mount does not pass the mount options unbindable,\nrunbindable, private, rprivate, slave, rslave, shared, rshared, auto,\nnoauto, comment, x-*, loop, offset and sizelimit to the mount.<suffix>\nhelpers. All other options are used in a comma-separated list as an\nargument to the -o option.\n",
            "subsections": []
        },
        "ENVIRONMENT": {
            "content": "LIBMOUNTFSTAB=<path>\noverrides the default location of the fstab file (ignored for suid)\n\nLIBMOUNTMTAB=<path>\noverrides the default location of the mtab file (ignored for suid)\n\nLIBMOUNTDEBUG=all\nenables libmount debug output\n\nLIBBLKIDDEBUG=all\nenables libblkid debug output\n\nLOOPDEVDEBUG=all\nenables loop device setup debug output\n",
            "subsections": []
        },
        "FILES": {
            "content": "See also \"The files /etc/fstab, /etc/mtab and /proc/mounts\" section\nabove.\n\n/etc/fstab\nfilesystem table\n\n/run/mount\nlibmount private runtime directory\n\n/etc/mtab\ntable of mounted filesystems or symlink to /proc/mounts\n\n/etc/mtab~\nlock file (unused on systems with mtab symlink)\n\n/etc/mtab.tmp\ntemporary file (unused on systems with mtab symlink)\n\n/etc/filesystems\na list of filesystem types to try\n",
            "subsections": []
        },
        "HISTORY": {
            "content": "A mount command existed in Version 5 AT&T UNIX.\n",
            "subsections": []
        },
        "BUGS": {
            "content": "It is possible for a corrupted filesystem to cause a crash.\n\nSome Linux filesystems don't support -o sync and -o dirsync (the ext2,\next3, ext4, fat and vfat filesystems do support synchronous updates (a\nla BSD) when mounted with the sync option).\n\nThe -o remount may not be able to change mount parameters (all\next2fs-specific parameters, except sb, are changeable with a remount,\nfor example, but you can't change gid or umask for the fatfs).\n\nIt is possible that the files /etc/mtab and /proc/mounts don't match on\nsystems with a regular mtab file. The first file is based only on the\nmount command options, but the content of the second file also depends\non the kernel and others settings (e.g. on a remote NFS server -- in\ncertain cases the mount command may report unreliable information about\nan NFS mount point and the /proc/mount file usually contains more\nreliable information.) This is another reason to replace the mtab file\nwith a symlink to the /proc/mounts file.\n\nChecking files on NFS filesystems referenced by file descriptors (i.e.\nthe fcntl and ioctl families of functions) may lead to inconsistent\nresults due to the lack of a consistency check in the kernel even if\nthe noac mount option is used.\n\nThe loop option with the offset or sizelimit options used may fail when\nusing older kernels if the mount command can't confirm that the size of\nthe block device has been configured as requested. This situation can\nbe worked around by using the losetup(8) command manually before\ncalling mount with the configured loop device.\n",
            "subsections": []
        },
        "AUTHORS": {
            "content": "Karel Zak <kzak@redhat.com>\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "mount(2), umount(2), filesystems(5), fstab(5), nfs(5), xfs(5),\nmountnamespaces(7), xattr(7), e2label(8), findmnt(8), losetup(8),\nlsblk(8), mke2fs(8), mountd(8), nfsd(8), swapon(8), tune2fs(8),\numount(8), xfsadmin(8)\n",
            "subsections": []
        },
        "REPORTING BUGS": {
            "content": "For bug reports, use the issue tracker at\nhttps://github.com/karelzak/util-linux/issues.\n",
            "subsections": []
        },
        "AVAILABILITY": {
            "content": "The mount command is part of the util-linux package which can be\ndownloaded from Linux Kernel Archive\n<https://www.kernel.org/pub/linux/utils/util-linux/>.\n\nutil-linux 2.37.2                 2021-08-16                          MOUNT(8)",
            "subsections": []
        }
    },
    "summary": "mount - mount a filesystem",
    "flags": [],
    "examples": [],
    "see_also": [
        {
            "name": "umount",
            "section": "2",
            "url": "https://www.chedong.com/phpMan.php/man/umount/2/json"
        },
        {
            "name": "filesystems",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/filesystems/5/json"
        },
        {
            "name": "fstab",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/fstab/5/json"
        },
        {
            "name": "nfs",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/nfs/5/json"
        },
        {
            "name": "xfs",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/xfs/5/json"
        },
        {
            "name": "mountnamespaces",
            "section": "7",
            "url": "https://www.chedong.com/phpMan.php/man/mountnamespaces/7/json"
        },
        {
            "name": "xattr",
            "section": "7",
            "url": "https://www.chedong.com/phpMan.php/man/xattr/7/json"
        },
        {
            "name": "e2label",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/e2label/8/json"
        },
        {
            "name": "findmnt",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/findmnt/8/json"
        },
        {
            "name": "losetup",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/losetup/8/json"
        },
        {
            "name": "lsblk",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/lsblk/8/json"
        },
        {
            "name": "mke2fs",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/mke2fs/8/json"
        },
        {
            "name": "mountd",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/mountd/8/json"
        },
        {
            "name": "nfsd",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/nfsd/8/json"
        },
        {
            "name": "swapon",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/swapon/8/json"
        },
        {
            "name": "tune2fs",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/tune2fs/8/json"
        },
        {
            "name": "umount",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/umount/8/json"
        },
        {
            "name": "xfsadmin",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/xfsadmin/8/json"
        }
    ]
}