在WSL2中运行nvidia-smi时出现命令未找到的问题
我在服务器安装了WSL2,在WSL2中输入nvidia-smi命令之后得到下面的输出提示:
(mamba) qqxt@WIN-NUK633S47C8:~/object-detect/mamba-yolo$ nvidia-smi
Command 'nvidia-smi' not found, but can be installed with:
sudo apt install nvidia-utils-390         # version 390.157-0ubuntu0.22.04.2, or
sudo apt install nvidia-utils-418-server  # version 418.226.00-0ubuntu5~0.22.04.1
sudo apt install nvidia-utils-450-server  # version 450.248.02-0ubuntu0.22.04.1
sudo apt install nvidia-utils-470         # version 470.256.02-0ubuntu0.22.04.1
sudo apt install nvidia-utils-470-server  # version 470.256.02-0ubuntu0.22.04.1
sudo apt install nvidia-utils-535         # version 535.183.01-0ubuntu0.22.04.1
sudo apt install nvidia-utils-535-server  # version 535.230.02-0ubuntu0.22.04.3
sudo apt install nvidia-utils-545         # version 545.29.06-0ubuntu0.22.04.2
sudo apt install nvidia-utils-550         # version 550.120-0ubuntu0.22.04.1
sudo apt install nvidia-utils-550-server  # version 550.144.03-0ubuntu0.22.04.1
sudo apt install nvidia-utils-565-server  # version 565.57.01-0ubuntu0.22.04.4
sudo apt install nvidia-utils-570-server  # version 570.86.15-0ubuntu0.22.04.4
sudo apt install nvidia-utils-510         # version 510.60.02-0ubuntu1
sudo apt install nvidia-utils-510-server  # version 510.47.03-0ubuntu3一、问题核心原因
-  WSL2与NVIDIA驱动的交互机制 
 WSL2的NVIDIA GPU支持依赖于Windows宿主机的NVIDIA驱动,而非在WSL2内安装Linux版驱动。若Windows驱动未正确安装或版本过低,WSL2无法调用GPU功能。
-  nvidia-smi的路径缺失 
 nvidia-smi命令需要从/usr/bin/等系统路径访问可执行文件。若WSL2未正确挂载Windows驱动组件(如/usr/lib/wsl/lib/nvidia-smi),会导致该命令缺失。
二、解决方案
步骤1:检查Windows宿主机驱动
更新NVIDIA驱动
1. 打开Windows的NVIDIA GeForce Experience或访问官网下载最新驱动
2. 关键要求:驱动版本需支持WSL2(建议≥465.00)
3. 安装后重启电脑,并在PowerShell中验证:
nvidia-smi  # Windows端执行,应显示GPU信息步骤2:修复WSL2内的nvidia-smi路径
1. 手动复制可执行文件
在WSL2终端执行以下命令:
sudo cp /usr/lib/wsl/lib/nvidia-smi /usr/bin/nvidia-smi
sudo chmod +x /usr/bin/nvidia-smi        此操作将宿主机驱动的nvidia-smi复制到WSL2的系统路径
2. 重启WSL2实例
关闭当前WSL2会话并重启:
wsl --shutdown  # PowerShell执行
wsl  # 重新进入WSL2