最近碰到过两次由于安装cuda不同版本(可能升级了NVIDIA驱动)导致Ubuntu16.04系统启动黑屏+反复输入密码进不去系统,在此记录下解决办法,以备不时之需.
1.首先通过长按shift键进入到选择grub选项,然后选择某一个内核版本,默认选择光标是在第一行Ubuntu上的(整个第一行为白色),按E键(edit的意思)进入编辑该引导选项的界面,可以看到,中下部分有一处写着“ro“,这才发现端倪所在:
”ro“是”read only“只读的意思,在操作系统的基础知识中,我们知道一个操作系统在开机启动的过程中,有些软件会需要在此时写入一些信息和数据到系统中,才能正常运行,这里写成了”ro“会导致开机的时候一些软件无法写入数据,导致一直等待可以写入的时机否则不进行下一步,从而系统一直等待无法启动。这里我的解决方法是把”ro“改成”rw“,即”read & write“,可以读取并且可以写入,同时为了排除独立显卡的影响因素也在splash后面加上了nomodeset,然后按F10或者ctrl+x重启。
进入到输入密码界面后,会出现反复输入密码进不去系统的现象,解决办法如下:
在命令行用sudo apt update,以及sudo apt upgrade更新自己的系统内核,然后用sudo apt install -f和sudo apt autoremove来无副作用的删除旧内核,更新系统后重启一切正常,即可进入系统。
进入系统后,修改 /boot/grub/grub.cfg
找到第146,147行,将内核版本号修改为可以正常进入系统的内核版本号(默认一般是第一个内核版本号);
修改完成后,然后就可以正常进入系统了;