Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 掛載大全:ISO 鏡像、USB 硬碟、隨身碟、Windows/SMB 與 NFS 網路共享完整指南

編輯:Linux 教學

Linux 的 mount 機制極具彈性,可掛載本地區塊裝置、循環裝置(ISO)、網路檔案系統(SMB/CIFS、NFS)等多種資源。本文系統整理掛載語法與常用檔案系統類型,並針對光碟鏡像、移動硬碟、隨身碟、Windows 共享資料夾、UNIX/Linux NFS 共享五大場景提供完整操作步驟與權限處理技巧。

mount 指令核心語法

mount [-t vfstype] [-o options] device dir
  • -t vfstype:指定檔案系統類型(常見:iso9660、vfat、ntfs、smbfs/cifs、nfs、ext4)
  • -o options:掛載選項(loop 掛載檔案、ro/rw 唯讀/讀寫、iocharset=cp936 中文編碼、username=...,password=... SMB 認證)
  • device:來源裝置或網路路徑(如 /dev/sdb1、/path/file.iso、//10.0.0.1/share、10.0.0.1:/export/data)
  • dir:掛載點(預先建立的空目錄,如 /mnt/usb)

場景一:掛載 ISO 光碟鏡像

# 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(目錄打包)

場景二:掛載 USB 移動硬碟 / 隨身碟

  1. 插入裝置前後執行 lsblk 或 fdisk -l 確認新裝置代號(通常為 /dev/sdX 或 /dev/sdXn)。
  2. 依檔案系統掛載:
# 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(舊環境)。

場景三:掛載 Windows/SMB 網路共享

需安裝 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。

場景四:掛載 NFS 網路共享

伺服端設定(Linux)

# /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 避免網路中斷導致進程掛起。

權限映射進階:all_squash 與 anonuid/anongid

當伺服端與客戶端 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 診斷

開機自動掛載(/etc/fstab 範例)

# 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 下靈活、安全地掛載與存取。

Copyright © Windows教程網 All Rights Reserved