我有一台双启动机器,装有 Windows8 和 Ubuntu 20.04.3 LTS。
一切运行正常,直到我通过 GUI 弹出窗口对 Ubuntu 的一些自动更新按下“是”(安装)。这些更新在 70% 左右失败。问题出在 nVidia 驱动程序上。
我的主板是GT216 (GeForce GT 220).运行后ubuntu-drivers devices
我得到:
driver: nvidia-340 - distro non-free recommended
driver: xserver-xorg-video-nouveau -distro free builtin.
更新失败后,我关闭了电脑,重新启动时,登录屏幕上出现了登录无限循环(输入密码,无法登录 Gnome 桌面,再次要求输入密码,再次输入密码,无法登录 Gnome 桌面,重复)。我在线研究后发现,nvidia-340 驱动程序与我当前的内核版本不兼容。
使用tty
终端我完成了本教程https://www.if-not-true-then-false.com/2020/inttf-nvidia-patcher/ 然后我通过运行通过教程获得的可执行文件安装了 nvidia-340。我按照以下步骤操作:https://www.if-not-true-then-false.com/2021/debian-ubuntu-linux-mint-nvidia-guide/#before-installation。我现在可以登录 Gnome 了。
问题:
我的所有图形程序都被毁了。过去,当我的机器运行正常时,我安装了 Qt5 并链接到我用于工作的框架。现在该框架不再起作用,我无法再针对可视化驱动程序编译程序。
我尝试重新安装可视化驱动程序,就像 3-4 个月前在同一台机器上所做的那样(当时我成功设置了我用于工作的框架):但是我在第一步就失败了:
sudo apt install qt5-default
正在删除 nvidia-340 (340.108-0ubuntu5.20.04.2)... /var/lib/dpkg/info/nvidia-340.postrm: 59: /usr/sbin/update-initramfs: 未找到
dpkg: 处理软件包 nvidia-340 时出错(--remove):
已安装 nvidia-340 软件包删除后脚本子进程返回错误退出状态 127
dpkg:错误太多,正在停止
处理时遇到错误:
NVIDIA-340
由于错误太多,处理已停止。
E:子进程 /usr/bin/dpkg 返回错误代码 (1)。
我所做的尝试:
我尝试按照这里写的做Ubuntu 18.10 与 Nvidia 340 驱动程序有关的问题
我尝试运行
sudo apt-get install nvidia-current
:E:软件包‘nvidia-current’没有安装候选项我尝试从应用程序 -> 软件和更新 -> 附加驱动程序切换到 Nouveau,但不起作用。当我点击切换到该驱动程序时,
Error while applying changes: pk-client-error-quark: Error while installing package: installed nvidia-340 package post-removal script subprocess returned error exit status 127 (313)
我尝试运行
nvidia-settings
-> 这会弹出一个包含各种信息的新窗口,如果需要我可以提供。我试图运行
sudo apt-ache policy nvidia-340
->这将返回 nvidia -340:已安装:340-108-0ubuntu5.20.04.2候选:340-108-0ubuntu5.20.04.2 ...等等我尝试运行
which nvidia-smi
-> 但没有任何结果
6') 我试图运行nvidia-smi
-> 返回“nvidia-smi”命令,未找到任何内容,可以使用以下命令进行安装:并且这里出现了一个 nvidia 驱动程序列表,建议通过 sudo apt install nvidia-XYZ 或 sudo apt install nvidia-utils-XYZ 安装。
我试图运行
sudo ubuntu-drivers autoinstall
-> 这返回与之前相同的内容:以下软件包将被删除:nvidia-340 正在删除 nvidia-340... dpkg:处理软件包 nvidia-340 时出错(--remove):已安装 nvidia-340 软件包删除后脚本子进程返回错误退出状态 127 dpkg:错误太多,正在停止处理时遇到错误:nvidia-340...我试图运行
sudo apt-get install nvidia-340
-> 结果显示 nvidida-340 已经是最新版本 (340.108-0ubuntu5.20.04.2) 0 个已升级、0 个新安装、0 个要删除且 0 个未升级。1 个未完全安装或删除。需要获取 52,0 MB 的档案。此操作后,将使用 0B 的额外磁盘空间。是否继续?是 Y 获取:1... 2 秒内获取 52,0 MB 正在处理 libc-bin (2.31-0ubuntu9.2) 的触发器... 这里我没有得到任何返回的语句,我只是在终端上得到一个新行来输入新命令,如 $ > ...(因此进程正常退出,我可以继续做事)。
当写入(再次配置我的框架)时,sudo apt install qt5-default
我再次收到与上述相同的错误(在问题部分)
您知道发生了什么吗?或者我该怎么办?我真的希望能够再次编译应用程序并在我的计算机上运行它们。
我可以提供任何可能有助于解决我的问题的必要信息。
先感谢您!
编辑(新信息):
运行时输出的当前内核版本uname -r
是:
5.11.0-36-generic
答案1
您需要安装 5.4 内核,并卸载 5.11。
sudo apt purge nvidia*
sudo apt install --install-recommends linux-generic
现在重新启动,并在 grub 菜单中选择内核 5.4。
sudo apt remove --purge linux-generic-hwe-20.04 linux-hwe-* linux-modules-5.11* linux-modules-extra-5.11*
如果到目前为止一切正常,请运行
sudo ubuntu-drivers autoinstall
安装 Nvidia 驱动程序。
答案2
坚持使用5.4
内核并不是永远的选择。我遇到了同样的问题early 2009 iMac
,我的显卡可用的最后一个专有 nvidia 驱动程序C79 [GeForce 9400]
也是nvidia-340
。
正如其他人所说,这个司机内核 5.4 以上版本不支持。
这意味着当你需要更新的内核时(你迟早都必须要这么做),你将有两个选择:
- 尝试
nouveau
驱动程序(我的 iMac 上有很多冻结问题,但它可能对你有用,因为我们的卡不同) - 保留
nvidia-340
较新内核的专有驱动程序
对于(2),有是一个解决方案。
基本上,启动你的新内核(例如5.11
,使用实例nouveau
驱动程序),然后按照上面链接中的说明进行操作,例如:
sudo add-apt-repository ppa:kelebek333/nvidia-legacy
sudo apt-get update
sudo apt install nvidia-340
# Warning: below line for kernels >= 5.11
sudo apt install xorg-modulepath-fix
20.04
我确实在旧 iMac 上从(内核5.4
,已经有kelebek333
的nvidia-340
版本)升级到了21.10
(内核5.13
)(升级过程中我没有遇到任何问题)。升级过程确实删除了kelebeck333
repo),并启用了nouveau
驱动程序。
启动新系统后,我(再次)应用了上述命令,我的nvidia
配置现在是:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 21.10
Release: 21.10
Codename: impish
$ uname -r
5.13.0-28-generic
$ dpkg -l | grep nvidia
ii nvidia-340 340.108-4lmtrimpish3 amd64 NVIDIA binary driver - version 340.108
ii nvidia-opencl-icd-340 340.108-4lmtrimpish3 amd64 NVIDIA OpenCL ICD
ii nvidia-settings 470.57.01-0ubuntu3 amd64 Tool for configuring the NVIDIA graphics driver
ii screen-resolution-extra 0.18.1 all Extension for the nvidia-settings control panel
$ inxi -Gx
Graphics: Device-1: NVIDIA C79 [GeForce 9400] vendor: Apple iMac 9 1 driver: nvidia v: 340.108 bus-ID: 03:00.0
Device-2: Apple Built-in iSight type: USB driver: uvcvideo bus-ID: 1-4:2
Display: server: X.org 1.20.13 driver: loaded: nvidia tty: 186x32
编辑:上述升级程序也适用于Ubuntu 22.04
。