WSL drvfs 挂载问题 — 无法识别用户映射?

WSL drvfs 挂载问题 — 无法识别用户映射?

我在 WSL(Win10 Linux 子系统)中安装驱动器时遇到了一些问题——请参阅有关不同驱动器上的安装错误的单独问题。

我在驱动器 W: 上本地安装了网络共享 - 并且我在 Windows 中具有读/写访问权限。

使用 drvfs 安装此驱动器可以正常工作:

$ sudo mount -t drvfs W: /mnt/w

但是 - 当我想要访问驱动器时:

(-/-)e514678@K46290:〜$ ls -l / mnt / w
ls:无法访问‘/mnt/w/bar’:权限被拒绝
ls:无法访问‘/mnt/w/baz’:权限被拒绝
ls:无法访问‘/mnt/w/foo’:权限被拒绝
共 0
d????????? ?? ? ? ? 酒吧
啊????????? ? ? ? ? ?巴兹
d????????? ?? ? ? ? foo
(-/-)e514678@K46290:〜$

再次 - 在 Windows 上,我可以访问驱动器及其上的子目录。使用 drvfs 安装后,我可以看到驱动器上的顶层条目,但它们似乎缺少用户和权限信息;因此我也无法从 linux 访问任何文件。

访问其他几个网络共享上的文件很顺利 - 但我不明白这个有什么不同。

关于这个网络卷可能有什么不同,有什么想法吗?(尝试使用特定的 uid/gid 挂载它没有帮助:'sudo mount -t drvfs -ouid=1000,gid=1000 W: /mnt/w' linux 仍然无法访问驱动器 - 出现同样的问题)。

答案1

我遇到过同样的问题。

我发现 WSL/etc/wsl.conf自 Windows Build 17093 开始引入。请在此处阅读详细信息:https://docs.microsoft.com/en-us/windows/wsl/wsl-config#configure-per-distro-launch-settings-with-wslconf

这是一个可能解决您的问题的简单示例:

$ cat /etc/wsl.conf
[automount]
enabled=true
options=metadata,uid=1000,gid=1000,umask=022

我从这里找到了上面的例子:WSL 挂载文件权限

创建或修改文件后,需要重新启动WSL。

相关内容