讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux怎么加载内核模块_Linux如何用modprobe加驱动【方法】

老墨大大_5783

老墨大大_5783

发布时间:2026-03-20 20:47:30

|

508人浏览过

|

来源于php中文网

原创

modprobe 找不到模块通常因路径、命名或依赖错误:需确认模块在 /lib/modules/$(uname -r)/ 下,运行 depmod -a 更新依赖,检查模块名与文件名一致、内核版本匹配(vermagic)、架构正确,probe 失败时查 dmesg 错误码。

linux怎么加载内核模块_linux如何用modprobe加驱动【方法】

modprobe 找不到模块怎么办

模块没被 modprobe 找到,通常不是驱动没编译,而是路径、命名或依赖没对上。Linux 不会自动扫描整个文件系统找 .ko 文件,它只查 /lib/modules/$(uname -r)/ 下预建的 modules.builtin、modules.dep 和子目录结构。

  • 先确认模块文件是否真在正确位置:find /lib/modules/$(uname -r) -name "xxx.ko"(把 xxx 换成你的模块名)
  • 如果手动拷贝过模块,必须运行 depmod -a 重建依赖数据库,否则 modprobe 完全无视它
  • 模块名不等于文件名:比如 usbserial.ko 的模块名是 usbserial,但有些带下划线的(如 8139cp.ko)加载时得写 modprobe 8139cp,不能写 8139-cp
  • modprobe 默认不看当前目录,./mymodule.ko 这种路径直接报 Module mymodule not found

加载时报 Invalid module format 错误

这是内核版本不匹配的典型信号——模块编译时用的内核头文件和当前运行的内核 $(uname -r) 不一致,哪怕只差一个补丁号(比如 6.1.0-12-amd64 vs 6.1.0-13-amd64)也会触发。

  • 检查模块内嵌的版本信息:modinfo ./mymodule.ko | grep ^vermagic,输出里必须和 cat /proc/sys/kernel/osrelease 完全一致
  • 如果用 DKMS 管理,确保已执行 dkms install -m mymodule -v 1.0 --force,而不是只 build
  • 交叉编译的模块(如 ARM 驱动在 x86 主机上编译)即使版本对得上,也会因架构标记失败,file mymodule.ko 能看出 ELF 架构

modprobe 加载后立刻卸载(无日志、无设备节点)

模块看似加载成功(lsmod | grep xxx 能看到),但几秒后消失,大概率是 probe 失败导致内核主动回滚。这种失败默认不打 dmesg,得主动抓。

  • 加 -v 参数观察详细流程:modprobe -v xxx,看最后卡在哪一步(比如停在 “Running hook” 或 “Loading dependency”)
  • 立即执行 dmesg | tail -20,重点找 xxx: probe of xxx failed with error -XX,常见错误码:-19(-ENODEV,没找到对应硬件)、-22(-EINVAL,参数错)、-16(-EBUSY,资源被占)
  • 某些模块(如 hid_generic)依赖其他模块先加载,modprobe --show-depends xxx 可验证依赖链是否完整

如何让模块开机自动加载

写进 /etc/modules 最简单,但它不处理参数和顺序;更可靠的方式是用 /etc/modprobe.d/ 下的配置文件。

  • 要传参数(比如 blacklist nouveau 或 options iwlwifi swcrypto=1),必须用 /etc/modprobe.d/my.conf,格式严格:options <module_name> <key>=<value>
  • blacklist 不等于卸载,只是阻止 modprobe 自动加载;已内置的模块(modules.builtin)无法用 blacklist 屏蔽
  • 如果模块依赖固件(.bin 文件),确保固件放在 /lib/firmware/ 对应路径下,否则加载会卡住并超时退出

真正麻烦的是那些 probe 阶段需要特定 PCI ID、ACPI 表或平台设备才肯活的模块——它们可能在 initramfs 里就该加载,而不是等根文件系统挂载后。这点容易被忽略,一重启就回退成“模块存在但设备没出来”。

驱动精灵
驱动精灵

驱动精灵基于驱动之家十余年的专业数据积累,驱动支持度高,已经为数亿用户解决了各种电脑驱动问题、系统故障,是目前有效的驱动软件,有需要的小伙伴快来保存下载体验吧!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

1749

2023.07.31

python中的format是什么意思
python中的format是什么意思

python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1211

2024.06.27

scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

989

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2960

2023.10.25

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

2745

2023.06.29

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

3961

2023.08.14

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

3051

2023.08.31

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

967

2023.09.05

Playwright 测试失败怎么办
Playwright 测试失败怎么办

Playwright测试失败专题汇集超时、定位器匹配、浏览器提前关闭、依赖与插件配置、文件上传、SSL及Docker启动等故障文章,并介绍通过截图、报告和Trace定位错误。

0

2026.10.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn