Linux中國

解決 Ubuntu 在啟動時凍結的問題

我介紹的解決方案適用於配有 NVIDIA 顯卡的系統,因為你所面臨的系統凍結問題是由開源的 NVIDIA Nouveau 驅動所導致的。

事不宜遲,讓我們馬上來看看如何解決這個問題。

步驟 1:編輯 Grub

在啟動系統的過程中,請你在如下圖所示的 Grub 界面上停下。如果你沒看到這個界面,在啟動電腦時請按住 Shift 鍵。

在這個界面上,按 E 鍵進入編輯模式。

按「E」按鍵

你應該看到一些如下圖所示的代碼。此刻你應關注於以 「linux」 開頭的那一行。

前往 Linux 開頭的那一行

步驟 2:在 Grub 中臨時修改 Linux 內核參數

回憶一下,我們的問題出在 NVIDIA 顯卡驅動上,是開源版 NVIDIA 驅動的不適配導致了我們的問題。所以此處我們能做的就是禁用這些驅動。

此刻,你有多種方式可以禁用這些驅動。我最喜歡的方式是通過 nomodeset 來禁用所有顯卡的驅動。

請把下列文本添加到以 「linux」 開頭的那一行的末尾。此處你應該可以正常輸入。請確保你把這段文本加到了行末。

 nomodeset

現在你屏幕上的顯示應如下圖所示:

通過向內核添加 nomodeset 來禁用顯卡驅動

Ctrl+XF10 保存並退出。下次你就將以修改後的內核參數來啟動。

對以上操作的解釋

所以我們究竟做了些啥?那個 nomodeset 又是個什麼玩意兒?讓我來向你簡單地解釋一下。

通常來說,顯卡是在 X 或者是其他顯示伺服器開始執行後才被啟用的,也就是在你登錄系統並看到圖形界面以後。

但近來,視頻模式的設置被移進了內核。這麼做的眾多優點之一就是能你看到一個漂亮且高清的啟動畫面。

若你往內核中加入 nomodeset 參數,它就會指示內核在顯示服務啟動後才載入顯卡驅動。

換句話說,你在此時禁止視頻驅動的載入,由此產生的衝突也會隨之消失。你在登錄進系統以後,還是能看到一切如舊,那是因為顯卡驅動在隨後的過程中被載入了。

步驟 3:更新你的系統並安裝 NVIDIA 專有驅動

別因為現在可以登錄系統了就過早地高興起來。你之前所做的只是臨時措施,在下次啟動的時候,你的系統依舊會嘗試載入 Nouveau 驅動而因此凍結

這是否意味著你將不得不在 Grub 界面上不斷地編輯內核?可喜可賀,答案是否定的。

你可以在 Ubuntu 上為 NVIDIA 顯卡安裝額外的驅動。在使用專有驅動後,Ubuntu 將不會在啟動過程中凍結

我假設這是你第一次登錄到一個新安裝的系統。這意味著在做其他事情之前你必須先更新 Ubuntu。通過 Ubuntu 的 Ctrl+Alt+T 系統快捷鍵打開一個終端,並輸入以下命令:

sudo apt update && sudo apt upgrade -y

在上述命令執行完以後,你可以嘗試安裝額外的驅動。不過根據我的經驗,在安裝新驅動之前你需要先重啟一下你的系統。在你重啟時,你還是需要按我們之前做的那樣修改內核參數。

當你的系統已經更新和重啟完畢,按下 Windows 鍵打開一個菜單欄,並搜索「 軟體與更新 Software & Updates 」。

點擊「軟體與更新」(Software & Updates)

然後切換到「 額外驅動 Additional Drivers 」標籤頁,並等待數秒。然後你就能看到可供系統使用的專有驅動了。在這個列表上你應該可以找到 NVIDIA。

選擇專有驅動並點擊「 應用更改 Apply Changes 」。

NVIDIA 驅動安裝中

新驅動的安裝會費點時間。若你的系統啟用了 UEFI 安全啟動,你將被要求設置一個密碼。你可以將其設置為任何容易記住的密碼。它的用處我將在步驟 4 中說明。

你可能需要設置一個安全啟動密碼

安裝完成後,你會被要求重啟系統以令之前的更改生效。

在新驅動安裝好後重啟你的系統

步驟 4:處理 MOK(僅針對啟用了 UEFI 安全啟動的設備)

如果你之前被要求設置安全啟動密碼,此刻你會看到一個藍色界面,上面寫著 「MOK management」。這是個複雜的概念,我試著長話短說。

對 MOK(設備所有者密碼)的要求是因為安全啟動的功能要求所有內核模塊都必須被簽名。Ubuntu 中所有隨 ISO 鏡像發行的內核模塊都已經簽了名。由於你安裝了一個新模塊(也就是那個額外的驅動),或者你對內核模塊做了修改,你的安全系統可能視之為一個未經驗證的外部修改,從而拒絕啟動。

因此,你可以自己對系統模塊進行簽名(以告訴 UEFI 系統莫要大驚小怪,這些修改是你做的),或者你也可以簡單粗暴地禁用安全啟動

現在你對安全啟動和 MOK 有了一定了解,那咱們就來看看在遇到這個藍色界面後該做些什麼。

如果你選擇「繼續啟動」,你的系統將有很大概率如往常一樣啟動,並且你啥事兒也不用做。不過在這種情況下,新驅動的有些功能有可能工作不正常。

這就是為什麼,你應該「選擇註冊 MOK」。

它會在下一個頁面讓你點擊「繼續」,然後要你輸入一串密碼。請輸入在上一步中,在安裝額外驅動時設置的密碼。

別擔心!

如果你錯過了這個關於 MOK 的藍色界面,或不小心點了「繼續啟動」而不是「註冊 MOK」,不必驚慌。你的主要目的是能夠成功啟動系統,而通過禁用 Nouveau 顯卡驅動,你已經成功地實現了這一點。

最壞的情況也不過就是你的系統切換到 Intel 集成顯卡而不再使用 NVIDIA 顯卡。你可以之後的任何時間安裝 NVIDIA 顯卡驅動。你的首要任務是啟動系統。

步驟 5:享受安裝了專有 NVIDIA 驅動的 Linux 系統

當新驅動被安裝好後,你需要再次重啟系統。別擔心!目前的情況應該已經好起來了,並且你不必再去修改內核參數,而是能夠直接啟動 Ubuntu 系統了。

我希望本教程幫助你解決了 Ubuntu 系統在啟動中凍結的問題,並讓你能夠成功啟動 Ubuntu 系統。

如果你有任何問題或建議,請在下方評論區給我留言。

via: https://itsfoss.com/fix-ubuntu-freezing/

作者:Abhishek Prakash 選題:lujun9972 譯者:Raverstern 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國