首页 > 百科 > 正文

命令行怎么列出所有驱动?Windows 与 Linux 实用排查指南

2026-10-24 22:34:31 · 七零八碎网 · 综合 · 阅读 451

很多人第一次遇到驱动问题,命令是行列在设备突然失灵、外设识别不到,出所查或者准备重装系统之前想先备份一份驱动清单。有驱用排图形界面里翻“设备管理器”虽然直观,命令但导出和筛选都不方便。行列这时候用命令行列出所有驱动,出所查往往更快、有驱用排更完整,命令也更容易把结果保存成文本留档。行列本文按 Windows 和 Linux 两条主线,出所查给出可直接复制的有驱用排命令、常见失败分支,命令以及结果怎么读。行列

先说明一个前提:不同系统里“驱动”这个词的出所查粒度不一样。Windows 通常指已安装的驱动程序包(driver package),Linux 则更多体现为内核模块(kernel module)和已加载模块。你要的是“装了哪些驱动包”还是“当前在跑哪些驱动”,命令选择会不同,先想清楚目的再动手。

Windows:用命令行列出所有驱动

最常用的入口是系统自带的 Driverquery 工具,管理员或普通命令提示符都能运行。打开“开始”菜单搜索 cmd 或 PowerShell,右键选择“以管理员身份运行”,然后执行:

driverquery

它会输出模块名称、显示名称、驱动类型和链接日期等列,适合快速浏览。如果只想看正在运行的内核驱动,加上参数:

driverquery /v

driverquery /si

其中 /v 是详细模式,/si 用于显示已签名驱动的签名信息。结果太长时,直接重定向到文件更方便留存:

driverquery /v > drivers.txt

如果更想按“驱动包”查看,也就是系统里安装的第三方驱动,推荐用 PowerShell 的 PnP 相关命令。以管理员身份打开 PowerShell,执行:

Get-WindowsDriver -Online

它会列出驱动包名称、原始名称、提供程序、类和版本。只看第三方驱动可加参数 -All 之外的筛选逻辑,或把结果导出:

Get-WindowsDriver -Online | Export-Csv drivers.csv -Encoding UTF8

导成 CSV 后可以直接用表格软件筛选“提供程序”不是 Microsoft 的项,重装前备份会清晰很多。

Windows 常见失败分支与注意点

第一类问题是权限不足,表现为命令能跑但信息不全,或提示拒绝访问。解决办法就是提升到管理员权限,而不是反复重试。第二类是提示找不到 driverquery,多见于精简版系统或环境变量异常,此时可改用完整路径调用,具体路径以本机系统界面为准。

第三类是 Get-WindowsDriver 报错,常见原因是 PowerShell 版本较旧,或当前账户没有读取驱动仓库的权限。可以先更新系统组件,或以管理员身份重开窗口。另外要注意,Get-WindowsDriver -Online 只反映当前系统的驱动包,不等于“硬件型号列表”;想看硬件本身,可以配合:

Get-PnpDevice

它能列出设备实例、状态和类,和驱动包信息对照着看,排查“设备在但驱动异常”会更有针对性。若某个设备状态显示 Error 或 Unknown,再回到设备管理器核对具体错误代码,命令行结果只作线索,最终判断以系统界面和厂商说明为准。

Linux:查看已加载与已安装的驱动模块

Linux 下最直接的命令是:

lsmod

它列出当前已加载的内核模块,包括模块名、占用内存大小和被谁引用。想找特定硬件相关模块,可以配合过滤:

lsmod | grep -i nvidia

如果关心的是“这个设备用的是哪个驱动”,用 lspci 或 lsusb 加详细参数更合适:

lspci -k

lsusb -t

其中 lspci -k 会显示每个 PCI 设备正在使用的内核驱动和可用模块,是排查网卡、显卡、声卡问题的常用手段。想查看系统里可加载但当前未加载的模块,可以用:

modprobe -c

或直接查看模块目录,具体路径随发行版不同,以本机实际目录为准。

结果怎么读、怎么用

拿到输出后,别急着全量复制粘贴。建议先做三件事:一是确认命令输出的是“驱动包”还是“运行中的模块”,避免把两类信息混在一起对比;二是把结果导出成文件,Windows 用重定向或 Export-Csv,Linux 用 lsmod > modules.txt 之类的方式留档;三是对照设备状态,重点看那些状态异常或提供程序非官方的条目。

需要提醒的是,命令行列出的驱动清单只是当前系统状态的快照,不等于可以随意迁移到另一台机器。驱动与硬件型号、系统版本、内核版本强相关,跨设备直接套用可能无法使用,甚至影响启动。涉及系统关键驱动时,优先使用厂商官方提供的安装方式,或通过系统更新渠道获取,不要从不明确来源下载替换。

小结一下:Windows 上先用 driverquery 快速总览,再用 Get-WindowsDriver -Online 看驱动包并导出;Linux 上用 lsmod 看已加载模块,用 lspci -k 定位设备实际使用的驱动。按“先总览、再筛选、后导出”的顺序操作,基本能覆盖大多数“命令行怎么列出所有驱动”的场景。遇到报错时,优先检查权限和命令是否存在,再考虑系统版本差异。