Linux

無法在 Windows 上訪問 SMB 共享,但可以在 Linux 上訪問

  • May 11, 2016

我最近設置的 Samba 共享存在一些問題。

共享的配置如下:

[data]
path = /media/data
available = yes
valid users = admin
read only = no
browseable = yes
public = yes
writable = yes

我已經能夠通過 訪問 Linux 和 OS X 上的共享smbclient,但在 Windows 上出現“無法訪問”錯誤(0x80070002,系統找不到指定的文件)。我在 Windows 上使用的語法是\\<server-ip>\data,但\\<server-ip>\media\data也不起作用。

**更新:**我設法通過 Cygwin 在 Windows 上編譯 Samba 並smbclient在它下工作,但我仍然無法通過 Windows 上的本機客戶端連接到共享。

**更新 2:**部分突破!問題出在系統資料庫項 上,ProviderOrderWindows 使用該系統資料庫項來確定要使用的 SMB 客戶端。之前的 NFS 實驗稍微改變了我的。為了修復它,我設置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order\ProviderOrder了以下內容vmhgfs,hgfs,LanmanWorkstation,RDPNP:這讓我到了登錄提示,之後又出現了另一個錯誤,0x800704cf。

**更新 3:**成功!這裡出現問題的組件是我的適配器的“Microsoft 網路客戶端”包。安裝後,我所要做的就是重置適配器並且我的共享無縫連接。

我設法解決了我的問題。

有兩個組件有問題:ProviderOrder系統資料庫項和缺少的適配器包。

故障一:

Windows 上的 SMB 查看ProviderOrder系統資料庫項HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order\以確定要使用的 SMB/CIFS 實現。如果沒有實現或列出不正確的實現,Windows 將放棄。要修復它,只需將此字元串附加到已在ProviderOrder:中的字元串mhgfs,hgfs,LanmanWorkstation,RDPNP

故障二:

就我而言,我的適配器似乎只是出於某種原因禁用了“Microsoft 網路客戶端”。要在任何適配器上啟用它,請轉到網路和共享中心,點擊“更改適配器設置”,然後右鍵點擊活動適配器上的“屬性”。從那裡,選擇“安裝…”,然後在“客戶端”上選擇“添加…”。只需從出現的視窗中選擇“Microsoft 網路客戶端”,然後點擊“確定”。然後,重置您的適配器或重新啟動。

引用自:https://serverfault.com/questions/620558