WSL通过sshfs挂载高校Ubuntu设备文件夹到Win10问题求助
问题1 挂载到WSL映射的Windows分区报错解决
你遇到的fusermount: mounting over filesystem type 0x01021997 is forbidden报错,是因为/mnt/f属于WSL自动挂载的Windows NTFS分区对应的DrvFs文件系统,FUSE默认禁止在这类已挂载的非Linux原生文件系统上二次挂载。
该问题有两种处理方式:
- 优先选择挂载到WSL内部的原生目录,处理权限问题后再通过
\\wsl$路径从Windows访问,也就是你第二个问题的场景,参考下文中的权限修复方案即可 - 若必须直接挂载到
/mnt/f对应的Windows分区路径,可在sshfs命令后追加参数-o allow_root,nonempty --no-same-owner,但该方案兼容性较差,不推荐使用
问题2 WSL内挂载后Windows资源管理器无权限解决
该问题是因为sshfs默认仅开放挂载命令执行用户的访问权限,Windows访问\\wsl$路径时的身份校验没有匹配到对应权限,按以下步骤操作即可修复:
- 修改WSL内的FUSE配置,执行命令
sudo nano /etc/fuse.conf,找到# user_allow_other行,删除开头的#号注释后保存退出 - 卸载已存在的挂载目录:
fusermount -u /home/user/wsl-localDir - 重新执行挂载命令,新增权限控制参数:
sshfs -o allow_other,umask=002,uid=1000,gid=1000 uni-pc:/home/xxx/folderToMount /home/user/wsl-localDir
注:将上述命令中的
uid和gid替换为你WSL当前用户的ID,可分别通过id -u、id -g命令查询;umask=002会给同组用户开放读写权限,刚好适配Windows访问\\wsl$的权限校验规则。
配置完成后即可在Windows资源管理器正常访问该挂载目录。
替代方案:直接在Windows系统层面挂载
如果不想通过WSL中转,可以直接在Windows原生环境完成sshfs挂载,兼容性更好:
- 先安装WinFsp(Windows平台的FUSE实现)和SSHFS-Win两个工具
- 确保Windows用户目录下的
.ssh\config文件已经配置好uni-pc的主机信息和proxyjump规则,和WSL内的ssh配置保持一致即可 - 打开Windows资源管理器,右键点击「此电脑」选择「映射网络驱动器」,在文件夹输入框填写
\\sshfs\uni-pc\home\你的高校设备用户名\folderToMount,点击确定后即可完成挂载,直接作为本地磁盘使用
内容的提问来源于stack exchange,提问作者Marcel Moczarski
相关产品推荐
相关产品推荐

