Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux 掛載 USB 隨身碟完整指南:從裝置辨識到 fstab 開機自動掛載與半自動桌面捷徑

編輯:USB 隨身碟安裝系統

核心概念

  • Linux 將 USB 視為 SCSI 裝置(`/dev/sdX`)
  • 掛載前必須確認裝置節點(如 `/dev/sda1`、`/dev/sdb1`)
  • 檔案系統通常為 FAT32(`vfat`)、exFAT、NTFS、ext4
dmesg 輸出範例

步驟 1:確認裝置節點

# 方法一:dmesg 即時訊息
dmesg -T | grep -i -e usb -e scsi -e sd

# 方法二:lsblk 列出區塊裝置(推薦)
lsblk -f

# 方法三:fdisk -l(需 root)
sudo fdisk -l

# 輸出範例:/dev/sdb1  7.3G  FAT32  USB_DISK

步驟 2:建立掛載點並手動掛載

# 建立掛載目錄
sudo mkdir -p /mnt/usb

# 掛載 FAT32/exFAT(需安裝 exfat-fuse、exfat-utils)
sudo mount -t vfat /dev/sdb1 /mnt/usb -o uid=1000,gid=1000,utf8,umask=022

# 掛載 NTFS(需安裝 ntfs-3g)
sudo mount -t ntfs-3g /dev/sdb1 /mnt/usb -o uid=1000,gid=1000

# 驗證
ls -l /mnt/usb

參數說明: `uid=1000,gid=1000` 讓普通用戶擁有權限;`utf8` 支援中文檔名;`umask=022` 設定預設權限 755。

步驟 3:永久掛載配置(/etc/fstab)

獲取 UUID(推薦,避免裝置節點變動):

sudo blkid /dev/sdb1
# 輸出:/dev/sdb1: UUID="1234-ABCD" TYPE="vfat"

編輯 /etc/fstab:

# 方案一:開機自動掛載(裝置必須存在,否則進入急救模式)
UUID=1234-ABCD  /mnt/usb  vfat  defaults,uid=1000,gid=1000,utf8,umask=022  0  0

# 方案二:noauto + 用戶可掛載(推薦,開機不掛載,需時手動 mount /mnt/usb)
UUID=1234-ABCD  /mnt/usb  vfat  noauto,user,uid=1000,gid=1000,utf8,umask=022  0  0

步驟 4:桌面半自動掛載捷徑(原文方案改良)

建立 `.desktop` 檔案而非硬連結,支援點擊掛載/卸載:

# ~/.local/share/applications/mount-usb.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=掛載 USB 隨身碟
Comment=掛載 /dev/sdb1 到 /mnt/usb
Exec=sh -c 'if mountpoint -q /mnt/usb; then notify-send "已掛載" && gio open /mnt/usb; else pkexec mount /mnt/usb && notify-send "掛載成功" && gio open /mnt/usb; fi'
Icon=drive-removable-media-usb
Terminal=false
Categories=System;

同理建立 `umount-usb.desktop` 執行 `pkexec umount /mnt/usb`。

常見問題排查

進階:udev 規則實現真正即插即用自動掛載

# /etc/udev/rules.d/99-usb-mount.rules
ACTION=="add", KERNEL=="sd[a-z][0-9]", SUBSYSTEM=="block", ENV{ID_FS_USAGE}=="filesystem", RUN+="/usr/local/bin/usb-mount.sh %k"
ACTION=="remove", KERNEL=="sd[a-z][0-9]", SUBSYSTEM=="block", RUN+="/usr/local/bin/usb-umount.sh %k"

配合 systemd mount unit 或腳本處理掛載/卸載、桌面通知、檔案管理器開啟,實現完整自動化。

最佳實踐: 桌面環境(GNOME/KDE/XFCE)內建 udisks2 + GVFS 已完美支援圖形化自動掛載。僅在無桌面環境(Server、嵌入式)或需特殊權限控制時,才需手動配置 fstab/udev。
Copyright © Windows教程網 All Rights Reserved
問題原因解決
Permission denied掛載選項缺 uid/gid 或 ntfs-3g 未安裝加上 uid=1000,gid=1000;安裝 ntfs-3g/exfat-fuse
中文檔名亂碼缺 utf8 選項或檔案系統編碼不符vfat 加 utf8;ntfs-3g 通常自動處理
開機卡住/進入急救模式fstab 設備不存在且無 noauto改用 UUID + noauto,或加 nofail 參數
卸載失敗 target is busy有程式正在存取掛載點`lsof /mnt/usb` 找出程式關閉;或 `umount -l` 延遲卸載