我最近安装了 nvidia geforce RTX 2070 的显卡驱动程序。之后,Ubuntu(版本 21.04)就无法启动了。(很多人似乎都遇到了这个问题,例如[1],[2],[3]。)我已通过内置应用程序安装了驱动程序(忘记了名称,由于无法启动,所以无法查看,我认为是“某些东西和程序包”)。然后,我设法通过在sudo apt purge nvidia-.*
通过恢复模式访问的 Root Shell Prompt 中运行某种变体来删除驱动程序,这使我能够再次启动。
我接下来尝试通过运行下载的文件来安装驱动程序这里从终端。我想,如果它不起作用,我可以用上面的命令再次删除驱动程序。然而,这一次,同样的命令返回一条消息,说没有安装以“nvidia”开头的软件包。结果,我现在无法启动 Ubuntu。
我也尝试过
- 导航到文件(也在恢复模式根 shell 中)并使用选项启动它
--uninstall
。在此过程中它抛出了一些错误消息,但告诉我驱动程序已成功删除。但是,我仍然无法启动。 - 使用文件重新安装和卸载
- 导航到
/etc/
并删除名称中包含的所有文件xorg
(我不知道这些文件是什么,但这是我找到的建议修复之一。)
仍然无法启动。除了上述三件事或重新安装 Ubuntu 之外还有其他想法吗?
除了无法启动之外,我仍然需要让驱动程序运行。我只有 Ubuntu 来运行 ML 程序,这也需要功能正常的 GPU。还有什么比尝试另一个建议的驱动程序并希望获得不同的结果更好的吗?
编辑:我相信这(也是)一个硬件问题;在我更改 BIOS 设置后,行为发生了变化(仅在相反方向上进行了描述这里。
编辑2:有人告诉我我需要另一个电源,我接下来会尝试一下。
答案1
列出所有 Nvidia 相关的软件包
dpkg -l | grep nvidia
清除列表中看到的所有 Nvidia 相关软件包
当你成功完成此操作后
sudo ubuntu-drivers autoinstall
sudo prime-select nvidia
重新启动,现在你的系统应该可以正常工作了
答案2
我遇到了类似的问题。具体步骤可能不同,但你应该能从我的做法中得到一些启发。
按照上面提到的方法卸载 nvidia 驱动程序。
重新启动并登录到控制台而不是 UI
确保 nvidia 模块未加载。您可以通过运行命令来执行此操作
sudo lsmod | grep nvidia
这将列出内核加载的所有 nvidia 模块。如果模块已加载,则表示您的 nvidia 卸载不彻底,您需要手动删除内核模块。
rmmod <name of nvidia modules>
- 安装 xserver-xorg
sudo apt-get install --reinstall xserver-xorg-video-nouveau
这会将您的系统设置为使用 nouveau。
重新启动并连接显示器。现在应该可以检测到了。
使用“显示应用程序”中的“附加驱动程序”来安装 nvidia 驱动程序。(我认为目前最新的是“nvidia 驱动程序元包来自 nvidia-driver-470”。)
重启。
假设您没有启用安全启动。如果启用了安全启动,您需要确保 nvidia 内核模块已签名并加载。
运行
sudo lsmod | grep nvidia
并nvidia-smi
检查 nvidia 驱动程序是否已加载。现在运行 torch.cuda.is_available() 并查看它是否能够使用 GPU。