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对本博客的大力技术支持!