本文目录导读:

Windows 系统
使用 PowerShell(推荐)
这是最直接且兼容性较好的方法。
打开 PowerShell(管理员非必需,但建议),执行以下命令:
# 获取 NVIDIA 显卡驱动版本 Get-WmiObject Win32_VideoController | Select-Object Name, DriverVersion # 或者使用 CIM 命令(现代替代方案) Get-CimInstance Win32_VideoController | Select-Object Name, DriverVersion
输出示例:
Name DriverVersion
---- -------------
NVIDIA GeForce RTX 3060 31.0.15.3623
脚本化: 如果你想只提取版本号(例如在批处理脚本中调用),可以:
$nvidiaDriver = Get-CimInstance Win32_VideoController | Where-Object { $_.Name -like "*NVIDIA*" }
if ($nvidiaDriver) {
Write-Output "NVIDIA Driver Version: $($nvidiaDriver.DriverVersion)"
}
使用命令行 wmic
这是传统的通杀方法,适用于所有显卡。
命令:
wmic path win32_videocontroller get name, driverversion
使用 VBScript
如果你的环境只能运行 .vbs 文件:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_VideoController")
For Each objItem in colItems
WScript.Echo "显卡名称: " & objItem.Name & " 驱动版本: " & objItem.DriverVersion
Next
Linux 系统
NVIDIA 专用驱动
使用 nvidia-smi 工具(只要安装了 NVIDIA 驱动,通常默认就有):
# 获取驱动版本 nvidia-smi --query-gpu=driver_version --format=csv,noheader # 更详细的输出 nvidia-smi
示例输出(简要):
Driver Version: 535.183.01
通用方法(支持所有显卡驱动)
# 1. 使用 modinfo(内核模块信息)
modinfo -F version nvidia 2>/dev/null || modinfo -F version amdgpu 2>/dev/null
# 2. 通过 xrandr / xdpyinfo(X11 显示服务器信息)
xdpyinfo | grep "version" | head -1
# 3. 尝试解析 /proc/driver/nvidia/version
cat /proc/driver/nvidia/version | grep "Kernel Module" | awk '{print $6}'
跨平台脚本(Python)
如果你想在一个脚本中同时支持 Windows 和 Linux,可以使用 Python:
import platform
import subprocess
import re
def get_gpu_driver_version():
system_name = platform.system()
if system_name == "Windows":
# 使用 wmic 获取版本
result = subprocess.run(
["wmic", "path", "win32_videocontroller", "get", "name,driverversion"],
capture_output=True, text=True, shell=True
)
# 简单解析输出
for line in result.stdout.strip().split("\n")[1:]:
if line.strip():
parts = line.split()
if len(parts) >= 2:
return parts[-1] # 最后一个字段通常是版本号
return None
elif system_name == "Linux":
try:
# 尝试 nvidia-smi
result = subprocess.run(
["nvidia-smi", "--query-gpu=driver_version", "--format=csv,noheader"],
capture_output=True, text=True, check=True
)
return result.stdout.strip()
except:
# 尝试 cat /proc/driver/nvidia/version
try:
with open("/proc/driver/nvidia/version", "r") as f:
line = f.read()
match = re.search(r'Kernel Module\s+([\d.]+)', line)
return match.group(1) if match else None
except:
return "未知或非 NVIDIA 驱动"
return "不支持的操作系统"
if __name__ == "__main__":
print(f"当前显卡驱动版本: {get_gpu_driver_version()}")
注意事项
-
驱动版本格式差异:Windows 的驱动版本通常是
0.15.3623这样的格式(对应驱动程序包版本),而 Linux 的nvidia-smi输出是183.01这样的简短版本号。 -
多显卡情况:如果电脑有多个显卡(如 Intel 核显 + NVIDIA 独显),上述命令会列出所有显卡的驱动版本,你可能需要根据显卡名称(如
*NVIDIA*)筛选。 -
权限问题:在 Linux 下,
nvidia-smi通常不需要 root 权限。modinfo和读取/proc文件可能需要 sudo。 -
虚拟机或远程桌面:某些虚拟化环境或远程桌面服务中,
Win32_VideoController可能返回虚拟显卡的驱动版本,而不一定是物理显卡的真实驱动。
根据你的实际系统环境选择最合适的方法即可,如果还需要获取更详细的信息(如 CUDA 版本、核心频率等),可以进一步提问。