Ubuntu内核模块管理完全指南(小白也能轻松掌握Linux内核模块加载与卸载)

来源:这里教程网 时间:2026-03-28 11:40:53 作者:

在使用 Ubuntu 或其他 Linux 系统时,你可能会遇到需要加载或卸载内核模块的情况。内核模块是 Linux 内核的可扩展组件,可以在系统运行时动态加载或卸载,而无需重启系统。本教程将手把手教你如何在 Ubuntu 中进行Ubuntu内核模块管理,即使是 Linux 新手也能轻松上手。

什么是内核模块?

内核模块(Kernel Module)是 Linux 内核的一部分,但不是直接编译进内核镜像中,而是以独立文件(通常以

.ko
结尾)的形式存在。它们可以按需加载,用于支持硬件驱动、文件系统、网络协议等功能。

常用命令概览

在 Ubuntu 中,管理内核模块主要依赖以下几个命令:

lsmod
:列出当前已加载的模块
modprobe
:加载或卸载模块(推荐方式)
insmod
/
rmmod
:低级加载/卸载工具(不推荐新手使用)
modinfo
:查看模块详细信息

1. 查看已加载的模块(lsmod)

使用

lsmod
命令可以查看当前系统中所有已加载的内核模块。这是进行 lsmod查看模块 的标准方法。

$ lsmodModule                  Size  Used bynvidia_drm             57344  1nvidia_modeset       1114112  1 nvidia_drmnvidia              20230144  135 nvidia_modesetsnd_hda_codec_hdmi     61440  1...

2. 加载和卸载模块(modprobe)

modprobe
是最安全、最智能的模块管理工具。它会自动处理模块依赖关系。这是 modprobe使用教程 的核心部分。

加载模块:

$ sudo modprobe 模块名

卸载模块:

$ sudo modprobe -r 模块名

例如,加载

vboxdrv
虚拟机驱动模块:

$ sudo modprobe vboxdrv

3. 查看模块信息(modinfo)

在加载前,你可以用

modinfo
查看模块的详细信息,比如作者、版本、依赖项等:

$ modinfo vboxdrvfilename:       /lib/modules/5.15.0-76-generic/updates/dkms/vboxdrv.koversion:        6.1.38_Ubuntulicense:        GPLdescription:    Oracle VM VirtualBox Support Driverauthor:         Oracle Corporation...

4. 开机自动加载模块

如果你希望某个模块在系统启动时自动加载,可以将其添加到

/etc/modules-load.d/
目录下的配置文件中。

# 创建配置文件$ sudo nano /etc/modules-load.d/my-modules.conf# 在文件中写入要自动加载的模块名,每行一个vboxdrvnvidia

5. 黑名单模块(禁止加载)

有时你需要阻止某个模块自动加载(比如冲突的显卡驱动),可以将其加入黑名单:

# 编辑黑名单文件$ sudo nano /etc/modprobe.d/blacklist.conf# 添加一行blacklist 模块名# 例如:blacklist nouveau

修改后需更新 initramfs 并重启生效:

$ sudo update-initramfs -u$ sudo reboot

总结

通过本教程,你应该已经掌握了基本的 Ubuntu内核模块管理 技能。记住:

优先使用
modprobe
而不是
insmod/rmmod
lsmod
查看当前加载状态 用
modinfo
了解模块详情 通过配置文件实现开机自动加载或禁用

这些操作不仅适用于 Ubuntu,也适用于大多数基于 Debian 的 Linux 发行版。掌握这些技能,你就能更灵活地控制系统行为,解决驱动冲突等问题。

祝你在 Linux 世界中探索愉快!

相关推荐

热文推荐