zoukankan      html  css  js  c++  java
  • 记一次系统崩溃的惨痛经历

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

    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 查看内核,升级内核,删除内核,切换内核

  • 相关阅读:
    让你一次性搞定堆、栈、值类型、引用类型…… (Part 2) (zt)
    延时加载图片(原创)
    Bambook 简介
    无框架Ajax分页(原创)
    windows系统下Python环境的搭建
    将制定内容输出为压缩后的xls文件
    (原创)对DateTime进行强制约束
    VS 2010中JS代码折叠插件
    延时加载图片(终极版,解决一行多张图片无法显示的问题)
    javascript this详解(转)
  • 原文地址:https://www.cnblogs.com/liuyublog/p/9376983.html
Copyright © 2011-2022 走看看