当我运行lsmod
or 时sudo lsmod
,我收到一条错误消息:
libkmod: ERROR ../libkmod/libkmod-module.c:1655 kmod_module_new_from_loaded: could not open /proc/modules: No such file or directory
Error: could not get list of modules: No such file or directory
我在很多论坛上进行了搜索,但无法找到解决方案。我在 Linux 的 Windows 子系统上运行 Debian。
我最近还尝试编辑该sysctl.conf
文件以禁用ipv6。我添加了以下几行:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
当我尝试时sudo sysctl -p
,它返回了这个错误:
sysctl: cannot stat /proc/sys/net/ipv6/conf/all/disable_ipv6: No such file or directory
sysctl: cannot stat /proc/sys/net/ipv6/conf/default/disable_ipv6: No such file or directory
sysctl: cannot stat /proc/sys/net/ipv6/conf/lo/disable_ipv6: No such file or directory
我不确定以上两个错误是否有关联。我试图在 Windows 上运行 Linux shell。有什么解决办法吗?
答案1
在这两种情况下,您都在尝试与内核交互。任何在 WSL 上运行的 Linux 环境都不是运行 Linux 内核,而是运行在 Windows 内核上;因此与 Linux 内核相关的任何东西(包括模块和系统控制)都将不起作用。
在 IPv6 情况下,您需要使用 Windows 工具配置网络。
答案2
与 WSL 不严格相关,但如果您的内核是在没有可加载模块支持的情况下编译的,您会看到此错误。
如果没有模块支持,/proc/modules
则不存在,而这是lsmod
其大部分信息所依赖的。
如果您正在编译自己的内核,则要查找的选项是 CONFIG_MODULES。
答案3
我收到此错误是因为我尝试在 WSL 中进行 nfs 安装。您可以使用 Windows 连接到驱动器,然后将它们安装到 WSL 中。
sudo mount -t drvfs G: /mnt/g
对于我从哪里得到的完整答案: https://superuser.com/questions/1128634/how-to-access-mounted-network-drive-on-windows-linux-subsystem/1261563#1261563