Linux如何查看PCI设备信息?lspci教程详解
时间:2026-03-27 20:36:38 270浏览 收藏
本文全面详解了在Linux系统中查看PCI设备信息的七种核心方法,从基础的`lspci`命令快速识别显卡、网卡等硬件,到深入使用`sudo lspci -v`查看驱动绑定与资源分配,再到通过`lspci -nn`提取厂商/设备ID、`lspci -t`分析物理拓扑结构,并涵盖pciutils安装、sysfs实时验证驱动绑定及`modinfo`排查兼容性等实战技巧,帮助用户精准诊断硬件识别、驱动加载和扩展槽连接问题,是系统管理员、开发者及硬件调试人员不可或缺的Linux底层设备排查指南。

如果您需要在Linux系统中获取主板扩展槽上所连接的硬件设备详情,例如显卡、网卡、声卡或存储控制器等,则需依赖内核暴露的PCI子系统信息。以下是查看PCI设备信息的多种方法:
一、列出所有PCI设备基础信息
该方法通过lspci命令直接读取内核PCI数据库,输出每台设备的总线地址、类型、厂商与型号名称,无需管理员权限,适合快速确认设备是否存在。
1、打开终端,输入命令:lspci。
2、按回车执行,观察输出是否包含类似00:02.0 VGA compatible controller: Intel Corporation...的行。
3、若命令提示command not found,说明pciutils未安装,请跳转至“五、安装pciutils工具包”部分处理。
二、显示设备详细属性与驱动绑定状态
此方法可揭示设备使用的内核驱动名称、中断号(IRQ)、内存/IO端口映射、支持的模块列表及电源管理能力,需sudo权限以访问完整字段。
1、执行命令:sudo lspci -v。
2、在输出中查找目标设备(如含Network controller或VGA compatible controller的行),定位Kernel driver in use:后的内容,即当前激活驱动。
3、继续查找Kernel modules:字段,其后所列模块为系统识别但尚未加载的候选驱动。
三、按功能类别筛选并提取硬件标识符
当系统存在数十个PCI设备时,该方法可避免人工扫描冗余条目,精准聚焦网络、显示、存储等关键控制器,并导出可用于驱动匹配的标准化ID组合。
1、执行过滤命令:lspci | grep -E "(VGA|3D controller|Network|Ethernet|USB|SATA|SCSI)"。
2、对筛选出的设备进一步获取数字ID:lspci -nn | grep -i "network"。
3、输出中形如[10ec:8168]的部分即为厂商ID与设备ID,可直接用于搜索官方驱动文档或内核源码中的pci_device_id表项。
四、查看PCI物理拓扑结构与桥接关系
该方法以缩进树状图呈现设备在PCIe层级中的挂载位置,有助于判断显卡是否直连CPU根复合体、网卡是否经由PCIe桥转发,对多GPU配置或扩展卡兼容性分析至关重要。
1、运行树形命令:lspci -t。
2、解读缩进:每级“-+-”或“+-”代表一个PCI/PCIe桥,例如-+-[0000:00]-+-00.0表示总线00上的Host bridge,其下挂载后续设备。
3、结合设备名增强可读性:lspci -t -v | less,使用less分页浏览并搜索关键词。
五、安装pciutils工具包以启用lspci功能
当执行lspci提示命令不存在时,表明基础工具集缺失,必须根据发行版包管理器安装pciutils软件包,否则所有依赖命令均无法运行。
1、Debian或Ubuntu系统执行:sudo apt update && sudo apt install pciutils。
2、CentOS/RHEL 8及以上版本执行:sudo dnf install pciutils。
3、CentOS/RHEL 7执行:sudo yum install pciutils。
六、通过sysfs接口直接验证驱动绑定路径
该方法绕过lspci,直接读取内核/sys/bus/pci/devices目录下的实时符号链接,反映设备当前真实绑定的驱动模块,结果不可被用户空间缓存干扰。
1、列出全部PCI设备slot地址:ls /sys/bus/pci/devices/。
2、任选一个地址(如0000:01:00.0),检查其driver链接:ls -l /sys/bus/pci/devices/0000:01:00.0/driver。
3、从输出的driver → ../../../bus/pci/drivers/r8169中提取模块名:basename $(readlink /sys/bus/pci/devices/0000:01:00.0/driver)。
七、联合modinfo验证驱动兼容性参数
在已知驱动名称前提下,该方法可确认该模块是否声明支持目标设备的PCI ID,是排查“设备识别但无驱动响应”类问题的关键步骤。
1、获取驱动名后执行:modinfo r8169(将r8169替换为实际驱动名)。
2、检查输出中alias字段是否包含对应PCI ID,格式为pci:v000010ECd00008168sv*sd*bc*sc*i*。
3、若未找到匹配alias,说明该驱动不支持该硬件,需更换驱动或更新内核版本。
本篇关于《Linux如何查看PCI设备信息?lspci教程详解》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
337 收藏
-
364 收藏
-
205 收藏
-
291 收藏
-
199 收藏
-
406 收藏
-
168 收藏
-
448 收藏
-
326 收藏
-
205 收藏
-
182 收藏
-
208 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习