我最近组装了一台新电脑,在电脑上安装了 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 splash
为nomodeset
,然后按 F10 启动:结果相同。
我还可以尝试什么其他想法来显示终端?
或者如果这些选项都不起作用,我是否需要重新安装 Ubuntu?如果是这样,有任何链接可以解释如何做到这一点(我以前从未卸载过它)。
有关我的电脑规格的一些信息,希望对您有帮助:
- 中央处理器:Ryzen 7 2700X
- 主板:华硕 ROG STRIX X470-F GAMING
- 显卡:NVidia Geforce RTX 2070
答案1
我发布了一个问题的答案,因为我设法解决了这个问题(感谢 AskUbuntu 社区)。这可能不是一个完全通用的答案,但我会解释我遵循的步骤,以防它能帮助别人。以下是我的做法:
1. 连接到终端
我按照说明在启动前编辑命令,即替换quiet splash
为nomodeset
,然后按F10
或Ctrl+X
启动(提供了说明这里)。启动后,我反复按Ctrl+Alt+F1
、Ctrl+Alt+F6
和Ctrl+Alt+F7
。经过几次尝试(不得不重新启动并重试几次),我最终得到了一个分辨率极低的终端,我必须在其中输入我的登录名和密码,我照做了。
2.卸载错误的 Nvidia 驱动程序
我使用了提供的命令玛玛约吉卸载不正确的 Nvidia 驱动程序:
sudo apt-get purge nvidia*
下次我重新启动 Ubuntu 时,我能够以超低分辨率访问登录页面和 GUI,就像在我安装错误的 Nvidia 驱动程序之前一样。
3.安装正确的 Nvidia 驱动程序
在这里,我遵循了 Marmayogi 在他的评论中提供的说明,但 Nvidia 驱动程序的安装命令除外,因为它已经发生了变化,所以它是错误的(请参阅 Kerry Kobashi 的回答邮政详情请见):
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-driver-410
(这是新命令,也请先检查驱动程序的版本号!)- 重启。
重启后,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-412
nvidia-418
Nvidia 显示驱动程序。忽略这一点,可能会导致重启时屏幕空白。
步骤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
答案4
我也遇到了同样的问题。登录后我看到一个空白屏幕。
我能够正确登录到恢复模式,所以问题肯定出在正常模式中使用的 Nvidia 驱动程序上,因为恢复模式使用 Nouveau 驱动程序。
因此,在重新启动后,我进入 root shell 提示符(通过 GRUB 菜单或 CTRL+ALT+Fn)(Fn 可以是 F1 到 F6)并运行:
sudo ubuntu-drivers autoinstall
上述命令将自动安装适合您的机器的驱动程序并更新它们。我这样做是为了省去为我的系统寻找合适驱动程序版本的麻烦,让 Ubuntu 来处理这个问题。
然后,使用以下命令验证更改:
nvidia-smi
然后,跑了:
sudo reboot
现在,我能够使用更新的驱动程序正确重新登录到正常模式桌面。