快速識別設備節點
# 方法 1:lsblk (推薦,樹狀顯示、大小、類型、掛載點)
lsblk -f
# NAME FSTYPE LABEL MOUNTPOINT SIZE
# sda
# ├─sda1 vfat /boot/efi 512M
# └─sda2 ext4 / 476G
# sdb
# └─sdb1 ntfs MyPassport 1.8T
# 方法 2:fdisk -l (需 root)
fdisk -l /dev/sdb
# 方法 3:dmesg -T | tail -20 (插入後即時看核心訊息)
# 方法 4:/proc/partitions
cat /proc/partitions
臨時掛載 (手動、當前會話有效)
Linux 原生文件系統 (ext4, xfs, btrfs)
mkdir -p /mnt/usb
mount /dev/sdb1 /mnt/usb
# 驗證
df -h /mnt/usb
ls /mnt/usb
Windows 文件系統 (NTFS / exFAT / FAT32)
# 安裝驅動 (Debian/Ubuntu)
apt update && apt install ntfs-3g exfat-fuse exfatprogs
# RHEL/Fedora
dnf install ntfs-3g exfat-fuse
# Arch
pacman -S ntfs-3g exfatprogs
# 掛載 NTFS (ntfs-3g 為用戶空間 FUSE 驅動,Linux 5.15+ 核心原生 ntfs3 更快)
mount -t ntfs-3g /dev/sdb1 /mnt/usb
# 或核心原生 (需核心 5.15+)
mount -t ntfs3 /dev/sdb1 /mnt/usb -o uid=1000,gid=1000,umask=022
# 掛載 exFAT
mount -t exfat /dev/sdb1 /mnt/usb
# 掛載 FAT32
mount -t vfat /dev/sdb1 /mnt/usb -o uid=1000,gid=1000,iocharset=utf8
關鍵參數:uid=1000,gid=1000 讓普通用戶擁有讀寫權,umask=022 設定預設權限 755 (目錄) / 644 (文件)。
ISO 映像檔掛載
mkdir -p /mnt/iso
mount -o loop /path/to/ubuntu-24.04.iso /mnt/iso
# 或自動偵測
mount /path/to/ubuntu-24.04.iso /mnt/iso
安全卸載
# 確認無進程佔用
lsof /mnt/usb
fuser -m /mnt/usb
# 正常卸載
umount /mnt/usb
# 或指定設備
umount /dev/sdb1
# 強制卸載 (謹慎,可能導致數據損失)
umount -l /mnt/usb # 惰性卸載,立即釋放掛載點,待無 busy 時完成
umount -f /mnt/usb # 強制 (網路文件系統常用)
永久掛載 — /etc/fstab (開機自動掛載)
使用 UUID (強烈推薦,設備名稱可能漂移)
# 獲取 UUID
blkid /dev/sdb1
# /dev/sdb1: UUID="A1B2-C3D4" TYPE="ntfs" PARTUUID="12345678-01"
# 編輯 /etc/fstab
UUID=A1B2-C3D4 /mnt/usb ntfs-3g defaults,uid=1000,gid=1000,umask=022,nofail,x-systemd.automount 0 0
fstab 欄位解析
| 欄位 | 說明 | 範例 |
| 1. 設備 | UUID=... / LABEL=... / /dev/sdb1 | UUID=A1B2-C3D4 |
| 2. 掛載點 | 目錄必須預先存在 | /mnt/usb |
| 3. 文件系統 | ext4, xfs, btrfs, ntfs-3g, ntfs3, vfat, exfat, auto | ntfs-3g |
| 4. 掛載選項 | 預設 defaults, noatime, nofail, x-systemd.automount, ro, rw, user, nouser | defaults,uid=1000,nofail,x-systemd.automount |
| 5. dump | 備份標記 (0/1),現多為 0 | 0 |
| 6. fsck 順序 | 根分區 1,其他 2,不檢查 0 (NTFS/FAT/exFAT 必須 0) | 0 |
關鍵選項詳解
nofail:裝置不存在時不阻塞開機 (外接硬碟必加)。
x-systemd.automount:按需自動掛載 (首次存取才掛載),加快開機、避免掛載失敗卡住。
noatime:不更新 atime,減少 SSD 寫入、提升效能。
discard:SSD TRIM 支援 (ext4/xfs/btrfs),或用週期性 fstrim.timer。
user:允許普通用戶 mount/umount。
驗證 fstab 無誤後
mount -a # 掛載所有 fstab 定義項
findmnt --verify # 檢查語法錯誤
systemctl daemon-reload # 重載 systemd 單元 (針對 x-systemd.* 選項)
圖形桌面自動掛載
- GNOME/KDE/ Xfce:插入裝置 → 桌面彈出圖示 / 檔案管理器側邊欄 → 點擊掛載 → 顯示於
/run/media/$USER/LABEL 或 /media/$USER/LABEL。
- 底層由
udisks2 + polkit 權限控制,無需手動 fstab。
常見問題排查
| 現象 | 可能原因 | 解決 |
| mount: /mnt/usb: can't read superblock | 文件系統損壞 / 類型錯誤 / 未安裝驅動 | fsck -t 類型 /dev/sdb1;安裝 ntfs-3g/exfatprogs;嘗試 -t auto |
| NTFS 掛載唯讀 | Windows 快速啟動/休眠導致髒標記 | Windows 完整關機 (Shift+關機) 或 ntfsfix /dev/sdb1;掛載加 ro 唯讀保護 |
| 權限拒絕 | uid/gid/umask 未設、NTFS 不支援 Linux 權限 | 掛載選項指定 uid=1000,gid=1000,umask=022;或使用 bindfs 映射權限 |
| 拔出後重插掛載點消失 | 無 x-systemd.automount 或 udev 規則缺失 | 加入 x-systemd.automount;或寫 udev 規則 RUN+="/usr/bin/mount /mnt/usb" |
| exFAT 大文件 (>4GB) 複製失敗 | 格式化為 FAT32 而非 exFAT | 重新格式化 mkfs.exfat /dev/sdb1 或 mkfs.ntfs |
進階:系統級加密儲存 (LUKS)
# 格式化加密
cryptsetup luksFormat /dev/sdb1
cryptsetup open /dev/sdb1 usb_encrypted
mkfs.ext4 /dev/mapper/usb_encrypted
mount /dev/mapper/usb_encrypted /mnt/usb
# fstab 配合 crypttab
# /etc/crypttab
usb_encrypted UUID=A1B2-C3D4 none luks,nofail
# /etc/fstab
/dev/mapper/usb_encrypted /mnt/usb ext4 defaults,nofail,x-systemd.automount 0 2
掌握掛載/卸載全流程,讓你的數據在 Linux 與跨平台間安全、靈活流動。
copyright ©
萬盛學電腦網 all rights reserved