必须使用lshw生成全量硬件设备树,执行sudo lshw -short;若未安装则先sudo apt install lshw,否则仅用lsusb或lspci会遗漏SATA控制器、ACPI设备等非PCI总线设备。

在银河麒麟操作系统中准确获取全部已识别硬件设备的完整列表,避免遗漏网卡、声卡、USB控制器等关键外设,必须调用内核级设备枚举接口并过滤系统总线拓扑。
使用lshw生成全量硬件设备树
执行 sudo lshw -short,该命令直接读取内核设备树与固件DMI表,输出主板、CPU、内存、存储控制器、PCI/USB设备等所有物理组件的层级缩略列表。
若提示 command not found,先运行 sudo apt install lshw 安装工具——【未安装lshw将无法获得结构化设备分类,仅靠lsusb或lspci会漏掉SATA控制器、ACPI设备等非PCI总线设备】。
输出中每行包含BUSID、CLASS、DEVICE、PRODUCT四列:BUSID标识总线路径(如pci@0000:00),CLASS标明设备类型(network/audio/storage),DEVICE为内核驱动名(如r8169/iwlwifi/nvme),PRODUCT为厂商+型号字符串。
按总线类型分别枚举设备
方法一:列出所有PCI设备(含显卡、网卡、声卡、USB主控)
执行 lspci,不加参数即可显示全部PCI/PCIe设备;若需精确定位某类设备,追加过滤:
lspci | grep -i network 查网卡
lspci | grep -i audio 查声卡
lspci | grep -i usb 查USB主控制器
方法二:列出所有USB设备(含U盘、摄像头、蓝牙适配器)
执行 lsusb,输出格式为“Bus 001 Device 002: ID 0bda:8153 Realtek Semiconductor Corp.”,其中ID后四位是厂商ID,后四位是产品ID,可据此反查设备型号。
方法三:列出所有已识别的块设备(硬盘、SSD、SD卡、NVMe盘)
执行 lsblk,自动识别设备名(如nvme0n1/sda)、大小、挂载点(如/、/boot/efi)及只读状态;注意区分物理盘(disk)与分区(part)——【若某块设备无挂载点且未标注size,大概率是未格式化的空盘或被屏蔽的隐藏设备】。
查看内核启动时识别的全部硬件日志
第一步:执行 dmesg | grep -i "detected\|found\|attached",筛选内核初始化阶段上报的硬件检测记录;
第二步:重点查找含“PCI bridge”、“USB device”、“ATA device”、“nvme controller”字样的行,这些是设备成功枚举的关键信号;
第三步:对关键设备追加精准检索,例如查网卡驱动加载:dmesg | grep -i "r8169\|iwlwifi\|mt7921";
第四步:若需导出完整硬件日志存档,运行:dmesg > /tmp/hardware_boot_log.txt。










