Linux 的 mount 機制極具彈性,可掛載本地區塊裝置、循環裝置(ISO)、網路檔案系統(SMB/CIFS、NFS)等多種資源。本文系統整理掛載語法與常用檔案系統類型,並針對光碟鏡像、移動硬碟、隨身碟、Windows 共享資料夾、UNIX/Linux NFS 共享五大場景提供完整操作步驟與權限處理技巧。
mount [-t vfstype] [-o options] device dir
iso9660、vfat、ntfs、smbfs/cifs、nfs、ext4)loop 掛載檔案、ro/rw 唯讀/讀寫、iocharset=cp936 中文編碼、username=...,password=... SMB 認證)/dev/sdb1、/path/file.iso、//10.0.0.1/share、10.0.0.1:/export/data)/mnt/usb)# 1. 建立掛載點
mkdir -p /mnt/vcdrom
# 2. 以 loop 方式掛載(自動偵測 iso9660)
mount -o loop /home/user/mydisk.iso /mnt/vcdrom
# 3. 卸載
umount /mnt/vcdrom
製作 ISO 小技巧:
dd if=/dev/cdrom of=mydisk.iso(逐軌複製)
mkisofs -r -J -V "LABEL" -o mydisk.iso /path/source_dir(目錄打包)
lsblk 或 fdisk -l 確認新裝置代號(通常為 /dev/sdX 或 /dev/sdXn)。# NTFS 分區(需安裝 ntfs-3g)
mount -t ntfs-3g -o iocharset=utf8 /dev/sdc1 /mnt/usbhd1
# FAT32 分區
mount -t vfat -o iocharset=utf8,umask=000 /dev/sdc5 /mnt/usbhd2
# Linux 原生 ext4 分區
mount /dev/sdc1 /mnt/usbhd1
若中文檔名亂碼,加上 iocharset=utf8(現代發布版預設 UTF-8)或 iocharset=cp936(舊環境)。
需安裝 cifs-utils 套件。現代核心建議使用 cifs 而非舊有 smbfs。
mkdir -p /mnt/samba
mount -t cifs -o username=admin,password=pass,iocharset=utf8,vers=3.0 //10.140.133.23/c$ /mnt/samba
vers=3.0 指定 SMB 3.0 協定,提升安全與效能;舊版 Windows 可嘗試 vers=1.0 或 vers=2.1。/etc/samba/credentials 檔(chmod 600),掛載時用 credentials=/etc/samba/credentials。# /etc/exports
/export/home/sunky 10.140.133.23(rw,sync,no_subtree_check)
/export/home/sunky1 *(rw,sync,no_root_squash)
# 啟動服務
systemctl enable --now nfs-server rpcbind
exportfs -rv
mkdir -p /mnt/nfs
mount -t nfs -o rw,vers=4,soft,intr 10.140.133.9:/export/home/sunky /mnt/nfs
vers=4 使用 NFSv4(單一埠 2049,穿透防火牆較易);soft,intr 避免網路中斷導致進程掛起。
當伺服端與客戶端 UID/GID 不一致時,可在 /etc/exports 設定:
/home/jack *(rw,all_squash,anonuid=1818,anongid=1818)
all_squash:將所有客戶端用戶(含 root)映射為匿名用戶anonuid/anongid:指定匿名用戶對應的伺服端 UID/GID,實現跨機器同身分讀寫| 現象 | 可能原因 | 對策 |
|---|---|---|
| 中文檔名亂碼 | 編碼不匹配 | 加 iocharset=utf8 或 cp936;確認 locale 為 zh_TW.UTF-8 |
| NTFS 唯讀 | 缺 ntfs-3g 或 Windows 快速啟動殘留 | 安裝 ntfs-3g;Windows 關機執行 powercfg /h off |
| SMB 掛載失敗 | 協定版本/防火牆/權限 | 嘗試 vers=1.0/2.1/3.0;開放 445 埠;檢查共享/NTFS 權限 |
| NFS 掛載卡住 | 網路/防火牆/rpcbind | 用 soft,intr,timeo=10;確認 111/2049 埠通;rpcinfo -p server_ip 診斷 |
# ISO 鏡像
/home/user/mydisk.iso /mnt/vcdrom iso9660 loop,ro 0 0
# USB 硬碟(以 UUID 避免裝置代號漂移)
UUID=xxxx-xxxx /mnt/usbhd ntfs-3g defaults,nofail,x-systemd.automount 0 0
# SMB 共享
//10.140.133.23/c$ /mnt/samba cifs credentials=/etc/samba/cred,iocharset=utf8,vers=3.0,_netdev,noauto,x-systemd.automount 0 0
# NFS 共享
10.140.133.9:/export/home/sunky /mnt/nfs nfs defaults,vers=4,_netdev,noauto,x-systemd.automount 0 0
_netdev 告知 systemd 等待網路就緒;x-systemd.automount 實現首次存取自動掛載,避免開機卡住。
掌握上述技巧,無論是本地儲存裝置還是跨平台網路共享,都能在 Linux 下靈活、安全地掛載與存取。