Ubuntu内核与模块管理全攻略
1. 强制加载模块
在Ubuntu中,有时会遇到加载模块失败的情况,比如模块编译时使用的内核版本与当前运行的内核版本不同,以NVIDIA显卡模块为例。这时可以使用以下命令强制加载模块:
# insmod -f nvidia若内核产生错误信息,在这种情况下可以忽略。另外,在某些场景下,如手动加载扫描仪模块并传递供应商ID时,由于扫描仪不被GPL扫描程序支持,不在查找列表中,所以无法自动检测和加载该模块。不过,加载模块后,该扫描仪可与闭源应用程序配合使用。由此可见,虽然自动模块管理很方便,但有时还是需要直接操作模块。
2. 何时重新编译内核
Ubuntu系统使用的是改进版的Linux内核(即打了补丁的内核),其中编译了额外的驱动程序和其他特殊功能。Ubuntu对所有发行版内核都有严格的测试期,并会定期发布更新版本。预编译的Ubuntu内核已尽可能多地包含了模块,以提供最大的灵活性,还可以使用sysctl程序对运行中的内核进行进一步调整,直接访问内核并更改一些内核参数。
大多数用户仅在以下几种情况下需要重新编译内核:
- 适配新的特殊硬件。
- 在Ubuntu尚未提供预编译内核时进行系统更新。
- 测试系统功能。
Ubuntu为Athlon和Pentium处理器、单处理器和多处理器主板以及企业级系统(更高安全性,使用4GB内存)提供了多个预编译版本的内核,可通过Synaptic或apt-cache search <