Mounting connects a filesystem (disk partition, USB drive, ISO, or network-backed device) to a directory so Linux can access it. This guide is for Linux admins, DevOps engineers, and support teams who need clear, production-safe mount and umount workflows.
Originally published on 2015-12-12; fully revised and updated.

Mounting lifecycle at a glance
In practice, mounting is a repeatable flow: prepare a mount point, mount with the right filesystem type and options, verify, and optionally persist in /etc/fstab.
flowchart TD
A[Device or image is available] --> B[Create mount point directory]
B --> C[Mount with type and options]
C --> D[Verify with mount findmnt or df]
D --> E{Need persistence}
E -- yes --> F[Add entry to /etc/fstab]
F --> G[Validate with mount -a]
E -- no --> H[Use as temporary mount]
G --> I[Unmount when no longer needed]
H --> I
Filesystem types and -t values you will commonly use
The -t option sets filesystem type explicitly. If you use -t auto, Linux tries to detect the filesystem automatically.
| Type | Typical use | Example command |
|---|---|---|
| auto | Auto-detect type when uncertain | sudo mount -t auto /dev/sdb1 /mnt/data |
| ext4 | Common Linux filesystem | sudo mount -t ext4 /dev/sdb1 /mnt/data |
| ext3 | Older Linux systems | sudo mount -t ext3 /dev/sdb1 /mnt/legacy |
| ntfs | Windows partitions or external disks | sudo mount -t ntfs /dev/sdc1 /mnt/windows |
| vfat | FAT/FAT32 removable media | sudo mount -t vfat /dev/sdc1 /mnt/usb |
| iso9660 | Optical media and ISO images | sudo mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom |
Core mount and umount commands
General syntax: mount a source (device/image) to a destination directory (mount point).
sudo mount -t FILESYSTEMTYPE DEVICE MOUNT_POINT
Create mount points before mounting:
sudo mkdir -p /mnt/data
sudo mkdir -p /mnt/cdrom
sudo mkdir -p /mnt/iso
Common examples:
# Mount a Linux partition
sudo mount -t ext4 /dev/sdb1 /mnt/data
# Mount CD-ROM read-only
sudo mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom
# Mount an ISO file via loop device
sudo mount -t iso9660 -o loop ./pdf_collections.iso /mnt/isoCode language: PHP (php)
List mounted filesystems:
mount
findmnt
df -hT
Unmount when done (command name is umount, not unmount):
sudo umount /mnt/data
# or
sudo umount /dev/sdb1Code language: PHP (php)
If you need to move an already mounted filesystem from one mount point to another, use:
sudo mount --move /mydata /mnt
mount vs findmnt vs df
| Command | Best for | Notes |
|---|---|---|
mount | Quick list of mounts | Also performs mounting operations. |
findmnt | Structured mount tree output | Usually easier to read and script than raw mount output. |
df -hT | Capacity and filesystem type view | Good for troubleshooting space and type together. |
Persist mounts with /etc/fstab
Use /etc/fstab when a mount should survive reboots. After editing, always validate with mount -a to catch syntax or option errors before rebooting.
# /etc/fstab format:
# DEVICE MOUNT_POINT FSTYPE OPTIONS DUMP PASS
/dev/sdb1 /data ext4 defaults 0 2
/dev/sdc1 /windows ntfs defaults 0 0
/dev/sdd1 /usb vfat defaults 0 0Code language: PHP (php)
sudo mount -a
mount -a attempts to mount eligible entries from /etc/fstab (entries marked noauto are skipped).
Common unmount errors and quick fixes
If unmount fails with target is busy, a process is still using the filesystem.
# Find open files under the mount point
sudo lsof +f -- /mnt/data
# Or identify PIDs using the mount
sudo fuser -vm /mnt/data
# Retry unmount
sudo umount /mnt/dataCode language: PHP (php)
Use lazy unmount only when necessary:
sudo umount -l /mnt/data
Best practices and common pitfalls
- Always create and verify mount points before mounting.
- Prefer explicit filesystem type (
-t) when you know it. - Use read-only options (
-o ro) for media that should not be modified. - Validate
/etc/fstabchanges withsudo mount -abefore rebooting. - Use
umount(correct command spelling), and ensure no process is holding the mount. - Avoid broad
umount -aon active systems unless you fully understand impact.
Source attribution
Original reference cited in the legacy post: http://www.thegeekstuff.com/2013/01/mount-umount-examples/.
I’m Rajesh Kumar, a DevOps, SRE, DevSecOps, Cloud, and Platform Engineering expert passionate about sharing practical knowledge, real-world experiences, and industry best practices. I have worked at Cotocus and regularly write about technology, travel, investing, health, product reviews, and digital marketing through my various platforms.
I publish technical articles at DevOps School, travel stories at Holiday Landmark, stock market insights at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow, and SEO and digital marketing strategies at Wizbrand.
Find Trusted Cardiac Hospitals
Compare heart hospitals by city and services — all in one place.
Explore Hospitals