【问题标题】:NFS client under WSL - mount.nfs: No such deviceWSL 下的 NFS 客户端 - mount.nfs:没有这样的设备
【发布时间】:2017-10-12 15:35:10
【问题描述】:

尝试挂载 nfs 导出时出现以下错误。

sudo mount 192.168.1.175:/mnt/nas /mnt/c/nas
mount.nfs: No such device

关于如何解决这个问题的任何想法?

【问题讨论】:

标签: nfs windows-subsystem-for-linux


【解决方案1】:

该错误表示 nfs 内核模块未正确加载,并且 还要验证服务器“192.168.1.175”上是否存在导出的路径“/mnt/nas”。

【讨论】:

【解决方案2】:

首先,我们了解nfs是tctp/ip协议之一,所以需要一个客户端和一个服务器,所以我们的目的是将windows或wsl上的一个dir共享给另一个linux,也就是说windows或wsl是一台服务器,大家对wsl nfs的看法都是对的,如果我们使用里面的wsl nfs就不行了,我们可以在windows上创建另一个nfs服务器而不是wsl,并正确配置共享目录,我们可以在wsl上找到目录,例如/mnt/d/WORK/tftpserverDir,之后就可以挂载成功了。这些是我的建议:

  1. 在 Windows 上创建一个 nfs 服务器 我从这里下载:

    https://www.hanewin.net/nfs-e.htm

  2. 在导出文件中配置共享目录

    D:\WORK\tftpserverDir -name:nfsroot -umask:000 -public -mapall:0

  3. 在你的 dst linux 上挂载共享目录

mount -t nfs -o nolock -o tcp -o rsize=32768,wsize=32768 172.10.10.80:/nfsroot /sdcard/mnt

【讨论】:

    【解决方案3】:

    截至 2020 年 10 月:您可以使用 wsl2 挂载 nfs,但 wsl2 本身需要可用的硬件虚拟化。见这里:https://github.com/microsoft/WSL/issues/5838

    【讨论】:

      【解决方案4】:

      如果您像我一样卡在 WSL1 上,您可以通过在 Windows 中映射驱动器来解决此问题。使用 Map Network Drive 功能并为您的 nfs 挂载创建一个驱动器号,例如G:

      现在在 WSL 中,您可以挂载该驱动器号:

      sudo mkdir /mnt/g
      sudo mount -t drvfs G: /mnt/g
      

      来自:How to Mount Windows Network Drives in WSL

      我没有像这样测试映射到 WSL 的驱动器的访问速度,但我预计它会很慢!

      【讨论】:

        猜你喜欢
        • 2015-07-24
        • 2015-06-08
        • 1970-01-01
        • 2011-01-27
        • 2020-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多