如何从 Explorer.exe 访问 Linux 文件的 Windows 子系统?

How to access Windows Subsystem for Linux files from Explorer.exe?

我正在尝试使用 explorer.exe 访问我使用 WSL 终端创建的 structure/any 文件,但我在网上找到的任何指南都会进入死胡同。

如果我使用:

explorer.exe .

资源管理器window打开到system32,在那里我看不到任何wsl/linux/ubuntu相关文件。如果使用 explorer.exe [any file name],它会打开我的 windows 文档文件夹,但与 wsl 无关。

我发现的任何教程都说 explorer.exe . 应该只打开到根位置,但 system32 不是这样。我也无法在文件资源管理器中访问 \wsl$,这是几个指南推荐的,但这会导致 windows.

出现网络错误

我可以在资源管理器的网络选项卡中看到 WSL 桌面名称,但看不到任何文件结构,它只显示 "this folder is empty" 没有创建新文件或任何东西的选项。

请帮忙!

编辑澄清:

当处于 root (username@desktop:~$) 时,当我 运行 explorer.exe . 它打开我的 windows 安装的 system32 文件夹。当我在那里搜索 linux、wsl 之类的东西时,唯一出现的是 exe 文件或配置文件。没有文件夹。

最终编辑:

通过将 windows 更新为 windows 10 的 1903 版本之后的任何内容,此问题已得到解决。这样做之后,使用 explorer.exe . 效果很好。

我有点不清楚你在问什么,但如果你在 WSL bash shell 和 运行 命令 cmd.exe /c start . 你应该看到在您所在的目录中打开文件资源管理器。

damo@laptop:/mnt/c/Windows/System32$ pwd
/mnt/c/Windows/System32    
damo@laptop:/mnt/c/Windows/System32$ cmd.exe /c start .
  <opens file explorer in c:\Windows\System32>
damo@laptop:/mnt/c/Windows/System32$ cd ~
damo@laptop:~$ pwd
/home/damo
damo@laptop:~$ cmd.exe /c start .
  <opens file explorer in c:\Windows\System32>
damo@laptop:~$ cd /mnt/c/stuff
damo@laptop:~$ cmd.exe /c start .
  <opens file explorer in c:\stuff>

运行 下面创建一个别名 alias start='cmd.exe /c start 这将允许您从任何目录简单地 运行 start .

如果您问如何查看 windows 中的 linux 目录结构,建议是 "don't",您不应该乱用 linux 中的文件 windows 它会破坏 wsl 安装。我想当你在 /home/user/ 和 运行 start . 时,wsl 通过不让你进入 linux 文件来阻止你(保护你)。

希望这对您有所帮助,请告诉我。

此问题已通过将 windows 更新为 windows 10 的 1903 版本之后的任何内容来解决。这样做后,使用 explorer.exe . 将按预期工作。