服务器重启之后NVIDIA出现问题原因汇总

问题一: nvidia-smi报错:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver 原因及避坑解决方案

        场景描述: 由于训练服务器卡顿, 服务器重启后, 再次跑模型的时候, 发现cuda不可用, 于是输入“nvidia-smi”才发现了一个错误,如下:

NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver

        这是由于重启服务器,linux内核升级导致的,由于linux内核升级,之前的Nvidia驱动就不匹配连接了,但是此时Nvidia驱动还在,可以通过命令 nvcc -V 找到答案

        但是输入nvcc -V 命令的时候, 发现没有此命令, 说明没有安装, 然后安装nvidia-cuda-toolkit, 安装命令为: sudo apt install nvidia-cuda-toolkit

安装完成之后, 使用nvcc -V 命令, 展示如下:

上网搜索各种方案之后, 解法方法如下:  

第一步: 安装dkms:

sudo apt-get install dkms

第二步: 查看本机连接不上的驱动版本

ls -l /usr/src/

可以看到有个一nvidia的文件, 这里是nvidia-470.94. 如果没有这类文件, 请先下载对应的文件.下载🔗: xxxxx

第三步: 安装适合的驱动:

sudo /data/disk-2T/xxxx/softwares/cuda/NVIDIA-Linux-x86_64-470.94.run

这个安装的路径, 写自己下载470.94.run所在的文件路径.适当自己更换一下路径即可.

或者是命令

sudo dkms install -m nvidia -v 470.94

这条命令 -v 后面需要填写本机的nvidia驱动版本,根据第二步得到! 如果这个安装过程中出现问题, 请看下面的问题三!

到了这里, 如果安装成功, 那么就恭喜了, 哈哈哈, 使用nvidia-smi如果可以展示下图即为成功!.

 

如果安装失败了, 就是下面的问题二了~~~~

问题二:  Nvidia 显卡 Failed to initialize NVML Driver/library version mismatch 错误解决方案

问题复现: 

$ nvidia-smi 

-->
Failed to initialize NVML: Driver/library version mismatch

问题分析: 

        NVIDIA内核驱动版本与系统驱动不一致

定位问题: 

1. 查看显卡驱动所使用的内核版本, 命令如下:

cat /proc/driver/nvidia/version

结果如下: 

NVRM version: NVIDIA UNIX x86_64 Kernel Module  470.94  Mon Dec  6 22:42:02 UTC 2021
GCC version:  gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)

         内核版本Kerner Module为470.93 系统内核18.04

2. 查看系统驱动日志, 命令如下:

cat /var/log/dpkg.log | grep nvidia

结果如下:

2022-06-24 11:45:00 install libnvidia-compute-515:amd64 <none> 515.48.07-0ubuntu0.18.04.1
2022-06-24 11:45:00 status half-installed libnvidia-compute-515:amd64 515.48.07-0ubuntu0.18.04.1
2022-06-24 11:45:04 status unpacked libnvidia-compute-515:amd64 515.48.07-0ubuntu0.18.04.1
2022-06-24 11:45:04 status unpacked libnvidia-compute-515:amd64 515.48.07-0ubuntu0.18.04.1
2022-06-24 11:45:18 install nvidia-cuda-dev:amd64 <none> 9.1.85-3ubuntu1
2022-06-24 11:45:18 status half-installed nvidia-cuda-dev:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:34 status unpacked nvidia-cuda-dev:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:34 status unpacked nvidia-cuda-dev:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:34 install nvidia-cuda-doc:all <none> 9.1.85-3ubuntu1
2022-06-24 11:45:34 status half-installed nvidia-cuda-doc:all 9.1.85-3ubuntu1
2022-06-24 11:45:38 status unpacked nvidia-cuda-doc:all 9.1.85-3ubuntu1
2022-06-24 11:45:38 status unpacked nvidia-cuda-doc:all 9.1.85-3ubuntu1
2022-06-24 11:45:38 install nvidia-cuda-gdb:amd64 <none> 9.1.85-3ubuntu1
2022-06-24 11:45:38 status half-installed nvidia-cuda-gdb:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:38 status unpacked nvidia-cuda-gdb:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:38 status unpacked nvidia-cuda-gdb:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:38 install nvidia-profiler:amd64 <none> 9.1.85-3ubuntu1
2022-06-24 11:45:38 status half-installed nvidia-profiler:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:39 status unpacked nvidia-profiler:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:39 status unpacked nvidia-profiler:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:39 install nvidia-opencl-dev:amd64 <none> 9.1.85-3ubuntu1
2022-06-24 11:45:39 status half-installed nvidia-opencl-dev:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:39 status unpacked nvidia-opencl-dev:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:39 status unpacked nvidia-opencl-dev:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:39 install nvidia-cuda-toolkit:amd64 <none> 9.1.85-3ubuntu1
2022-06-24 11:45:39 status half-installed nvidia-cuda-toolkit:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:40 status unpacked nvidia-cuda-toolkit:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:40 status unpacked nvidia-cuda-toolkit:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:40 install nvidia-visual-profiler:amd64 <none> 9.1.85-3ubuntu1
2022-06-24 11:45:40 status half-installed nvidia-visual-profiler:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:46 status unpacked nvidia-visual-profiler:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:46 status unpacked nvidia-visual-profiler:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:46 configure nvidia-cuda-doc:all 9.1.85-3ubuntu1 <none>
2022-06-24 11:45:46 status unpacked nvidia-cuda-doc:all 9.1.85-3ubuntu1
2022-06-24 11:45:46 status half-configured nvidia-cuda-doc:all 9.1.85-3ubuntu1
2022-06-24 11:45:46 status installed nvidia-cuda-doc:all 9.1.85-3ubuntu1
2022-06-24 11:45:47 configure libnvidia-compute-515:amd64 515.48.07-0ubuntu0.18.04.1 <none>
2022-06-24 11:45:47 status unpacked libnvidia-compute-515:amd64 515.48.07-0ubuntu0.18.04.1
2022-06-24 11:45:47 status unpacked libnvidia-compute-515:amd64 515.48.07-0ubuntu0.18.04.1
2022-06-24 11:45:47 status half-configured libnvidia-compute-515:amd64 515.48.07-0ubuntu0.18.04.1
2022-06-24 11:45:47 status installed libnvidia-compute-515:amd64 515.48.07-0ubuntu0.18.04.1
2022-06-24 11:45:47 configure nvidia-opencl-dev:amd64 9.1.85-3ubuntu1 <none>
2022-06-24 11:45:47 status unpacked nvidia-opencl-dev:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:47 status half-configured nvidia-opencl-dev:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:47 status installed nvidia-opencl-dev:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:47 configure nvidia-cuda-gdb:amd64 9.1.85-3ubuntu1 <none>
2022-06-24 11:45:47 status unpacked nvidia-cuda-gdb:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:47 status half-configured nvidia-cuda-gdb:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:47 status installed nvidia-cuda-gdb:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:47 configure nvidia-profiler:amd64 9.1.85-3ubuntu1 <none>
2022-06-24 11:45:47 status unpacked nvidia-profiler:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:47 status half-configured nvidia-profiler:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:47 status installed nvidia-profiler:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:47 configure nvidia-visual-profiler:amd64 9.1.85-3ubuntu1 <none>
2022-06-24 11:45:47 status unpacked nvidia-visual-profiler:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:47 status half-configured nvidia-visual-profiler:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:48 status installed nvidia-visual-profiler:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:48 configure nvidia-cuda-dev:amd64 9.1.85-3ubuntu1 <none>
2022-06-24 11:45:48 status unpacked nvidia-cuda-dev:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:48 status half-configured nvidia-cuda-dev:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:48 status installed nvidia-cuda-dev:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:48 configure nvidia-cuda-toolkit:amd64 9.1.85-3ubuntu1 <none>
2022-06-24 11:45:48 status unpacked nvidia-cuda-toolkit:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:48 status unpacked nvidia-cuda-toolkit:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:48 status half-configured nvidia-cuda-toolkit:amd64 9.1.85-3ubuntu1
2022-06-24 11:45:48 status installed nvidia-cuda-toolkit:amd64 9.1.85-3ubuntu1

        可以看到曾经安装过系统内核18.04的515.48.07的驱动

3. 查看驱动程序, 命令如下: 

sudo dpkg --list | grep nvidia-*

结果如下: 

ii  libnvidia-compute-460-server:amd64   515.48.07-0ubuntu0.18.04.1                 amd64        NVIDIA libcompute package
ii  libnvidia-container-tools            1.0.5-1                                    amd64        NVIDIA container runtime library (command-line tools)
ii  libnvidia-container1:amd64           1.0.5-1                                    amd64        NVIDIA container runtime library
ii  nvidia-container-runtime             3.1.4-1                                    amd64        NVIDIA container runtime
ii  nvidia-container-toolkit             1.0.5-1                                    amd64        NVIDIA container runtime hook
ii  nvidia-cuda-dev                      9.1.85-3ubuntu1                            amd64        NVIDIA CUDA development files
ii  nvidia-cuda-doc                      9.1.85-3ubuntu1                            all          NVIDIA CUDA and OpenCL documentation
  • 可以看到系统安装了ubuntu 内核18.04 下的 nvidia 515 驱动
  • 实际系统内核版本与驱动需求的版本不一致是问题产生的根源

解决方案:  

  • 卸载现有驱动,重新安装

卸载驱动: 

sudo /usr/bin/nvidia-uninstall
sudo apt-get --purge remove nvidia-*
sudo apt-get purge nvidia*
sudo apt-get purge libnvidia*

输入下面命令不在有任何内容

sudo dpkg --list | grep nvidia-*

重新安装: 

sudo /data/disk-2T/xxxx/softwares/cuda/NVIDIA-Linux-x86_64-470.94.run

安装完成之后, 使用nvidia-smi查看结果.

问题三: gcc版本不匹配造成的安装失败

此时,如果你的gcc(尽量大于7.3版本)版本过低,那么上述命令sudo dkms install -m nvidia -v 470.103.01失败的原因就找到了,查看现有的gcc版本

gcc --version

gcc在/usr/bin目录下, 输入命令查看所有的gcc:

ls /usr/bin/gcc*
ls /usr/bin/g++*

结果如下: 

 将查到的版本加入gcc候选中,最后的数字是优先级,如下:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 20 --slave /usr/bin/g++ g++ /usr/bin/g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 10 --slave /usr/bin/g++ g++ /usr/bin/g++-9

完成上面的操作之后,我们就可以通过下面的指令来选择不同的gcc和g++的版本了

sudo update-alternatives --config gcc

结果如下: 

这里我选择的是gcc-7选0或是1都可以.成功!~~~🙃

重启电脑, 输入nvidia-smi, 链接成功

以上为总结的三个问题, 哈哈哈, 能帮助大家解决问题的, 就点赞支持一下吧!🤞✌️

<think>好的,用户刚刚安装了Ubuntu系统,但进入后图形化界面不显示。我需要帮他解决这个问题。首先,我得考虑可能的原因,比如显卡驱动问题、显示服务配置错误、或者安装过程中的问题。 用户是刚安装完系统,所以可能驱动没装好,尤其是如果用的是NVIDIA或AMD的显卡。Ubuntu默认可能使用开源驱动,但某些显卡需要专有驱动。另外,安装过程中可能出现了错误,导致显示服务器没正确配置。 接下来,我应该建议他检查显示服务器类型,是Xorg还是Wayland,可能通过命令查看。然后检查显卡驱动状态,使用lspci或ubuntu-drivers命令。如果驱动有问题,安装推荐的驱动,并重启。 另外,恢复模式或使用旧内核启动也是一个办法,可以进入终端进行修复。如果Xorg配置出错,可能需要删除配置文件重新生成。用户可能不太熟悉命令行操作,所以步骤要详细,比如如何进入恢复模式,如何安装驱动。 还有可能用户使用的是虚拟机,需要检查虚拟机的图形加速设置。或者显示器连接问题,比如线缆松动,但用户是刚安装,可能更可能是软件问题。 需要分步骤给出解决方案,从简单到复杂,先检查驱动,再尝试恢复模式,最后考虑重新安装桌面环境。同时提醒用户备份重要数据,以防万一。要确保命令正确,避免用户操作失误导致更多问题。</think>### **Ubuntu 新安装后图形界面不显示的解决方法** 以下分步骤排查和修复方案适用于新安装的 Ubuntu 20.04/22.04 系统: --- #### **第一步:确认硬件状态** 1. **检查显示器连接** 确保显示器电源开启、线缆(HDMI/DP/VGA)已牢固连接,尝试更换线缆或接口。 2. **外接设备干扰** 拔除所有非必要外设(如 USB 扩展坞、外接硬盘),仅保留键盘和鼠标。 --- #### **第二步:强制进入图形界面** 1. 开机后按 `Ctrl + Alt + F2` 进入 TTY 命令行终端。 2. 输入用户名和密码登录。 3. 手动启动图形界面(测试显示服务是否正常): ```bash sudo systemctl start gdm3 # Ubuntu 20.04 默认使用 gdm3 # 或 sudo systemctl start lightdm # 部分版本可能使用 lightdm ``` --- #### **第三步:排查显卡驱动问题** 1. **查看当前驱动状态** ```bash lspci -k | grep -A 2 -i "vga\|3d\|display" # 查看显卡型号和加载的驱动 ubuntu-drivers devices # 检查推荐驱动 ``` - 若输出包含 `nouveau`(NVIDIA 开源驱动),可能需更换闭源驱动。 2. **安装闭源驱动(以 NVIDIA 为例)** ```bash sudo apt purge *nvidia* *nouveau* # 清理旧驱动 sudo ubuntu-drivers autoinstall # 自动安装推荐驱动 sudo reboot ``` 3. **AMD/Intel 显卡专用命令** ```bash sudo apt install mesa-utils # 安装 OpenGL 工具 glxinfo | grep "OpenGL renderer" # 检查渲染器是否正常 ``` --- #### **第四步:修复显示服务配置** 1. **重置显示管理器** ```bash sudo dpkg-reconfigure gdm3 # 重新配置显示管理器 sudo systemctl restart gdm3 # 重启服务 ``` 2. **检查 Xorg 日志** ```bash cat /var/log/Xorg.0.log | grep -i "EE\|WW" # 过滤错误和警告 ``` 3. **删除用户显示配置(危险操作前备份)** ```bash mv ~/.config/monitors.xml ~/.config/monitors.xml.bak # 重置显示器配置 sudo reboot ``` --- #### **第五步:尝试降级内核(极端情况)** 若新内核与硬件不兼容: 1. 重启进入 GRUB 菜单(开机时按住 `Shift`)。 2. 选择 **Advanced options for Ubuntu** → 旧版本内核启动。 3. 进入系统后锁定内核版本: ```bash sudo apt-mark hold linux-image-generic # 禁止自动更新内核 ``` --- #### **第六步:重装桌面环境** 1. 重新安装 GNOME 核心组件: ```bash sudo apt install --reinstall ubuntu-desktop gnome-shell sudo apt install --reinstall xorg sudo reboot ``` 2. 若仍失败,尝试安装轻量桌面(如 Xfce): ```bash sudo apt install xubuntu-desktop # 安装后从登录界面选择会话类型 ``` --- ### **紧急恢复方案** 如果上述方法均无效,可尝试: 1. **Live USB 修复** 使用 Ubuntu 安装 U 盘启动 → 选择 **Try Ubuntu** → 挂载原系统分区并修复: ```bash sudo mount /dev/sdXn /mnt # 替换 sdXn 为系统分区 sudo chroot /mnt apt install --reinstall ubuntu-desktop ``` 2. **备份数据重装** 若硬件无故障但软件损坏严重,建议备份数据后重新安装。 --- ### **关键诊断命令汇总** | 用途 | 命令 | |-----------------------|-----------------------------------| | 检查显卡驱动 | `lspci -k \| grep -A 2 -i "vga"` | | 查看显示管理器状态 | `systemctl status gdm3` | | 强制重建显示配置 | `sudo rm /etc/X11/xorg.conf` | | 检测显示协议类型 | `loginctl show-seat seat0 -p ActiveSession` → 检查 `Type` 字段 | --- ### **注意事项** - 操作前建议连接有线网络,确保能自动下载驱动。 - 若使用虚拟机(如 VirtualBox),需启用 **3D 加速**(设置 → 显示 → 勾选“启用 3D 加速”)。 - 双显卡笔记本可能需要配置 Prime 选择: ```bash sudo prime-select query # 查看当前显卡 sudo prime-select nvidia # 切换至 NVIDIA 显卡 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值