macos通过终端命令kextstat查看内核扩展驱动:1. kextstat列出全部已加载驱动;2. kextstat | grep -v com.apple过滤第三方驱动;3. kextstat | grep -i 关键词筛选特定设备驱动;4. log show检查签名拦截日志。

MacOS 没有传统意义上的“驱动管理器”,它的底层驱动以**内核扩展(kext)**形式存在,全部由系统内核动态加载。要完整查看所有已加载的底层驱动,终端是最直接、最权威的方式。
一、列出全部已加载的内核扩展(含系统与第三方)
这是最基础也最完整的视图,覆盖所有正在运行的驱动组件:
- 打开“终端”(访达 → 实用工具,或 Spotlight 搜索)
- 执行命令:kextstat
- 输出包含每项 kext 的索引号、引用计数、地址、大小、名称(Bundle Identifier)、版本、加载者等信息
- 重点关注 com.apple. 开头的是苹果官方驱动;其他如 com.silabs.driver.CP210xVCPDriver、io.github.usbserial.ch340 等属于第三方设备驱动
二、过滤出非系统驱动(快速定位第三方驱动)
系统自带驱动数量庞大(通常超 300 个),日常排查外设问题时,只需关注第三方部分:
- 运行:kextstat | grep -v com.apple
- 该命令排除所有苹果签名驱动,只显示第三方 kext
- 若输出为空,说明当前无第三方驱动被加载(不代表没安装,可能因权限/签名被阻止)
- 可配合 | wc -l 统计数量,例如:kextstat | grep -v com.apple | wc -l
三、按设备类型或关键词筛选特定驱动
当你知道设备型号或芯片名(如 CH340、CP2102、FTDI、DisplayLink、RTL8152),可精准验证其驱动状态:
- 查 CH340 串口驱动:kextstat | grep -i ch340
- 查 Realtek 网卡:kextstat | grep -i rtl
- 查 Thunderbolt 相关驱动:kextstat | grep -i thunderbolt
- 不区分大小写、支持模糊匹配,输出即表示已成功加载
四、检查驱动是否被系统拦截(Catalina 及以后关键步骤)
即使 kext 文件存在,macOS 也可能因签名/公证/权限问题拒绝加载。仅靠 kextstat 不够,需交叉验证:
- 查看最近内核日志中是否有拒绝记录:log show --predicate 'subsystem == "com.apple.kextd" && eventMessage contains "reject"' --last 24h
- 搜索典型错误关键词:log show --predicate 'eventMessage contains "Kext rejected" || eventMessage contains "code signing blocked"' --last boot
- 若发现相关报错,说明驱动虽已安装,但未获系统许可——需前往「系统设置 → 隐私与安全性 → 内核扩展」手动批准











