lsmod 给出错误:在 WSL 上运行的 Debian 上“无法获取模块列表”

lsmod 给出错误:在 WSL 上运行的 Debian 上“无法获取模块列表”

当我运行lsmodor 时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

相关内容