我正在尝试加载fuse
内核模块,但由于某种原因,它似乎没有被加载。但我也没有收到任何错误消息。有人可以向我解释一下发生了什么事吗?
root@my-host:~# modprobe fuse
root@my-host:~# echo $?
0
root@my-host:~# lsmod | grep fuse
root@my-host:~# modinfo fuse
modinfo: ERROR: Module fuse not found.
root@my-host:~# ls /lib/modules/$(uname -r)/kernel/fs/fuse/
cuse.ko
root@my-host:~#
我在云虚拟机上:
root@my-host:~# uname -r
4.15.0-213-generic
root@my-host:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.6 LTS
Release: 18.04
Codename: bionic
在运行这些命令之前,我还重新启动了主机,以确保正确的内核正在运行。
编辑:为了响应评论,我运行了这些命令:
root@my-host:~# grep fuse /lib/modules/$(uname -r)/modules.builtin
kernel/fs/fuse/fuse.ko
root@my-host:~# systemd-detect-virt
kvm
答案1
一般来说,如果加载模块成功,但该模块没有出现在lsmod
输出中,这是因为该模块是内置的 -IE它是主内核映像的一部分,并且始终可用。
要检查是否是这种情况,请查看/lib/modules/$(uname -r)/modules.builtin
:
grep fuse /lib/modules/$(uname -r)/modules.builtin
如果这显示与您期望的模块匹配的内核模块路径,则意味着相应的“模块”是内置的。
1 如果需要,许多内置模块仍然可以禁用,请参阅禁用在内核中编译的内核模块(未加载)。