WSL下的NFS客户端 - mount.nfs:没有这样的设备

时间:2017-05-13 11:25:27

标签: nfs windows-subsystem-for-linux

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

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

有关如何解决此问题的任何想法?

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

如果像我一样,你被困在 WSL1 上,你可以通过在 Windows 中映射驱动器来解决这个问题。使用映射网络驱动器功能并为您的 nfs 挂载创建一个驱动器号,例如格:

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

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

来自:How to Mount Windows Network Drives in WSL

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

答案 2 :(得分:0)

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

答案 3 :(得分:-1)

首先,我们了解nfs是tctp / ip协议之一,因此需要一个客户端和一个服务器,因此我们的目的是将Windows或wsl上的目录共享到另一个linux,这意味着Windows或wsl是一个服务器,你们对wsl nfs都是正确的,如果我们在内部使用wsl nfs,它是行不通的,我们可以在Windows而不是wsl上制作另一个nfs服务器,并配置共享目录,这样我们就可以在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