在 Ubuntu 18.04.2 LTS 上安装 Nvidia 驱动程序后启动时出现黑屏

在 Ubuntu 18.04.2 LTS 上安装 Nvidia 驱动程序后启动时出现黑屏

我最近组装了一台新电脑,在电脑上安装了 Ubuntu 18.04.2 LTS 和 Windows(双启动)。尝试使用以下命令更新 Nvidia 驱动程序后:

sudo apt-get install nvidia-331

我发现这里从那时起,每次尝试启动 Ubuntu 时,我都会遇到黑屏(在 GRUB 菜单之后)。

我看到很多帖子说有人在使用 Nvidia 驱动程序时遇到问题,所以看来我并不孤单。此外,已经有很多有用的答案/建议,所以我不想再就这个问题本身提出另一个问题(一旦解决了我目前的问题,我会花时间阅读并尝试不同的建议)。

我的问题是我无法通过第一步来尝试任何这些解决方案,即能够访问终端。

我尝试了从不同帖子中收集到的几种方法(例如这里):

  • Ctrl + Alt + F1:沒有任何事發生。
  • 突出显示 Ubuntu 选项并按 E。添加nouveau.modeset=0到以 linux 开头的行尾。按 F10 启动:按 F10 后,我看到一个超低分辨率命令终端(带有非常快的连续命令)闪烁(大约一秒钟),然后它变黑了。
  • 类似地,替换quiet splashnomodeset,然后按 F10 启动:结果相同。

我还可以尝试什么其他想法来显示终端?

或者如果这些选项都不起作用,我是否需要重新安装 Ubuntu?如果是这样,有任何链接可以解释如何做到这一点(我以前从未卸载过它)。

有关我的电脑规格的一些信息,希望对您有帮助:

  • 中央处理器:Ryzen 7 2700X
  • 主板:华硕 ROG STRIX X470-F GAMING
  • 显卡:NVidia Geforce RTX 2070

答案1

我发布了一个问题的答案,因为我设法解决了这个问题(感谢 AskUbuntu 社区)。这可能不是一个完全通用的答案,但我会解释我遵循的步骤,以防它能帮助别人。以下是我的做法:

1. 连接到终端

我按照说明在启动前编辑命令,即替换quiet splashnomodeset,然后按F10Ctrl+X启动(提供了说明这里)。启动后,我反复按Ctrl+Alt+F1Ctrl+Alt+F6Ctrl+Alt+F7。经过几次尝试(不得不重新启动并重试几次),我最终得到了一个分辨率极低的终端,我必须在其中输入我的登录名和密码,我照做了。

2.卸载错误的 Nvidia 驱动程序

我使用了提供的命令玛玛约吉卸载不正确的 Nvidia 驱动程序:

sudo apt-get purge nvidia*

下次我重新启动 Ubuntu 时,我能够以超低分辨率访问登录页面和 GUI,就像在我安装错误的 Nvidia 驱动程序之前一样。

3.安装正确的 Nvidia 驱动程序

在这里,我遵循了 Marmayogi 在他的评论中提供的说明,但 Nvidia 驱动程序的安装命令除外,因为它已经发生了变化,所以它是错误的(请参阅 Kerry Kobashi 的回答邮政详情请见):

  1. sudo add-apt-repository ppa:graphics-drivers/ppa
  2. sudo apt-get update
  3. sudo apt-get install nvidia-driver-410(这是新命令,也请先检查驱动程序的版本号!)
  4. 重启。

重启后,GUI 的分辨率恢复正常(除了 GRUB 仍然处于低分辨率,但问题不大)。为了检查一切是否顺利,我发出了以下命令:lsmod | grep nvidia,并且有输出,因此安装成功。

在这里我想强调的是,您需要检查您需要哪个版本的 Nvidia 驱动程序(即哪个与您的显卡兼容)。您可以查看Nvidia 网站每个驱动程序支持哪些产品(如果您有较新的显卡,则最新的驱动程序通常是最好的)。没有这样做,并且盲目地遵循另一篇未指定这一点的帖子中的说明,这首先导致我遇到所有这些问题(不幸的是,这一点在我看到的有关该主题的很多帖子中经常被忽略)。此外,在选择版本时,我读到某处说您只需写主版本(不要在意小数点后的数字,因此如果最新的驱动程序是 418.56,则只需写 418)。

答案2

以下是将 Nouveau 列入黑名单并安装 nvidia 驱动程序的详细步骤。你可以将其作为 @johnwolf1987 回答的延续来阅读,因为黑名单新事物 那边没有覆盖。

步骤1:显然从更新和升级开始

$ sudo apt-get update
$ sudo apt-get upgrade

第2步:然后删除所有 Nvidia 包(如果你的操作系统是全新安装的,请跳过此步骤):

$ sudo apt-get remove nvidia*
$ sudo apt autoremove

步骤3:安装以下软件包来构建内核:

$ sudo apt-get install dkms build-essential linux-headers-$(uname -r)

步骤4:现在阻止并禁用 Nouveau 内核驱动程序:

$ echo "# Disable the default Nouveau kernel driver" | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf
$ echo "# -----------------------------------------" | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf
$ echo "blacklist nouveau" | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf
$ echo "blacklist lbm-nouveau" | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf
$ echo "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf
$ echo "alias nouveau off" | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf
$ echo "alias lbm-nouveau off" | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf

要列出文件的内容/etc/modprobe.d/blacklist-nouveau.conf,请发出以下命令:

$ cat /etc/modprobe.d/blacklist-nouveau.conf

在此处输入图片描述 Figure-1: Contents of blacklist-nouveau.conf file

步骤5:通过发出以下命令禁用内核模式设置 (KMS):

$ echo "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/nouveau-kms.conf

要列出文件的内容/etc/modprobe.d/nouveau-kms.conf,请发出以下命令:

$ cat /etc/modprobe.d/nouveau-kms.conf

在此处输入图片描述 Figure-2: Contents of nouveau-kms.conf file

笔记:仅供参考,该文件nouveau-kms.conf可能不存在。

步骤6:输入以下linux命令重新生成内核initramfs:

$ sudo update-initramfs -u

步骤7:重新启动系统。

步骤8:重启后您需要退出 X 服务器,为此我们需要停止 LightDM,按Ctrl+Alt+F1打开控制台屏幕,使用您的用户和密码登录,然后:

$ sudo service lightdm stop

步骤9:现在安装你的 Nvidia 驱动程序:

$ sudo apt-get install nvidia-VERSION

笔记:的值nvidia-VERSION可以是、、nvidia-410等等,但你必须小心找到正确的nvidia-412nvidia-418Nvidia 显示驱动程序。忽略这一点,可能会导致重启时屏幕空白。

步骤10:重新启动系统。

步骤11:要显示当前已加载哪些可加载内核模块,请发出以下命令:

$ lsmod | grep nvidia

如果有输出,那么安装nvidia成功!

步骤12:现在发出以下命令来了解加载了哪个显示驱动程序:

$ sudo lshw -c video | grep 'configuration'

在此处输入图片描述 Figure-3: Display driver i915 has been loaded (This desktop does not have Nvidia GPU).

答案3

我在 Ubuntu 20.04 上遇到了同样的问题。我还发现 nvidia-driver-4xx 会导致此问题,并且最新的已知良好驱动程序是 nvidia-driver-390

nvidia-驱动程序-390

所以我的解决方法正在安装 nvidia-driver-390 而不是最新版本。

  1. 切换到 tty1

按 ctl+alt+F1。(看不到屏幕,但我们实际上可以切换到 tty1)

  1. 重新启动到恢复模式

ctl+alt+del 重新启动,然后选择高级 -> 恢复模式

  1. 使用 nomodeset 启动 X

首先启用网络,选择恢复启动进入GUI,然后选择并安装nvidia-driver-390。

重新启动后,您应该能够进入桌面。

答案4

我也遇到了同样的问题。登录后我看到一个空白屏幕。

我能够正确登录到恢复模式,所以问题肯定出在正常模式中使用的 Nvidia 驱动程序上,因为恢复模式使用 Nouveau 驱动程序。

因此,在重新启动后,我进入 root shell 提示符(通过 GRUB 菜单或 CTRL+ALT+Fn)(Fn 可以是 F1 到 F6)并运行:

sudo ubuntu-drivers autoinstall

上述命令将自动安装适合您的机器的驱动程序并更新它们。我这样做是为了省去为我的系统寻找合适驱动程序版本的麻烦,让 Ubuntu 来处理这个问题。

然后,使用以下命令验证更改:

nvidia-smi

然后,跑了:

sudo reboot

现在,我能够使用更新的驱动程序正确重新登录到正常模式桌面。

相关内容