You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows的两个不同WSL2实例间访问同一文件?

如何在Windows的两个不同WSL2实例间访问同一文件?

嗨,这个问题我刚好碰到过,其实不用折腾Samba,有几个更简单的办法,完全能满足你的需求:

方法一:借助Windows共享目录(最省心)

这是我最推荐的方案,因为WSL2本身就默认挂载了Windows的文件系统,两个实例都能直接访问,不用配置任何网络:

  • 先在Windows系统里创建一个共享文件夹,比如 C:\WSLShared,记得给两个Windows用户都设置读写权限(因为你的两个WSL分别属于不同用户)。
  • 打开第一个WSL实例,直接通过路径 /mnt/c/WSLShared 访问这个文件夹,把需要共享的文件放进去就行。
  • 打开第二个WSL实例,同样访问 /mnt/c/WSLShared,就能直接读写同一个文件了。

小贴士:如果觉得 /mnt/c/xxx 路径太长,可以在WSL里用 ln -s /mnt/c/WSLShared ~/shared 创建一个软链接,以后直接用 ~/shared 就能快速访问。

方法二:通过SSH挂载WSL内部目录(适合不想用Windows目录的场景)

如果你更倾向于在WSL内部的目录共享,也可以用SSHFS挂载:

  1. 在其中一个WSL实例(比如WSL A)里安装OpenSSH服务:
    sudo apt update && sudo apt install openssh-server
    
  2. 修改SSH配置,允许密码登录(默认可能禁用了):
    sudo nano /etc/ssh/sshd_config
    
    找到 PasswordAuthentication 这一行,改成 PasswordAuthentication yes,保存退出。
  3. 重启SSH服务:
    sudo service ssh restart
    
  4. 获取WSL A的IP地址:
    在WSL A里运行:
    ip addr show eth0 | grep inet | awk '{print $2}' | cut -d/ -f1
    
    或者在Windows命令行里指定WSL名称查询:
    wsl -d <你的WSL_A名称> hostname -I
    
  5. 在另一个WSL实例(WSL B)里安装SSHFS:
    sudo apt update && sudo apt install sshfs
    
  6. 创建挂载点并挂载WSL A的目录:
    sudo mkdir /mnt/wsl_shared
    sudo sshfs <WSL_A的用户名>@<WSL_A的IP>:/home/<WSL_A的用户名>/shared /mnt/wsl_shared
    
    输入WSL A的用户密码后,就能在 /mnt/wsl_shared 里访问WSL A的共享目录了。

为什么不推荐Samba?

主要是因为WSL2的IP地址每次重启都会变化,配置Samba后还得每次更新IP,太麻烦。上面的两种方法要么不用网络,要么配置一次就能用(如果觉得IP变麻烦,还可以给WSL设置静态IP,但没必要,方法一足够简单)。

备注:内容来源于stack exchange,提问作者leeand00

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 06:24:30