Linux 「一切皆文件」,存儲設備必須掛載到目錄樹節點 (掛載點) 才能讀寫。本文匯總 U盤、硬盤分區 (含 NTFS/FAT32 中文亂碼解決)、光驅的掛載命令、參數含義、自動掛載配置與卸載清理全流程。
/dev/sdX1)# 1. 確認設備節點 (插入後)
lsblk -f # 查看文件系統類型、標籤、UUID
dmesg -T | tail # 內核日誌確認分配節點 (如 sdb1)
# 2. 建立掛載點
mkdir -p /mnt/usb
# 3. 掛載 (FAT32/exFAT 常用 vfat)
mount -t vfat /dev/sdb1 /mnt/usb
# 4. 訪問數據
ls /mnt/usb
# 5. 卸載 (必須在無進程佔用時)
umount /mnt/usb
# 6. 清理掛載點
rmdir /mnt/usb
注意:若系統自動掛載 (桌面環境 udisks2),/media/user/LABEL 已可用,無需手動掛載。
# 基礎掛載
mount /dev/sda6 /mnt/win_e
# 指定文件系統 + 字符集 (推薦)
mount -t vfat -o iocharset=utf8,codepage=936 /dev/sda6 /mnt/win_e
# 參數解析:
# -t vfat : 文件系統類型 (FAT12/16/32 統稱)
# -o iocharset=utf8: 內核向用戶空間返回文件名的編碼 (顯示用)
# -o codepage=936 : 磁盤上文件名的編碼 (GBK/CP936 簡體中文)
# codepage=950 : 繁體中文 (Big5/CP950)
# codepage=437 : 美式英文 (默認)
# 常用組合: iocharset=utf8,codepage=936 (現代系統推薦)
# 遺留組合: iocharset=cp936,codepage=936 (舊內核/舊發布版)
# 內核 ntfs3 (Linux 5.15+, 推薦,性能最佳)
mount -t ntfs3 -o iocharset=utf8 /dev/sda2 /mnt/win_c
# ntfs-3g (舊內核/兼容性)
mount -t ntfs-3g -o iocharset=utf8 /dev/sda2 /mnt/win_c
# 參數:
# -o rw : 讀寫 (ntfs-3g 默認只讀需顯式指定)
# -o uid=1000,gid=1000,umask=022 : 映射文件擁有者/權限 (ntfs-3g 專用)
# 注意: NTFS 無原生 Linux 權限,所有權限由掛載參數模擬
umount /mnt/win_e
rmdir /mnt/win_e
/etc/fstab 配置詳解# 設備/UUID 掛載點 類型 選項 轉儲 檢查
UUID=XXXX-XXXX /mnt/win_e vfat defaults,iocharset=utf8,codepage=936,umask=000 0 0
UUID=YYYY-YYYY /mnt/win_c ntfs3 defaults,iocharset=utf8,uid=1000,gid=1000,umask=022 0 0
defaults = rw,suid,dev,exec,auto,nouser,asyncauto / noauto:開機自動掛載 / 僅手動掛載。user / nouser:允許普通用戶掛載 / 僅 root。umask=000 (vfat) / umask=022 (ntfs-3g):文件權限掩碼 (vfat 無原生權限,全靠 umask 模擬)。uid=1000,gid=1000:指定文件擁有者為普通用戶 (ntfs-3g 專用)。0 0:dump 備份標誌 (0 不備份) + fsck 檢查順序 (0 不檢查/非根分區)。驗證:mount -a 測試配置無誤 → 重啟驗證自動掛載。
# 物理光驅 (典型節點 /dev/sr0 或 /dev/cdrom)
mount -t iso9660 /dev/sr0 /mnt/cdrom
# ISO 映像文件掛載 (環路設備)
mount -o loop ubuntu-22.04.iso /mnt/iso
# 卸載
umount /mnt/cdrom
| 現象 | 原因 | 解決 |
|---|---|---|
mount: /mnt/usb: target is busy | 進程佔用掛載點 (shell 在目錄下、文件打開) | lsof /mnt/usb 找到進程 → 退出/殺掉 → umount -l (懶卸載) |
NTFS 掛載報錯 Permission denied | Windows 快速啟動導致「髒」狀態 | Windows 完整關機 (Shift+關機) 或 ntfsfix /dev/sda2 修復 |
| 中文文件名顯示亂碼/問號 | iocharset/codepage 不匹配 | 確認磁盤實際編碼 (GBK/UTF-8) → 調整掛載參數 |
| exFAT U盤無法掛載 | 缺 exfatprogs (內核 5.4+) 或 exfat-fuse | dnf/apt install exfatprogs (推薦) 或 exfat-fuse |
掛載看似簡單,字符集參數 (iocharset/codepage)、文件系統類型選擇 (vfat/ntfs3/ntfs-3g)、fstab 選項組合 直接決定中文顯示正確與否、讀寫權限、開機自動化成敗。收藏本文,下次插入移動存儲設備不再手忙腳亂。