麒麟OS查看PCI设备信息有五种方法:lspci列基础信息;lspci -k查“Kernel driver in use”确认驱动激活状态;lspci -vv分析寄存器与驱动详情;通过/sys/bus/pci/devices/下driver符号链接验证绑定;lspci -t展示PCI物理拓扑结构。

如果您在麒麟操作系统中需要识别已连接的PCI设备、确认硬件是否被内核正确识别,或排查驱动绑定异常问题,则需通过标准Linux PCI子系统接口获取设备列表、厂商ID、设备ID及关联驱动模块。这些信息不依赖图形界面,直接来自内核PCI枚举结果,适用于所有麒麟OS版本(银河麒麟v10、openKylin等),无需额外安装软件包。
列出所有PCI设备基础信息
打开终端,输入 lspci 并回车。该命令直接读取内核PCI子系统注册的硬件信息,输出每台设备的总线地址(如00:1f.2)、厂商名(如Intel Corporation)和设备描述(如HD Audio Controller)。
若只想快速定位显卡、网卡、声卡等关键设备,执行:lspci | grep -i "vga\|network\|audio\|storage"。这一步操作起来很简单,直接过滤出常用类别,避免滚动大量无关条目。
注意:普通用户权限即可运行此命令,无需sudo。但若输出为空,请先确认系统是否已完成硬件自检——可尝试重启后立即执行,排除热插拔未触发枚举的可能。
确认每个PCI设备当前启用的驱动模块
在终端中执行:lspci -k。
重点查找含【Kernel driver in use:】的段落,其后内容即为实际激活的驱动名,例如i915或igb。该字段存在,才代表驱动已成功加载并绑定到设备。
若某设备条目下完全缺失该字段,或仅显示“Kernel modules:”而无“in use”,说明驱动未绑定或加载失败——此时硬件虽被识别,但功能不可用。这种情况常见于国产GPU(如景嘉微JM系列)未安装对应驱动包时。
针对网卡快速筛查:运行lspci -knn | grep -A 3 -B 1 "Network\|Ethernet",可同时看到设备PCI ID与驱动名称,省去人工匹配步骤。
深入分析PCI配置空间与驱动能力细节
第一步:先用lspci获取目标设备地址,例如02:00.0。
第二步:执行lspci -vv -s 02:00.0。该命令输出完整寄存器状态,包括MSI/X中断支持、DMA掩码、链路速率(Speed)与宽度(Width)等关键能力。这些参数直接影响设备性能上限,比如PCIe x4链路若只协商出x1宽度,可能引发带宽瓶颈。
第三步:若需批量扫描所有设备的驱动状态,可用lspci -vv | grep -A 10 -B 5 "Kernel driver in use",但注意此命令输出量极大,建议搭配less分页查看,否则容易漏掉关键行。
通过sysfs验证驱动绑定的真实路径
Linux内核在/sys/bus/pci/devices/下为每个PCI设备建立运行时属性目录,其中driver符号链接直接指向所用驱动模块——该方式不依赖命令解析,反映内核最底层状态。
执行ls /sys/bus/pci/devices/列出全部已枚举设备的PCI地址(格式如0000:01:00.0)。
选取目标设备,例如0000:01:00.0,运行:ls -l /sys/bus/pci/devices/0000:01:00.0/driver。若输出类似driver -> ../../../bus/pci/drivers/nvidia,则表明驱动已成功绑定;若报错No such file or directory,说明该设备尚未被任何驱动接管。
【注意:此路径下的driver符号链接一旦存在,即证明内核已完成驱动绑定,比lspci -k更权威】
展示PCI物理拓扑结构
执行lspci -t。该命令以树状图形式呈现PCIe设备的物理连接关系,例如Root Complex → Switch → GPU,清晰反映设备是否挂载在正确层级,对排查雷电扩展坞、PCIe拆分卡等复杂拓扑问题极为关键。
输出中每行缩进代表一级PCI桥接,括号内数字为设备功能号(function number)。若某设备未出现在树中,说明其PCIe链路未通或固件未初始化。


















