解決 Ubuntu 在啟動時凍結的問題
我介紹的解決方案適用於配有 NVIDIA 顯卡的系統,因為你所面臨的系統凍結問題是由開源的 NVIDIA Nouveau 驅動所導致的。
事不宜遲,讓我們馬上來看看如何解決這個問題。
步驟 1:編輯 Grub
在啟動系統的過程中,請你在如下圖所示的 Grub 界面上停下。如果你沒看到這個界面,在啟動電腦時請按住 Shift
鍵。
在這個界面上,按 E
鍵進入編輯模式。
你應該看到一些如下圖所示的代碼。此刻你應關注於以 「linux」 開頭的那一行。
步驟 2:在 Grub 中臨時修改 Linux 內核參數
回憶一下,我們的問題出在 NVIDIA 顯卡驅動上,是開源版 NVIDIA 驅動的不適配導致了我們的問題。所以此處我們能做的就是禁用這些驅動。
此刻,你有多種方式可以禁用這些驅動。我最喜歡的方式是通過 nomodeset
來禁用所有顯卡的驅動。
請把下列文本添加到以 「linux」 開頭的那一行的末尾。此處你應該可以正常輸入。請確保你把這段文本加到了行末。
nomodeset
現在你屏幕上的顯示應如下圖所示:
按 Ctrl+X
或 F10
保存並退出。下次你就將以修改後的內核參數來啟動。
對以上操作的解釋
所以我們究竟做了些啥?那個
nomodeset
又是個什麼玩意兒?讓我來向你簡單地解釋一下。通常來說,顯卡是在 X 或者是其他顯示伺服器開始執行後才被啟用的,也就是在你登錄系統並看到圖形界面以後。
但近來,視頻模式的設置被移進了內核。這麼做的眾多優點之一就是能你看到一個漂亮且高清的啟動畫面。
若你往內核中加入
nomodeset
參數,它就會指示內核在顯示服務啟動後才載入顯卡驅動。換句話說,你在此時禁止視頻驅動的載入,由此產生的衝突也會隨之消失。你在登錄進系統以後,還是能看到一切如舊,那是因為顯卡驅動在隨後的過程中被載入了。
步驟 3:更新你的系統並安裝 NVIDIA 專有驅動
別因為現在可以登錄系統了就過早地高興起來。你之前所做的只是臨時措施,在下次啟動的時候,你的系統依舊會嘗試載入 Nouveau 驅動而因此凍結。
這是否意味著你將不得不在 Grub 界面上不斷地編輯內核?可喜可賀,答案是否定的。
你可以在 Ubuntu 上為 NVIDIA 顯卡安裝額外的驅動。在使用專有驅動後,Ubuntu 將不會在啟動過程中凍結。
我假設這是你第一次登錄到一個新安裝的系統。這意味著在做其他事情之前你必須先更新 Ubuntu。通過 Ubuntu 的 Ctrl+Alt+T
系統快捷鍵打開一個終端,並輸入以下命令:
sudo apt update && sudo apt upgrade -y
在上述命令執行完以後,你可以嘗試安裝額外的驅動。不過根據我的經驗,在安裝新驅動之前你需要先重啟一下你的系統。在你重啟時,你還是需要按我們之前做的那樣修改內核參數。
當你的系統已經更新和重啟完畢,按下 Windows
鍵打開一個菜單欄,並搜索「 軟體與更新 」。
然後切換到「 額外驅動 」標籤頁,並等待數秒。然後你就能看到可供系統使用的專有驅動了。在這個列表上你應該可以找到 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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive