Linux Storage

Mount external drives on Linux

Practical Linux guide: mount external drives on Linux without the usual guesswork.

10 min read Beginner Updated 9 Jun 2026

Step-by-step guide

Work through each section in order. Stop when your issue is resolved — you do not need every step for every situation.

What you will achieve

Mount USB disks and external SSDs on Linux with correct filesystem type, uid/gid for desktop users, and optional fstab persistence.

1) Identify device

lsblk -f
sudo blkid

Use /dev/disk/by-id/ paths in fstab — /dev/sdb1 can change after reboot.

2) Mount manually

sudo mkdir -p /mnt/external
sudo mount -o uid=1000,gid=1000 /dev/sdb1 /mnt/external

NTFS: sudo apt install ntfs-3g. exFAT: exfatprogs or exfat-fuse.

3) Unmount safely

sync
sudo umount /mnt/external

4) udisks2 (desktop)

GUI file managers use udisks2; CLI: udisksctl mount -b /dev/sdb1.

Verify

findmnt /mnt/external
df -h /mnt/external

5) fstab entry for desktop user

UUID=abc /mnt/data ext4 defaults,noatime,nofail,x-systemd.automount 0 2

6) Format new drive

sudo mkfs.ext4 -L data_disk /dev/sdb1

Triple-check device name. wipefs -a only when certain.

7) SMART test before trusting old disks

sudo smartctl -t short /dev/sdb
sudo smartctl -a /dev/sdb

automount vs manual

Servers use fstab. Desktops often rely on udisks2 — manual mount as root can confuse file managers expecting automount.

8) exFAT for Windows interchange

sudo apt install exfatprogs
sudo mkfs.exfat -n PORTABLE /dev/sdb1

Prerequisites

Device identified via lsblk (not guessing /dev/sdb). Filesystem type known. Mount point created. Optional: fstab UUID entry. User uid/gid for desktop writable mounts.

USB autosuspend issues

echo on | sudo tee /sys/bus/usb/devices/1-*/power/control

External drives disappearing mid-copy — disable USB autosuspend for that port on servers with always-attached USB storage.

NTFS fix

sudo ntfsfix /dev/sdb1

After unsafe Windows eject — run before mount on Linux to avoid read-only NTFS mount.

udisks2 polkit

Desktop auto-mount uses polkit rules — custom mount options need /etc/udisks2/mount_options.conf. Servers without polkit use fstab exclusively; do not expect GNOME Disks behaviour on headless Ubuntu Server.

hfsplus mac drives

sudo apt install hfsprogs
 sudo mount -o force,rw /dev/sdb2 /mnt/mac

Mac journaled HFS needs force,rw on Linux — read-only default protects against partial write support.

lsblk before every mount

USB device names shuffle — script mounting /dev/sdb1 without lsblk check is how backups get written to wrong disk. Use /dev/disk/by-id in scripts.

sync before unmount ritual

Teach operators sync then umount — pulling USB without umount causes filesystem corruption especially on exFAT and NTFS written from Linux with delayed allocation.

gio mount desktop

GNOME gio mount -d /dev/sdb1 integrates with keyring for encrypted volumes — CLI equivalent of file manager click mount with polkit prompt.

fat32 4GB limit

Videos larger than 4GB need exFAT or ext4 — FAT32 ok for small USB exchange drives only.

Related guides

drive external linux mount