[Linux] 用 mount 指令掛載 Windows 共享目錄時,指定 SMB 版本

[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 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料