奇怪的是,Nvidia 驱动程序仅在恢复模式下启动时才能正确加载(未列入黑名单,安全启动已禁用)

奇怪的是,Nvidia 驱动程序仅在恢复模式下启动时才能正确加载(未列入黑名单,安全启动已禁用)

我在使用 Ubuntu 20.04 和 20.10 的机器上安装 Nvidia 驱动程序时遇到了严重问题。我的显卡是 RTX 2080,我的机器是华硕台式机。当 modprobe 无法正确加载 Nvidia 内核模块时,我遇到了典型的错误,例如在启动启动画面上反复出现有关 nvidia 持久守护程序无法启动的警告并nvidia-smi抛出错误

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

在 /var/log/syslog 中,我看到以下信息

kernel: [  127.697714] nvidia-nvlink: Nvlink Core is being initialized, major device number 510
kernel: [  127.698904] NVRM: Can't find an IRQ for your NVIDIA card!
kernel: [  127.698905] NVRM: Please check your BIOS settings.
kernel: [  127.698905] NVRM: [Plug & Play OS] should be set to NO
kernel: [  127.698905] NVRM: [Assign IRQ to VGA] should be set to YES 
kernel: [  127.698907] nvidia: probe of 0000:01:00.0 failed with error -1
kernel: [  127.698915] NVRM: The NVIDIA probe routine failed for 1 device(s).
kernel: [  127.698915] NVRM: None of the NVIDIA devices were initialized.
kernel: [  127.699812] nvidia-nvlink: Unregistered the Nvlink Core, major device number 510
systemd[1]: logrotate.service: Succeeded.
systemd[1]: Finished Rotate log files.
systemd-udevd[381]: nvidia: Process '/sbin/modprobe nvidia-uvm' failed with exit code 1.
systemd[1]: Starting NVIDIA Persistence Daemon...
nvidia-persistenced: Verbose syslog connection opened
nvidia-persistenced: Now running with user ID 126 and group ID 133
nvidia-persistenced: Started (5625)
dbus-daemon[5486]: dbus[5486]: Unknown group "power" in message bus configuration file

我立即完成并核对的事情有

  1. BIOS 中已禁用已验证的安全启动。
  2. 检查以确保 /lib 和 /etc 中的 modprobe 黑名单没有问题
  3. 使用 nvidia-prime 确保系统配置为使用 Nvidia 而不是 Intel。
  4. 清除并重新安装 nvidia 驱动程序。我试过 460 和 450 驱动程序。

我还尝试使用 Nvidia 提供的 .run 安装程序文件安装驱动程序,而不是使用发行版提供的安装选项,但我仍然收到相同的错误。我最初运行的是 Ubuntu 20.04 LTS,我甚至进行了 dist-upgrade 并升级到 Ubuntu 20.10,以防万一。使用新的 Linux 内核 5.8 而不是 5.4,Nvidia 驱动程序仍然无法正常运行。

然而,奇怪的是,当我选择在 Grub 中启动恢复模式选项,然后从恢复选项屏幕启动时,驱动程序运行正常!我无法弄清楚当我首先启动恢复模式时是什么让驱动程序运行的。

我确实已经编辑了我的 grub 文件,以启动 Linux 内核并使用选项noresume acpi=off来处理与 ACPI 相关的一些问题,万一有问题的话,这可能是相关的。

目前,一个临时解决方法是在正常桌面会话之前先启动恢复模式。但是,我想弄清楚发生了什么。有人能帮我找出确切的问题是什么吗?是否有可能解决它?

相关内容