之前在写小论文,接近一个月没有用Ubuntu,结果想要切换到Linux下使用Hadoop的时候,在grub界面选择第一项Ubuntu却迟迟无法进入登陆界面,一直卡在原地,特征为长久黑屏/紫屏无响应,无法按ctrl+alt+F1进入命令行以及任何其他操作,即使尝试所谓的“宕机魔术组合键”ctrl+alt+prtscr(都按住之后)+r、e、i、s、u、b(按顺序一个个按)都无法重新启动系统,看到网上的一些教程照做,禁止独显启动等之后也没有用,差点以为需要重装系统,后来发现了原因,解决方法如下:
开机后自动显示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来无副作用的删除旧内核,更新系统后重启一切正常,再也没有无法进入系统。