kextstat命令可秒级输出内存中实际加载的内核扩展列表,精准反映真实运行状态;配合grep、awk等过滤可快速识别第三方驱动,导出文件便于离线比对。

Mac终端查看系统内核扩展列表,必须绕过图形界面直接调用底层命令,因为“系统报告”只显示注册项而非真实运行状态,而kextstat能秒级输出内存中实际加载的驱动快照,不受SIP静默拦截干扰。
基础查看:列出全部已加载内核扩展
打开“终端”(访达 → 应用程序 → 实用工具 → 终端),输入以下命令并回车:
kextstat
该命令立即打印所有正在运行的内核扩展,每行含索引、引用计数、地址、Bundle ID(如com.apple.driver.AppleUSBHost)、版本及路径。【若某第三方kext已安装但未出现在此列表中,说明它根本未被内核加载,而非“没启用”】。
聚焦排查:只看第三方驱动(排除苹果官方)
方法一:过滤掉所有com.apple.开头的系统驱动
kextstat | grep -v com.apple
方法二:增强可读性,仅显示Bundle ID、版本和路径,并去重排序
kextstat | awk ' !~ /^com\.apple\./ {print , , }' | sort -u
这一步能立刻识别出你手动安装的USB串口芯片(如CH340)、雷电扩展坞控制器、NTFS读写驱动等真实外设关联项。如果输出为空,代表当前无第三方kext处于活跃状态——不是没装,就是被阻止加载了。
精准定位:按关键词快速筛选特定驱动
第一步:确认驱动名常见变体(CH340驱动可能注册为ch340、CH34x、wchusbserial)
第二步:执行带-i参数的模糊匹配,避免大小写遗漏
kextstat | grep -i ch340
第三步:检查是否多关键词共存(例如Realtek网卡常同时含rtl8152与usbnet)
kextstat | grep -i "rtl8152\|usbnet"
第四步:验证驱动是否加载成功但绑定失败(仅kextstat有记录不代表设备可用)→ 此时需配合ioreg -p IOUSB -l | grep -i product确认硬件是否被IOKit识别。
导出保存:生成桌面文本文件供离线比对
完整原始列表:
kextstat > ~/Desktop/kext_full_$(date +%Y%m%d).txt
精简第三方列表(含时间戳,避免覆盖):
kextstat | grep -v com.apple > ~/Desktop/third_party_drivers_$(date +%Y%m%d_%H%M).txt











