不同於 Windows 的即插即用,Linux 核心預設不會自動掛載 USB 存儲裝置,需要使用者手動完成驅動加載、裝置識別與掛載操作。本文提供一套經實測可靠的標準流程,適用於 Red Hat 等主流發行版。
/mnt 下,例如 mkdir /mnt/usb。fdisk -l,通常識別為 /dev/sda1(視系統現有磁碟數量而定)。mount /dev/sda1 /mnt/usb
若為 FAT32 且需顯示中文檔名,加參數:mount -t vfat /dev/sda1 /mnt/usb -o iocharset=gb2312
umount /dev/sda1 或 umount /mnt/usb,否則極易造成資料遺失。若 lsmod | grep usb-storage 無輸出,表示核心模組未加載,請依序執行:
cd /lib/modules/$(uname -r)/kernel/drivers/usb
for v in *.o storage/*.o; do /sbin/insmod $v; done
隨後 lsmod 應顯示 usbcore、usb-ohci/uhci、usb-storage、scsi_mod 等模組,且 usb-storage 狀態為 unused。
插入 U 盤後,持續觀察 lsmod,usb-storage 狀態會變為 Initializing,約持續 30 秒(相當於 Windows 右下角彈出氣泡的過程)。初始化結束後再次執行 fdisk -l 確認 /dev/sda1 出現,即可掛載使用。
/etc/fstab:加入 /dev/sda1 /mnt/usb vfat defaults,iocharset=gb2312 0 0,以後僅需 mount /mnt/usb 即可。fdisk 看不見分區:實測仍可直接 mount 成功,屬於工具查詢時序問題,不影響使用。lsmod | grep usb-storage 確認模組存在modprobe usb-storage 手動加載fdisk -l 精確獲取裝置名(比猜測 sda1 更可靠)