粗暴解决因ubuntu 18.04因内核升级导致的NVIDIA显卡驱动失效

粗暴解决因ubuntu 18.04因内核省级导致的NVIDIA显卡驱动失效
有一天电脑开机之后发现显示屏分辨率不对,结果一看系统信息发现显卡找不到了,再使用nvidia-smi查看显卡驱动果然打不开了.
以前出现过这种问题,好像是通过重装对应内核版本的dkms来解决,但是这次我发现dkms并没有问题,
sudo apt-get install dkms
安装信息如下:
Reading package lists... Done
Building dependency tree       
Reading state information... Done
dkms is already the newest version (2.3-3ubuntu9.7).
The following packages were automatically installed and are no longer required:
  libfcitx-core0 libfcitx-qt0 libfcitx-qt5-1 libgettextpo0 liblua5.2-0 libmng2
  libpresage-data libpresage1v5 libqt4-dbus libqt4-declarative libqt4-network
  libqt4-script libqt4-sql libqt4-sql-mysql libqt4-xml libqt4-xmlpatterns
  libqtcore4 libqtdbus4 libqtgui4 linux-headers-5.4.0-132-generic
  linux-hwe-5.4-headers-5.4.0-120 linux-hwe-5.4-headers-5.4.0-121
  linux-hwe-5.4-headers-5.4.0-122 linux-hwe-5.4-headers-5.4.0-124
  linux-hwe-5.4-headers-5.4.0-126 linux-hwe-5.4-headers-5.4.0-128
  linux-hwe-5.4-headers-5.4.0-131 linux-hwe-5.4-headers-5.4.0-132
  linux-hwe-5.4-headers-5.4.0-42 linux-hwe-5.4-headers-5.4.0-77
  linux-image-5.4.0-121-generic linux-image-5.4.0-122-generic
  linux-image-5.4.0-124-generic linux-image-5.4.0-126-generic
  linux-image-5.4.0-128-generic linux-image-5.4.0-131-generic
  linux-image-5.4.0-132-generic linux-modules-5.4.0-121-generic
  linux-modules-5.4.0-122-generic linux-modules-5.4.0-124-generic
  linux-modules-5.4.0-126-generic linux-modules-5.4.0-128-generic
  linux-modules-5.4.0-131-generic linux-modules-5.4.0-132-generic
  linux-objects-nvidia-470-5.4.0-121-generic
  linux-objects-nvidia-470-5.4.0-122-generic
  linux-objects-nvidia-470-5.4.0-124-generic
  linux-objects-nvidia-470-5.4.0-126-generic
  linux-objects-nvidia-470-5.4.0-128-generic
  linux-objects-nvidia-470-5.4.0-131-generic
  linux-objects-nvidia-470-5.4.0-132-generic
  linux-signatures-nvidia-5.4.0-121-generic
  linux-signatures-nvidia-5.4.0-122-generic
  linux-signatures-nvidia-5.4.0-124-generic
  linux-signatures-nvidia-5.4.0-126-generic
  linux-signatures-nvidia-5.4.0-128-generic
  linux-signatures-nvidia-5.4.0-131-generic
  linux-signatures-nvidia-5.4.0-132-generic presage qdbus qml-module-qtquick2
  qt-at-spi qtcore4-l10n shim
Use 'sudo apt autoremove' to remove them.
0 to upgrade, 0 to newly install, 0 to remove and 221 not to upgrade.
因此感觉是因为内核版本升级之后导致的问题.
于是在搜索了全网所有的关于内核升级掉驱动的方法后,我决定按照自己的想法来试一下.
首先我电脑之前是采用ppa安装的方法,不一定适用于所有人.
输入uname -r查看当前内核名字
发现我的内核版本是 5.4.0-136-generic
而我没有删掉之前的内核,因此在grub界面中出现了一堆之前的版本,在使用挨个重启电脑打开不同内核之后,发现最后一次能够正确启动显卡驱动的版本是 5.4.0-132-generic 显卡驱动是 nvidia-driver-470
之后我又在5.4.0-136-generic下尝试了 ubuntu-drivers devices
发现给出的安装信息是这样的:
WARNING:root:_pkg_get_support nvidia-driver-515: package has invalid Support PBheader, cannot determine support level
WARNING:root:_pkg_get_support nvidia-driver-525: package has invalid Support PBheader, cannot determine support level
WARNING:root:_pkg_get_support nvidia-driver-510: package has invalid Support PBheader, cannot determine support level
WARNING:root:_pkg_get_support nvidia-driver-390: package has invalid Support Legacyheader, cannot determine support level
WARNING:root:_pkg_get_support nvidia-driver-515-server: package has invalid Support PBheader, cannot determine support level
WARNING:root:_pkg_get_support nvidia-driver-525-server: package has invalid Support PBheader, cannot determine support level
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001B06sv00001458sd0000374Cbc03sc00i00
vendor   : NVIDIA Corporation
model    : GP102 [GeForce GTX 1080 Ti]
driver   : nvidia-driver-418-server - distro non-free
driver   : nvidia-driver-515 - distro non-free
driver   : nvidia-driver-525 - third-party non-free
driver   : nvidia-driver-510 - distro non-free
driver   : nvidia-driver-390 - distro non-free
driver   : nvidia-driver-515-server - distro non-free
driver   : nvidia-driver-450-server - distro non-free
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-525-server - distro non-free
driver   : nvidia-driver-470 - distro non-free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin

也就是说,其实还是支持 nvidia-driver-470的,并且也是推荐.
结合上面的dkms安装信息,我推断是正确的,是因为内核的问题导致的

所以我输入了如下指令:
sudo apt-get install linux-objects-nvidia-470-5.4.0-136-generic
sudo apt-get install linux-signatures-nvidia-5.4.0-136-generic
重启之后发现并没有效果,在一筹莫展之际,我只能死马当活马医的试了一下这条安装命令:
sudo apt-get install nvidia-driver-470
发现有如下的安装信息:
The following additional packages will be installed:
  libnvidia-cfg1-470 libnvidia-compute-470 libnvidia-compute-470:i386
  libnvidia-decode-470 libnvidia-decode-470:i386 libnvidia-encode-470
  libnvidia-encode-470:i386 libnvidia-extra-470 libnvidia-fbc1-470
  libnvidia-fbc1-470:i386 libnvidia-gl-470 libnvidia-gl-470:i386
  libnvidia-ifr1-470 libnvidia-ifr1-470:i386
  linux-modules-nvidia-470-5.4.0-136-generic
  linux-modules-nvidia-470-generic-hwe-18.04-edge nvidia-compute-utils-470
  nvidia-kernel-common-470 nvidia-kernel-source-470 nvidia-utils-470
  xserver-xorg-video-nvidia-470
The following packages will be REMOVED
  linux-modules-nvidia-470-5.4.0-132-generic
The following NEW packages will be installed
  linux-modules-nvidia-470-5.4.0-136-generic
The following packages will be upgraded:
  libnvidia-cfg1-470 libnvidia-compute-470 libnvidia-compute-470:i386
  libnvidia-decode-470 libnvidia-decode-470:i386 libnvidia-encode-470
  libnvidia-encode-470:i386 libnvidia-extra-470 libnvidia-fbc1-470
  libnvidia-fbc1-470:i386 libnvidia-gl-470 libnvidia-gl-470:i386
  libnvidia-ifr1-470 libnvidia-ifr1-470:i386
  linux-modules-nvidia-470-generic-hwe-18.04-edge nvidia-compute-utils-470
  nvidia-driver-470 nvidia-kernel-common-470 nvidia-kernel-source-470
  nvidia-utils-470 xserver-xorg-video-nvidia-470
也就是说,其实真的是内核没有升级到对应版本的问题,单独安装时少安装了modules这个模块,
如是顺利进行到下面,自动安装升级和卸载内核后,重启之后问题解决.

nvidia-smi
Sun Jan  8 10:33:01 2023       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.161.03   Driver Version: 470.161.03   CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
|  0%   37C    P8    16W / 250W |    321MiB / 11175MiB |      8%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1848      G   /usr/lib/xorg/Xorg                139MiB |
|    0   N/A  N/A      2915      G   /usr/bin/gnome-shell               59MiB |
|    0   N/A  N/A      3372      G   /usr/lib/firefox/firefox          119MiB |
+-----------------------------------------------------------------------------+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值