我无法重新加载内核模块来尝试新标志。
示例:thinkpad_acpi
默认为不带fan_control=1
.因此,如果我的计算机运行得非常热并且风扇没有全速运转,有时可以暂时加载模块并将fan_control
风扇设置为尽可能最高的速度几分钟,然后将所有内容更改回正常状态。
这是不可能的,因为似乎某些内核模块依赖于其他模块,并且现代 Linux 内核似乎正在检查这一点。
那么到目前为止我做了什么:
- 检查依赖关系
modinfo -F depends thinkpad_acpi
- 尝试卸载这些模块
rmmod
或者modprobe -r $dependencies
- 有些模块再次依赖于其他模块,也尝试卸载它们。不起作用,即使没有“依赖关系”(或者至少 modinfo 告诉我这一点)
- 谷歌很多
modprobe: FATAL: Module x is in use.
- 阅读tldp
答案1
如果在内核中启用了强制卸载(zgrep FORCE_UNLOAD /proc/config.gz
如上所示=y
),您可以rmmod -f
对有问题的内核模块进行强制卸载。
根据启用此功能的补丁,这仅适用于内核开发人员和绝望的人。
最好的方法可能是弄清楚模块被使用的原因以及通过哪个过程,但至少强制卸载应该可以再次重新加载模块。