無法在 Windows 上訪問 SMB 共享,但可以在 Linux 上訪問
我最近設置的 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:**部分突破!問題出在系統資料庫項 上,
ProviderOrder
Windows 使用該系統資料庫項來確定要使用的 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 網路客戶端”,然後點擊“確定”。然後,重置您的適配器或重新啟動。