解決mount cifs時出現"is not a valid block device"的問題
最近在 Linux (CentOS 5.5) 測試要掛載 CIFS時遇上了奇怪的問題, 這邊假設我們要掛載的 CIFS 資料夾是 //10.0.0.1/aaa/bbb, 其中 //10.0.0.1/aaa 是設定分享的資料夾,而 bbb 則是其中的子資料夾, 此時如果要直接掛載 //10.0.0.1/aaa/bbb,可能就會遇上以下錯誤: [root@localhost ~]# mount -t cifs //10.0.0.1/aaa/bbb /mnt -o user=u,pass=p mount: //10.0.0.1/aaa/bbb is not a valid block device 此時若下dmesg | tail,就會看到這樣的錯誤: [root@localhost ~]# dmesg | tail CIFS VFS: cifs_mount failed w/return code = -6 然而相同的指令,直接掛載分享的 //10.0.0.1/aaa 資料夾卻可以成功: [root@localhost ~]# mount -t cifs //10.0.0.1/aaa /mnt -o user=u,pass=p [root@localhost ~]# 在仔細比對指令除了資料夾路徑外沒有差別後,我開始找資料看到底是哪兒發生錯誤, 最後找到這篇: mount: //10.52.0.102/Jim/dpc is not a valid block device 其中最關鍵的一句在這兒: Hi, I would assume that you need to modify the XP share to point to the Jim/dpc, not only dpc. (or add a 2nd share for the Jim/dpc). I believe you can only directly mount what is shared, but not any contents of that share. 也就是說在預設的情況下我們只能直接掛載分享的那個資料夾,而不能掛子資料夾。 雖然知道預設不能掛子資料夾,但這也太麻煩了吧! 所以又找了一些資料,後來查到只要安裝特定的套件即可...