Thinker

记一次系统崩溃的惨痛经历

昨天晚上闲来无事,手残的在命令中敲上了

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可以正常升级内核

总结

  • 一些敏感的软件不要升级,例如内核,升级以后有可能很多东西会崩溃
  • 对于网上一些教程中的危险操作切勿尝试,重装事小,数据无价

参考资料

禁止apt upgrade更新ubuntu系统内核
ubuntu16.04 查看内核,升级内核,删除内核,切换内核

posted @ 2018-07-27 12:49  ThinkerBlog  阅读(1041)  评论(0编辑  收藏  举报