Linux 内核升级初步尝试
事件原因
一个多月没用 Ubuntu,一用就给我搞这一出。刚开始下载东西出现问题,然后简单地 sudo apt upgrade
。然后莫名其妙地卡住了,于是转到 tty1 去强行 reboot,然后...就进不去了。
黑屏显示内容有一句为 Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
。
事件分析
主要就是因为升级的问题。内核升级了,导致显卡不兼容。而GRUB菜单中的Ubuntu默认成为了你更新后的内核。
解决方式
1. 首先想办法进入Ubuntu: 在开机的GRUB菜单中选择Advanced Options,里面有你系统中所有的内核,选择旧一点的内核,顺利进入。
2. 查看当前所有已经安装的内核: dpkg --get-selections | grep linux-image
3. 查看自己能进入的内核名称: uname -r
4. 卸载掉那些新的内核,例如要卸载 4.15.0-56,代码如下: sudo apt-get remove linux-image-unsigned-4.15.0-56-generic
5. 最后要把 GRUB 菜单中 Ubuntu 默认选项内核改成当前的这个内核: sudo update-grub
事件收获
- 为什么可以进入以前的内核呢?
之前不知道,现在答案很明显咯。内核就是一个文件,说明磁盘上面有好几个内核文件,然后在GRUB菜单上面选择咯,选择不同的就会用不同的来引导。只不过以前都是直接点击Ubuntu选项,没细看过Advanced Options,以为内核文件就一个。
参考文章
- 解决参考: https://www.cnblogs.com/ljdblog/p/7805179.html
- 内核升级详细过程: https://jasonhzy.github.io/2019/02/06/ubuntu-kernel-upgrade/