Mount (Unix) Explained

mount
Author:Ken Thompson,
Dennis Ritchie
Developer:AT&T Bell Laboratories
Operating System:Unix and Unix-like
Genre:Command

In computing, mount is a command in various operating systems. Before a user can access a file on a Unix-like machine, the file system on the device[1] which contains the file needs to be mounted with the mount command. Frequently mount is used for SD card, USB storage, DVD and other removable storage devices. The command is also available in the EFI shell.[2]

Overview

The mount command instructs the operating system that a file system is ready to use, and associates it with a particular point in the overall file system hierarchy (its mount point) and sets options relating to its access. Mounting makes file systems, files, directories, devices and special files available for use and available to the user.Its counterpart umount instructs the operating system that the file system should be disassociated from its mount point, making it no longer accessible and may be removed from the computer. It is important to umount a device before removing it since changes to files may have only partially been written and are completed as part of the umount.

The mount and umount commands require root user privilege to effect changes. Alternately, specific privileges to perform the corresponding action may have been previously granted by the root user. A file system can be defined as user mountable in the /etc/[[fstab]] file by the root user.

Examples

To display all mounted partitions:$ mountproc on /proc type proc (rw)sysfs on /sys type sysfs (rw)devpts on /dev/pts type devpts (rw,gid=5,mode=620)/dev/sda1 on /boot type ext3 (rw)/tmp on /var/tmp type none (rw,noexec,nosuid,bind)10.4.0.4:/srv/export/setup_server on /nfs/setup_server type nfs (ro,addr=10.4.0.4)

To mount the second partition of a hard disk drive to the existing directory /media/PHOTOS (mount point):$ mount /dev/hda2 /media/PHOTOSTo unmount by referring to the physical disk partition:$ umount /dev/hda2To unmount by referring to the mount point:$ umount /media/PHOTOS

To remount a partition with specific options:$ mount -o remount,rw /dev/hda2

Bind mounting

Bind mounting allows a filesystem hierarchy or a file to be mounted at a different mount point. Unlike a symbolic link, a bind mount does not exist on the filesystem itself.[3] In the following example, the path /olddir will be mounted in /newdir

$ mount --bind /olddir /newdir

Mounting loop devices

A loop device is a device that corresponds to a file, usually a disk image. Mounting a loop device allows the file to be accessed as a filesystem. This allows it to be used as a virtual drive.

For example, a virtual disk image can be mounted as a regular filesystem.

$ mount -o loop my_virtual_disk.img /mnt

Derivatives and wrappers

pmount is a wrapper around the standard mount program which permits normal users to mount removable devices without a matching /etc/fstab entry. This provides a robust basis for automounting frameworks like GNOME's Utopia project and keeps the usage of root to a minimum.

This package also contains a wrapper pmount-hal, which reads information such as device labels and mount options from HAL and passes it to pmount.

The gnome-mount package contains programs for mounting, unmounting and ejecting storage devices. The goal for gnome-mount is for GNOME software such as gnome-volume-manager and GNOME-VFS to use this instead of invoking mount/umount/eject/pmount or direct HAL invoking methods. GNOME previously used pmount. Note, gnome-mount is not intended for direct use by users.

All the gnome-mount programs utilize HAL methods and as such run unprivileged. The rationale for gnome-mount is to have a centralized place (in GConf) where settings such as mount options and mount locations are maintained.[4]

As with all unix-like commands, the options are specific to the version of mount and are precisely detailed in its man page.

In addition to the system call mount, the function mount_root mounts the first, or root filesystem. In this context mount is called by the system call setup.

See also

Notes and References

  1. Web site: mount(8) - Linux manual page. man7.org. 2021-06-21. 2012-11-30. https://web.archive.org/web/20121130074806/https://man7.org/linux/man-pages/man8/mount.8.html. live.
  2. Web site: EFI Shells and Scripting . . 2013-09-25 . 2009-01-30 . https://web.archive.org/web/20090130105136/http://software.intel.com/en-us/articles/efi-shells-and-scripting/ . live .
  3. Web site: What is the difference between ln -s and mount --bind?. 2022-05-04. 2023-02-20. https://web.archive.org/web/20230220021843/https://newbedev.com/what-is-the-difference-between-ln-s-and-mount-bind. live.
  4. Web site: gnome-mount-0.6. https://web.archive.org/web/20080605160454/http://www.linuxfromscratch.org/blfs/view/svn/gnome/gnome-mount.html. dead. June 5, 2008.