Linux驱动文件在哪个文件夹

来源:APP编程网作者:小宵头衔:网络博主
导读:本期聚焦于小伙伴创作的《Linux驱动文件在哪个文件夹》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《Linux驱动文件在哪个文件夹》有用,将其分享出去将是对创作者最好的鼓励。

Linux驱动文件的存放位置与驱动的类型、加载方式以及系统配置密切相关,不同类型的驱动对应不同的存放目录,下面分场景详细介绍。

Linux驱动文件在哪个文件夹

编译进内核的驱动存放位置

部分驱动在编译Linux内核时就被直接编译进内核镜像,这类驱动不会以独立文件的形式存放在文件系统中,而是和内核镜像融为一体。内核镜像通常存放在/boot目录下,文件名一般为vmlinuz-版本号或者bzImage,这类驱动随着内核启动直接加载,无法通过常规的文件路径单独找到对应的驱动文件。

动态加载的内核模块驱动存放位置

大部分驱动是以内核模块的形式存在的,这类驱动的默认存放目录是/lib/modules/内核版本号/,我们可以通过uname -r命令先获取当前系统的内核版本号,再进入对应目录查看驱动文件。

该目录下的子目录按照驱动的功能分类存放,常见的子目录如下:

  • kernel/drivers/:存放绝大多数硬件设备的驱动,比如显卡、网卡、存储设备等驱动都在这个目录下,下面还会细分net/scsi/usb/等子目录。
  • kernel/fs/:存放文件系统相关的驱动,比如ext4、xfs等文件系统的驱动模块。
  • kernel/net/:存放网络协议相关的驱动模块。

我们可以通过以下命令查看当前内核版本,并进入驱动目录:

# 查看当前内核版本
uname -r
# 假设输出的内核版本是5.4.0-100-generic,进入对应驱动目录
cd /lib/modules/5.4.0-100-generic/kernel/drivers
# 查看当前目录下的驱动文件,驱动模块文件后缀为.ko
ls *.ko

第三方外置驱动的存放位置

部分第三方硬件厂商提供的闭源驱动,或者用户自己编译的测试驱动,可能不会放到默认的/lib/modules目录下,常见的存放位置有:

  • 用户自定义的目录,比如/opt/drivers//usr/local/drivers/等,这类驱动需要手动指定路径加载。
  • 如果是通过包管理器安装的第三方驱动,可能会存放在/usr/lib/或者/usr/share/下的对应厂商目录中。

如何快速查询指定驱动的路径

如果我们已经知道驱动的名称,可以通过以下命令快速查询驱动的存放路径:

使用modinfo命令查询

modinfo命令可以查看内核模块的详细信息,包括存放路径,前提是驱动已经被系统识别。

# 查询e1000网卡驱动的路径,e1000是驱动名称
modinfo e1000
# 输出中filename字段就是驱动文件的完整路径,类似/lib/modules/5.4.0-100-generic/kernel/drivers/net/ethernet/intel/e1000/e1000.ko

使用find命令全局搜索

如果不知道驱动的准确名称,也可以使用find命令全局搜索驱动文件,驱动模块的后缀是.ko,可以基于此搜索。

# 从根目录开始搜索名为e1000.ko的驱动文件
find / -name "e1000.ko" 2>/dev/null
# 2>/dev/null是为了忽略没有权限访问的目录的错误输出

驱动加载与路径的关系

当我们使用insmod命令加载驱动时,需要指定驱动的完整路径,比如加载/opt/drivers/test.ko驱动:

# 加载指定路径的驱动模块
insmod /opt/drivers/test.ko

如果使用modprobe命令加载驱动,系统会自动到/lib/modules/内核版本号/目录下查找对应的驱动文件,不需要指定完整路径:

# 加载e1000驱动,系统自动到默认目录查找
modprobe e1000

Linux驱动驱动路径内核模块/lib/modules驱动存放目录修改时间:2026-06-23 16:54:22

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。