安裝 DrvF

安裝 DrvF

我有一個 samba 驅動器,安裝在我的本機 Windows 電腦上。

/mnt/c在 WLS (Windows 10 Bash) 中有一個驅動器,但沒有/mnt/z.

有沒有辦法以某種方式存取它?我可以在 WSL 中重新安裝它嗎?

答案1

[更新 -顯然此功能可用於版本 16176。我還沒試過。

不,雖然可能有一些我還沒發現的技巧。適用於 Linux 的 Windows 子系統不裝載網路磁碟機。一位微軟員工表示這裡(在評論中):

我們此時僅「安裝」固定驅動器。目前不處理 USB/可移動/網路磁碟機。此功能已在我們的待辦事項中,但短期內不會實現。

所以不要屏住呼吸。

我嘗試使用符號連結來解決這個問題,如下所示:

c:> mklink /d c:\some\directory \\some_server\some_share

該連結在「普通」Windows(cmd.exe、PowerShell、檔案總管等)中運作得很好,但對 WSL 來說是不可見的:

$ ls -ld /mnt/c/some/directory
/mnt/c/some/directory not found

對於我自己的使用來說,這個限制是一個阻礙。我在網路磁碟機上有一些我不願意移動的東西。還有其他選擇;我正在使用 Cygwin。

答案2

發布的連結

安裝 DrvF

為了使用 DrvFs 掛載 Windows 驅動器,您可以使用常規 Linux 掛載命令。例如,要將可移動磁碟機D:掛載為/mnt/d目錄,請執行下列命令:

$ sudo mkdir /mnt/d
$ sudo mount -t drvfs D: /mnt/d

現在,您將能夠存取 D: 磁碟機 /mnt/d 下的檔案。例如,當您希望卸載驅動器以便安全地刪除它時,請執行以下命令:

$ sudo umount /mnt/d

安裝網路位置

當您希望掛載網路位置時,當然可以在 Windows 中建立映射網路磁碟機並按照上面的說明掛載它。但是,也可以使用 UNC 路徑直接安裝它們:

$ sudo mkdir /mnt/share
$ sudo mount -t drvfs '\\server\share' /mnt/share

請注意 UNC 路徑周圍的單引號;這些對於防止需要轉義反斜線是必要的。如果您沒有用單引號將 UNC 路徑引起來,則需要透過將反斜線加倍來轉義(例如\\\\server\\share)。

WSL 沒有任何方法來指定使用哪些憑證來連接到網路共用。如果需要使用不同的憑證連線到伺服器,請在 Windows 中透過導覽至檔案總管中的共用、使用 Windows 憑證管理員或 net use 命令來指定它們。可以透過互通性從 WSL 內部呼叫 net use 指令(使用 net.exe use)。鍵入 net.exe help use 以取得有關如何使用此命令的詳細資訊。

答案3

WSL2 支持CIFS(中小企業)協定.安裝時您可能需要指定您的網頁伺服器版本。例如在 Ubuntu 上:

$ sudo apt install cifs-utils
$ sudo mount -t cifs -o user=joe,pass=shmo,vers=1.0 //server/share /mnt/share

答案4

https://github.com/Microsoft/WSL/issues/2999#issuecomment-455835951

以下是基於WSL掛載GFS的方法讓“sshfs”在 WSL 上工作或尋找替代方案訣竅是使用https://www.nsoftware.com/sftp/netdrive/從 Windows ssh 到 GFS 並將其轉換為可以在 WSL 下掛載的檔案系統。

  1. Win10下安裝OpenSSH Server Win10 設定 -> 應用程式 -> 管理選用功能 -> 新增功能 -> OpenSSH Server 必要時重新啟動 開啟服務 -> OpenSSH -> 屬性 -> 啟動類型 -> 自動(延遲)

  2. 安裝並執行 SFTPNetDrive,以滑鼠右鍵按一下隱藏圖示中的圖示 -> 主視窗(或可能已開啟) -> 設定檔 -> 新設定檔(伺服器:localhost,使用者:*密碼:*磁碟機代號:F(或其他)進階->(協定->取消選取壓縮;指定資料夾:G:\)))

  3. 在 Bash (wsl) 中: sudo mkdir /mnt/f; sudo mount -t drvfs F:/mnt/f

我不確定它有多穩定,但我能夠在 WSL 中開啟檔案。

相關內容