记一次系统崩溃的惨痛经历
昨天晚上闲来无事,手残的在命令中敲上了
sudo apt-get update && echo y | sudo apt-get upgrade
没错,更新系统。然后没想到的是,内核升级了!!!!
由于开多个IDE,电脑有点卡顿,想想电脑好久没重启了,于是乎。
reboot
然后令人愉快的一幕便出现了了,由于我的boot分区只分了600MB,升级内核后,旧内核并没有删掉,所以剩余空间不足,这时系统第一次崩溃出现了。看了一眼,无关紧要的报错,顺手点了提交。过了一会提示网络有问题,一看,好嘛,还有一个崩溃,是无线驱动蹦了,重启无线,发现无法解决。
此时还没想到是因为内核,找到无线驱动删掉,到ubuntu中找到deb包重新安装,安装到一半报错了,说是内核有问题。
在谷歌搜了一下内核版本和驱动编号,然后在mail-archive中找到了两个跟我一样的哥们,确定了是因为内核问题,泪目.........。
此时的解决方案,只有将内核降级,尴尬的是此时,我正在外地出差中,电脑后续还使用,我还不敢将内核降级,万一降级不成功,估计此次出差,我滴跪了.......
内核降级方案
网上大多数资料是修改配置文件,对于此种方法,本人觉得危险性太大,没有尝试,还有一种方法是删除掉最新的内核(ps:系统当中旧内核没有清理方可采用此方法,不然就进不去系统了)
# 删掉最新内核
sudo apt-get remove linux-image-4.15.0-24-generic
#结果报错,无法移除当前正在运行的内核
E: Aborting removal of the running kernel
于是重启,选择Ubuntu 高级选项(ps 此处在开机界面选择)
然后选择 合适的内核版本号来启动系统,此处我选择的是4.13.0-45-generic,注意此处不要选择恢复模式,
重启成功后,查看当前内核版本
uname -r
4.13.0-45-generic
可以发现内核切换成功,执行卸载内核,即可成功卸载。
#卸载最新内核
sudo apt-get remove linux-image-4.15.0-24-generic
#更新grub
sudo update-grub
重装无线驱动
降级内核后,发现无线功能还是无法使用,所以重装大法好,开始重装无线驱动
进入驱动页面,下载最新驱动
https://launchpad.net/ubuntu/xenial/amd64/bcmwl-kernel-source/
sudo dpkg --install ./bcmwl-kernel-source_6.30.223.271+bdcom-0ubuntu1_1.3_amd64.deb
到此步,无线成功复活
禁止内核upgrade升级
虽说有点亡羊补牢了,但是为了防止以后再出现此类情况,还是禁用一下upgrade升级内核,防止内核不注意就升级了
# 请在root执行此命令 将内核版本替换成自己的
liu# echo "linux-image-4.13.0-45-generic hold" | dpkg --set-selections
liu# dpkg --get-selections linux-image-4.13.0-45-generic
linux-image-4.13.0-45-generic hold
此操作只禁止upgrade升级内核,apt install可以正常升级内核
总结
- 一些敏感的软件不要升级,例如内核,升级以后有可能很多东西会崩溃
- 对于网上一些教程中的危险操作切勿尝试,重装事小,数据无价
参考资料
本文来自博客园,作者:ThinkerBlog,转载请注明原文链接:https://www.cnblogs.com/liuyublog/p/9376983.html