在Windows Subsystem for Linux中挂载Windows共享

问题描述 投票:6回答:4

我想在WSL(Windows子系统Linux版)中安装Windows服务器。在Ubuntu(带有统一界面)我可以输入

gvfs-mount smb://domain\;user@server/share

一切都安装得很好。

如果我在WSL中尝试这个,那么我得到以下错误:

Error mounting location: volume doesn't implement mount
linux bash ubuntu mount windows-subsystem-for-linux
4个回答
15
投票

假设主机Windows操作系统可以访问“\ servername \ sharename”中的文件共享,请在bash中尝试此命令,不确定是否需要root:

mkdir /mnt/mountedshare
mount -t drvfs '\\servername\sharename' /mnt/mountedshare

单引号很重要!

使用SharePoint Online UNC路径为我工作。但权限很棘手。我可以浏览文件夹并查看文件名,无法读取文件。所以需要弄清楚权限的事情。如果你随处可见,请告诉我。


5
投票

实际上,如果您的Windows共享已经映射到Windows主机中的驱动器,它甚至可以更简单。让我们假设您已经在Z:上加载了该份额。在这种情况下,以下内容将起作用:

sudo mkdir /mnt/z
sudo mount -t drvfs 'Z:' /mnt/z

1
投票

虽然通过已在WSL中为您创建的/mnt/c为Windows主机创建了一个挂载,但如果要从另一台计算机挂载共享,则需要创建挂载点,例如:

sudo mkdir -p /mnt/somename

然后,您需要使用smb://在该挂载点安装远程共享的mount.cifs文件系统,例如:

sudo mount.cifs //server/sharename /mnt/somename

或者,您可能希望在/mnt/somename之后包含选项,例如

-o username=yourname,uid=YOURUID,noperm,password=yourpassforremoteshare

如果它是您尝试安装的较旧的WinXP共享,则需要通过包含NTLMv1sec=ntlm来启用sec=ntlm1身份验证。请参阅mount.cifs以进一步使用sec=选项。


0
投票

在WSL中(我使用的是Ubuntu),当你安装cifs-utils时它看起来就像是在安装时不会创建cifs需要的模块文件。键入:“modinfo cifs”,你会看到。无论如何,解决方法是在Windows中映射驱动器号,然后安装到该驱动器号,如上所述。谢谢gabuzo。

也许它的cifs-utils正在寻找模块文件的错误位置。或MS故意禁用它。他们不希望WSL太有用。

© www.soinside.com 2019 - 2024. All rights reserved.