云网牛站
所在位置:首页 > Linux教程 > 解决Ubuntu 18.04在启动时冻结的问题

解决Ubuntu 18.04在启动时冻结的问题

2019-04-08 11:40:05作者:戴进稿源:云网牛站

本文向你展示如何通过安装专有的NVIDIA驱动程序来处理启动时的Ubuntu冻结。请注意,虽然本文是使用Ubuntu 18.04执行的,但这也适用于其他基于Ubuntu的发行版,例如Linux Mint等,我已经在Zorin OS中得到了确认。

 

背景

前几天我买了一台Acer Predator笔记本电脑(联盟链接)来测试各种Linux发行版,这是一款体积庞大,重量级的笔记本电脑,与我喜欢的小巧轻便的笔记本电脑(如卓越的戴尔XPS)形成鲜明对比。

我之所以选择这款游戏笔记本电脑,即使我不在PC上玩游戏,也是NVIDIA Graphics,Acer Predator Helios 300配备NVIDIA Geforce GTX 1050Ti。

NVIDIA因其与Linux的兼容性差而闻名(参考:两种在Ubuntu 18.04上安装Nvidia驱动程序的方法),一些It读者向我的NVIDIA笔记本电脑寻求帮助,我什么都不做,因为我没有配备NVIDIA显卡的系统。

因此,当我决定购买一个用于测试Linux发行版的新专用设备时,我选择了一台带有NVIDA图形的笔记本电脑。

这款笔记本电脑配备了安装在120 GB SSD和1TB HDD上的Windows 10,用于存储数据,我使用Ubuntu 18.04双启动Windows 10。

我启动进入Ubuntu。它显示了熟悉的紫色屏幕然后我注意到它在那里冻结了,鼠标赢了“移动,我无法输入任何东西,除了按住电源按钮关闭设备外别无他法。

在下次登录尝试时也是如此,Ubuntu甚至在到达登录屏幕之前就陷入紫色屏幕。

听起来很熟悉?让我告诉你如何在登录时解决Ubuntu冻结这个问题。

 

由于NVIDIA驱动程序,修复Ubuntu 18.04在启动时冻结

我将在此处描述的解决方案适用于具有NVIDIA显卡的系统,这是因为你的系统因为开源的NVIDIA Nouveau驱动程序而冻结了。

第1步:编辑Grub

启动系统时,只需停在Grub屏幕上,在此屏幕上,按“E”键进入编辑模式:

解决Ubuntu 18.04在启动时冻结的问题

应该看到类似下面的代码,应该关注以Linux开头的行:

解决Ubuntu 18.04在启动时冻结的问题

第2步:在Grub中临时修改Linux内核参数

请记住,我们的问题在于NVIDIA显卡驱动程序,这与NVIDIA驱动程序的开源版本不兼容导致了这个问题,所以我们在这里可以做的是禁用这些驱动程序。

现在,有几种方法可以尝试禁用这些驱动程序,我最喜欢的方法是使用nomodeset禁用所有视频/图形卡。

只需在从Linux开始的行末尾添加以下文本即可,你应该能够正常打字,只需确保在行尾添加它:

nomodeset

现在你的屏幕应该是这样的:

解决Ubuntu 18.04在启动时冻结的问题

按Ctrl+X或F10保存并退出,将使用新修改的内核参数启动。

第3步:更新系统并安装专有的NVIDIA驱动程序

现在可以登录到你的系统,你所做的是暂时的,下次启动你的系统时,你的系统仍然会冻结,因为它仍然会尝试加载Nouveau驱动程序。

这是否意味着你将始终必须从grub屏幕编辑内核?答案是肯定的。

你可以在这里做的是在Ubuntu for NVIDIA中安装其他驱动程序,使用这些专有驱动程序时,Ubuntu不会在启动时冻结。

我假设它是你第一次登录到新安装的系统,这意味着你必须在执行任何其他操作之前更新Ubuntu,在Ubuntu中使用Ctrl+Alt+T键盘快捷键打开终端并使用以下命令:

sudo apt update && sudo apt upgrade -y

可以尝试在完成上述命令后立即在Ubuntu中安装其他驱动程序,但根据我的经验,必须重新启动系统才能成功安装新驱动程序,当你重新启动时,你将不得不像我们之前那样再次更改内核参数。

更新并重新启动系统后,按Windows键进入菜单并搜索“软件和更新”:

解决Ubuntu 18.04在启动时冻结的问题

现在转到Additional Drivers选项卡并等待几秒钟,在这里,将看到适用于系统的专有驱动程序,应该在列表中看到NVIDIA。

选择专有驱动程序,然后单击Apply Changes:

解决Ubuntu 18.04在启动时冻结的问题

安装新驱动程序需要一些时间,如果在系统上启用了UEFI安全启动,则还会要求你设置密码,可以将其设置为易于记忆的任何内容,我将在后面的第4步向你展示其含义:

解决Ubuntu 18.04在启动时冻结的问题

安装完成后,系统会要求你重新启动系统以使更改生效:

解决Ubuntu 18.04在启动时冻结的问题

步骤4:处理MOK(仅适用于启用UEFI安全启动的设备)

如果要求你设置安全启动密码,将看到一个蓝屏,其中显示了“MOK management”,这是一个复杂的话题,我将尝试用更简单的术语来解释它。

由于需要对所有内核模块进行签名的安全启动功能,因此需要MOK(机器所有者密钥),Ubuntu为它在ISO中提供的所有内核模块执行此操作,由于你安装了新模块(附加驱动程序)或对内核模块进行了更改,因此你的安全系统可能会将其视为系统中的无理/外部更改,并可能拒绝启动。

因此,可以自己签署内核模块(告诉你的UEFI系统不要因为你进行了这些更改而导致恐慌),或者只是禁用安全启动。

现在已经了解了一些关于安全启动和MOK的知识,让我们看看在下次启动时看到蓝屏时下次启动时该怎么做。

如果选择“Continue boot”,则可能是你的系统将正常启动,根本不需要执行任何操作,但有可能并非新驱动程序的所有功能都能正常工作。

这就是为什么你应该选择Enroll MOK:

解决Ubuntu 18.04在启动时冻结的问题

它将要求你在下一个屏幕中继续,然后询问密码,使用在上一步中安装其他驱动程序时设置的密码,将被要求立即重启系统。

第5步:使用专有的NVIDIA驱动程序使用Ubuntu Linux

安装新驱动程序后,将不得不重新启动系统,你不再需要编辑内核参数了,你将直接启动到Ubuntu 18.04。

最后,希望本文能帮助你解决Ubuntu在启动时冻结的问题,并且你能够启动进入你的Ubuntu 18.04系统。

 

相关主题

修复因为断电而损坏的Ubuntu 18.04操作系统

精选文章
热门文章