在使用 Ubuntu 或其他 Linux 系统时,你可能会遇到需要加载或卸载内核模块的情况。内核模块是 Linux 内核的可扩展组件,可以在系统运行时动态加载或卸载,而无需重启系统。本教程将手把手教你如何在 Ubuntu 中进行Ubuntu内核模块管理,即使是 Linux 新手也能轻松上手。
内核模块(Kernel Module)是 Linux 内核的一部分,但不是直接编译进内核镜像中,而是以独立文件(通常以 .ko 结尾)的形式存在。它们可以按需加载,用于支持硬件驱动、文件系统、网络协议等功能。
在 Ubuntu 中,管理内核模块主要依赖以下几个命令:
lsmod:列出当前已加载的模块modprobe:加载或卸载模块(推荐方式)insmod / rmmod:低级加载/卸载工具(不推荐新手使用)modinfo:查看模块详细信息使用 lsmod 命令可以查看当前系统中所有已加载的内核模块。这是进行 lsmod查看模块 的标准方法。
$ lsmodModule Size Used bynvidia_drm 57344 1nvidia_modeset 1114112 1 nvidia_drmnvidia 20230144 135 nvidia_modesetsnd_hda_codec_hdmi 61440 1... modprobe 是最安全、最智能的模块管理工具。它会自动处理模块依赖关系。这是 modprobe使用教程 的核心部分。
加载模块:
$ sudo modprobe 模块名 卸载模块:
$ sudo modprobe -r 模块名 例如,加载 vboxdrv 虚拟机驱动模块:
$ sudo modprobe vboxdrv 在加载前,你可以用 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... 如果你希望某个模块在系统启动时自动加载,可以将其添加到 /etc/modules-load.d/ 目录下的配置文件中。
# 创建配置文件$ sudo nano /etc/modules-load.d/my-modules.conf# 在文件中写入要自动加载的模块名,每行一个vboxdrvnvidia 有时你需要阻止某个模块自动加载(比如冲突的显卡驱动),可以将其加入黑名单:
# 编辑黑名单文件$ sudo nano /etc/modprobe.d/blacklist.conf# 添加一行blacklist 模块名# 例如:blacklist nouveau 修改后需更新 initramfs 并重启生效:
$ sudo update-initramfs -u$ sudo reboot 通过本教程,你应该已经掌握了基本的 Ubuntu内核模块管理 技能。记住:
modprobe 而不是 insmod/rmmodlsmod 查看当前加载状态modinfo 了解模块详情这些操作不仅适用于 Ubuntu,也适用于大多数基于 Debian 的 Linux 发行版。掌握这些技能,你就能更灵活地控制系统行为,解决驱动冲突等问题。
祝你在 Linux 世界中探索愉快!
本文由主机测评网于2025-12-07发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025124238.html