ubuntu16.04循環登陸與NVIDIA顯卡驅動的卸載/安裝
最近購置了一台自己組裝的新台式機,在上面安裝了ubuntu和windows雙系統,准備在ubuntu上運行CARLA。Ubuntu系統在我剛剛安裝好的時候出了挺多問題的,沒有網卡驅動,沒有顯卡驅動。都安裝好了以后,系統在某一天突然出現了循環登錄的現象,估摸着就是顯卡驅動有問題。
顯卡型號Geforce 1660 super
ubuntu 16.04
解除循環登陸:卸載顯卡驅動
在終端輸入
sudo service lightdm stop #停止lightdm,
按ctrl+alt+f1,輸入自己ubuntu的賬戶和密碼之后進入tty控制台,輸入如下指令:
方式一:
sudo ./NVIDIA-Linux-x86_64-440.100.run –uninstall #對應自己的版本號,執行顯卡驅動卸載命令
方式二:
sudo /usr/bin/nvidia-uninstall
完成后輸入 nvidia-smi,回車后若沒有輸出內容則說明卸載成功。
輸入
sudo service lightdm start
可回到圖形界面。
解決循環登陸的根源:內核降級
卸載了顯卡驅動后才重新登陸了ubuntu系統。后來發現出現循環登陸是ubuntu系統自動將內核升級了,於是與現有的顯卡驅動不兼容。想要回到先前版本的內核,但是在網上搜索了很多教程都沒有用,網上的教程大都是修改grub引導開機文件,這實際上就是自動在開機的時候選擇了advanced ubuntu並且選到了先前對應的內核。類似教程可以參看:https://blog.csdn.net/u013431916/article/details/82530523
但是這個教程中如何修改grub文件也有一些不全面的地方,記錄如下:
1.如果安裝ubuntu的時候選擇的中文,那么改grub文件時應該不應該改為
GRUB_DEFAULT=“Advanced options for Ubuntu>Ubuntu, with Linux 3.16.0-43-generic”
而是:
GRUB_DEFAULT=“Ubuntu高級選項>Ubuntu, with Linux 3.16.0-43-generic”
2.也可以改為
GRUB_DEFAULT=“1>3” #即開機時的選項,0代表當前界面的第一項,>代表進入下一界面
暫時沒看到更好的解決辦法。歡迎指正。
重新安裝顯卡驅動
這位大佬在步驟上已經介紹得十分詳盡。但是我的台式機按照這個方式安裝成功后系統設置-詳細信息中仍然無法顯示顯卡信息。說明沒有安裝好。
https://blog.csdn.net/qq_40115871/article/details/106167245
這篇博客中說如果是台式機的話,在運行下面這條指令:
sudo ./NVIDIA-Linux-x86_64-440.100.run --dkms --no-opengl-files
的時候不需要添加–no-opengl-files指令,我嘗試只加—dkms仍然沒有成功。
–no-opengl-files:表示只安裝驅動文件,不安裝OpenGL文件。這個參數不可省略,否則會導致登陸界面死循環,英語一般稱為”login loop”或者”stuck in login”。
當然臉紅的情況下並不會。
必選參數解釋:因為NVIDIA的驅動默認會安裝OpenGL,而Ubuntu的內核本身也有OpenGL、且與GUI顯示息息相關,一旦NVIDIA的驅動覆寫了OpenGL,在GUI需要動態鏈接OpenGL庫的時候就引起問題。
–no-x-check:表示安裝驅動時不檢查X服務,非必需,我們已經禁用圖形界面。
–no-nouveau-check:表示安裝驅動時不檢查nouveau,非必需,我們已經禁用驅動。
-Z, –disable-nouveau:禁用nouveau。此參數非必需,因為之前已經手動禁用了nouveau。
-A:查看更多高級選項。
-dkms(默認開啟)在 kernel 自行更新時將驅動程序安裝至模塊中,從而阻止驅動程序重新安裝。在 kernel 更新期間,dkms 觸發驅動程序重編譯至新的 kernel 模塊堆棧。
我最后安裝成功是運行了這條指令:
sudo ./NVIDIA-Linux-x86_64-440.100.run –dkms -–no-nouveau-check
並且在安裝時有一些選擇yes or no的時候需要有注意的地方(建議大家不要過度依賴教程,仔細看一下上面的英文是什么意思,有時候教程上不一定就是對的)
The distribution-provided pre-install script failed! Are you sure you want to continue? 選擇 yes 繼續。
Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? 選擇 yes 繼續。
Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 選擇 Yes繼續(我認為這個最重要,它的意思是為你自動設置開啟x的時候使用NVIDIA。)
我選擇的就和下面這個教程選擇的不一樣。其實卸載重裝也不是什么太難的事情,大不了所試幾次。歡迎大佬們的批評指正~
https://blog.csdn.net/qq_35686293/article/details/103409901
最后鳴謝我的師兄Hans對本博客的大力技術支持!