一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Linux 如何使用 modprobe 手动加载指定的内核模块

时间:2026-08-07 11:36:49 编辑:袖梨 来源:一聚教程网

modprobe 是最常用且安全的内核模块加载方式,自动处理依赖、路径查找和签名验证;需确保模块已安装于 /lib/modules/$(uname -r)/kernel/ 下,可用 modprobe -n -v 或 ls 命令确认存在;加载时省略 .ko 后缀,支持传入参数(需与 modinfo 输出一致),成功后通过 lsmod 和 dmesg | tail -10 验证。

直接用 modprobe 加载指定内核模块是最常用也最稳妥的方式,它会自动处理依赖、查找路径、验证签名(如启用),比 insmod 更安全可靠。

确认模块是否存在且可用

模块必须已安装在标准路径下(通常是 /lib/modules/$(uname -r)/kernel/),否则 modprobe 找不到它:

  1. 运行 ls /lib/modules/$(uname -r)/kernel/ | grep -i 模块名,比如 grep -i fuse
  2. 或用 modprobe -n -v 模块名-n 表示模拟执行,-v 显示详细路径)查看是否能定位到模块文件
  3. 若提示 Module xxx not found in directory,说明模块未安装或内核版本不匹配

基础加载命令

加载单个模块,只需模块名(不含 .ko 后缀):

  1. sudo modprobe fuse —— 加载 FUSE 文件系统支持
  2. sudo modprobe br_netfilter —— 加载网桥 netfilter 支持
  3. 成功后不会输出任何信息,可立即用 lsmod | grep fuse 验证是否在列表中

带参数加载模块

很多驱动或功能模块支持运行时参数,可在加载时一并传入:

  1. sudo modprobe usb_storage delay_use=1 —— 设置 USB 存储设备延迟识别时间
  2. sudo modprobe igb InterruptThrottleRate=1500 —— 调整 Intel 网卡中断节流率
  3. 参数名和取值需与模块的 modinfo -F parm 模块名 输出一致,否则会被忽略或报错

验证加载结果

仅看 lsmod 不够,有些模块加载失败但残留条目,应结合内核日志判断真实状态:

  1. 加载后立刻执行 dmesg | tail -10,查找类似 fuse: init (API version 7.34)br_netfilter: loaded 的成功提示
  2. 若出现 Unknown symbolFailed to load,说明依赖缺失或符号版本不匹配
  3. 也可用 modinfo 模块名 查看模块签名、许可证、作者等元信息,辅助排查

热门栏目