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

如果您在麒麟OS系统中需要识别已连接的PCI设备、确认硬件是否被内核正确识别,或排查驱动绑定异常问题,则需通过标准Linux PCI子系统接口获取设备列表、厂商ID、设备ID及关联驱动模块。
列出所有PCI设备基础信息
打开终端,输入 lspci 并回车。该命令直接读取内核PCI子系统注册的硬件信息,无需安装额外软件包,输出每台设备的总线地址(如00:1f.2)、厂商名(如Intel Corporation)和设备描述(如HD Audio Controller)。
若只想快速定位显卡、网卡、声卡等关键设备,执行:lspci | grep -i "vga\|network\|audio\|storage"。这一步操作起来很简单,直接过滤出常用类别,避免滚动大量无关条目。
确认每个PCI设备当前启用的驱动模块
在终端中执行:lspci -k。重点查找含“Kernel driver in use:”的段落,其后内容即为实际激活的驱动名,例如 i915 或 igb。
若某设备条目下完全缺失该字段,或仅显示“Kernel modules:”而无“in use”,说明驱动未绑定或加载失败——此时硬件虽被识别,但功能不可用。
针对网卡快速筛查:运行 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)等关键能力。
第三步:若需批量扫描所有设备的驱动状态,可用 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,说明该设备尚未被任何驱动接管。
【注意】该目录下的符号链接一旦损坏或指向错误路径,会导致驱动卸载失败或设备无法热插拔。
查看PCI物理拓扑结构
执行 lspci -t。输出为缩进树状结构,每一级缩进代表一级PCI桥接器,末级设备(如“VGA compatible controller”)所挂载的上级节点即对应物理插槽位置。
若需同时显示链路能力,改用 lspci -tv,它会在设备名旁标注 PCIe x16、PCIe x4 等字样,直观反映插槽带宽分配。











