[Linux] 用 mount 指令掛載 Windows 共享目錄時,指定 SMB 版本
最近遇到一個問題,
以前用 mount 掛載 Windows 上的一個共享目錄 (shared folder),都沒有問題,
但最近在新的機器上掛載,就一直不成功,
除了 mount 指令會等待很久才失敗外,
還會出現莫名其妙的 Host is down 的錯誤訊息 (明明機器有開機):
root@localhost / # mount -t cifs //10.1.2.3/c$ -o username=testuser -o password=testpass mnt mount error(112): Host is down Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
同事們研究了一下,問題都發生在新 Linux kernel 去掛載 Windows XP 的場景。
應該是以前的 Linux kernel 的 mount 預設使用 SMB 1.0,
但新版的預設使用 SMB 2.0 以上,
導致只看的懂 SMB 1.0 的 Windows XP 無法連線…
解決方法,就是在 mount 指令中加上 vers=1.0 的版本指定囉:
mount -t cifs //10.1.2.3/c$ -o username=testuser -o password=testpass -o vers=1.0 mnt
加上這個參數之後,掛載 Windows XP 就沒有問題了~
參考資料:ubuntu – Linux Force Default Mount CIFS Version to 3.0 – Super User
(本頁面已被瀏覽過 6,303 次)