已删除的驱动程序仍可在 Linux 上加载

已删除的驱动程序仍可在 Linux 上加载

在我的 Centos 6.8 系统上,这是我的nvme司机:

/lib/modules/$(uname -r)/kernel/drivers/block/nvme.ko

Linux 启动时,此驱动程序会自动加载。运行lsmod显示此驱动程序已加载并使用,modprobe -r或者rmmod我可以卸载该驱动程序。因此nvme是一个可加载模块,并未内置于内核。

我删除了nvme.ko文件并重新启动了系统。运行modinfo nvme显示找不到驱动程序,但驱动程序仍在加载!lsmod检测到驱动程序,我可以卸载驱动程序。

以 root 身份,find /lib/modules -name nvme.ko未找到任何nvme系统上的驱动程序。

我知道我可以将驱动程序列入黑名单,这样它就不会加载,但我真正想知道的是:由于驱动程序不再存在,Linux 在哪里找到它?

答案1

您是否尝试过将该模块列入黑名单?

blacklist nvme您可以通过在文件中添加一行来实现 /etc/modprobe.d/blacklist-nvme.conf

也可以看看https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/rescuemode_drivers-blacklisting.html

相关内容