我的家庭实验室中运行着许多 Linux 基础架构。用户主目录位于专用的 NAS VM 上,该 VM 通过 NFS 和 SMB 导出这些目录。我想与 WSL 共享同一个主目录,但所有选项似乎都有些不尽如人意。
WSL 1:
WSL 1 的自定义内核中显然没有 CIFS 或 NFS,因此根本无法使用它们。我进行了大量搜索,据我所知,除了“切换到 WSL 2”之外,没有其他解决方案。但是,您可以使用 drvfs 将 Windows 中的共享文件夹挂载到 WSL 发行版中。不幸的是,当您对主目录执行此操作时可怕的问题随之而来。我尝试过映射网络驱动器和直接使用共享。还有恼人的权限问题,例如所有文件都被设置为,0744
这意味着 ssh 不会使用我的密钥。
WSL 2:
WSL 2 有一个真正的 Linux 内核!太棒了!除了它作为(托管)虚拟机运行。嘘!好吧,其实也没那么糟糕,除了虚拟机是短暂的,在重新启动时会被销毁/重新创建。这真的很重要,因为虚拟网卡会获得一个随机范围内的随机 IP 地址,而不是使用主机 IP。你可以更改它,但每次启动时都必须这样做。我确实找到了一个Powershell 脚本我可以在启动时运行它来潜在地解决这个问题。
我遗漏了什么吗?有没有更简单的方法来处理这个问题?我几乎每天都使用 WSL/Windows Terminal 通过 ssh 进入我的 Linux 基础架构并使用各种 git 存储库(我在 Windows 中通过映射的网络驱动器打开文件,然后在 WSL 中调试/运行)。