关于ubuntu系统boot分区空间不足而又无法卸载旧内核的解决方法

2016年09月03日 14:16:45 萧氏一郎 阅读数:7802 标签: ubuntuboot分区清理更多

个人分类: linux
 
版权声明:本文为本猿原创文章,转载务必注明出处,多谢。 https://blog.csdn.net/xhw035/article/details/52422970

关于ubuntu系统boot分区空间不足而又无法卸载旧内核的解决方法

今天早上打开电脑,发现本人ubuntu 16.04系统提示boot分区不足,然后仔细查看,发现果然boot分区剩余0m.顿时不知所措,原来安装ubuntu系统都是按照网上视频教程里面所讲的,给boot分区200m就够了,怎么就不够了。于是乎开始疯狂百度。终于花了一上午给整好了,也许很多人不需要这么久,可遇到的问题总是比较奇葩,中间也走了很多弯路,下面简单的分享一下。

由于之前没有截图,这里只给一张整好后的图,证明本人亲测是成功的。

关于ubuntu系统boot分区空间不足而又无法卸载旧内核的解决方法

对于分区空间不足,直观来讲就是两种思路,一种是扩展大小,一种清理。对于扩展,我也尝试过没有成功,也看过网上的资料,总体而言这里方法资料较少,这里有一篇博客可以参考一下:http://blog.csdn.net/caz28/article/details/50827904 ,里面步骤也讲得比较清除,这里不再详细赘述。下面主要讲讲清理boot分区。

清理boot分区,网上资料就多了去了,但多类似,相互抄袭,有时候还真解决不了你的问题。常规套路无非是,先用如下命令查看系统已安装内核的版本:


  1. dpkg --get-selections |grep linux-image

本人查到结果如下:


  1. linux-image-4.4.0-31-generic install
  2. linux-image-4.4.0-34-generic install
  3. linux-image-4.4.0-36-generic install
  4. linux-image-extra-4.4.0-31-generic deinstall
  5. linux-image-extra-4.4.0-34-generic deinstall
  6. linux-image-extra-4.4.0-36-generic install
  7. linux-image-generic install

可以看到,一共安装了三个版本的内核,其中deinstall表示卸载残留,这就是我遇到奇葩的问题,导致后面搞了很久。

然后查看当前使用的内核的版本:


  1. uname -a

本人查到结果如下:


  1. Linux xiao 4.4.0-36-generic #55-Ubuntu SMP Thu Aug 11 18:01:55 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

如何发现当前使用的内核版本不是已安装最新的版本,请重启,会启动切换到已安装的最新版本。

按照网上的套路,开始执行如下命令卸载:sudo apt-get purge linux-image-3.5.0-17-generic 或者 sudo apt-get remove linux-image-3.5.0-17-generic ,按照网上所说,前者卸载不会出现残留,而后者会有linux-image-extra-4.4.0-31-generic deinstall 这样的deinstall残留,而真正卸载干净的情况是,只会显示install,不会显示deinstall,可能很多人通过这种方法,依次下载不需要的内核,也能清理boot分区,但我的情况每次卸载都是失败。网上还有中方法,用“新立得软件包管理器”去搜索已安装的内核,然后再用它来卸载不需要的内核,这种方法我也试过,也是失败告终。而且先用命令卸载失败后,再用新立得,会提示无法获取内核文件的文件锁,也就是被终端进程没有释放文件锁。所以只得重启来释放文件锁,若此反复尝试,重启几次,还是未果。

经过多次尝试,终于找到解决方案,执行命令如下:


  1. sudo apt-get autoremove linux-image-4.4.0-31-generic linux-image-4.4.0-34-generic

就是将两个不需要的内核同时卸载,并且使用的是autoremove命令,它会自动解决相关依赖。执行此命令后,再次查询,结果如下:


  1. linux-image-4.4.0-31-generic deinstall
  2. linux-image-4.4.0-34-generic deinstall
  3. linux-image-4.4.0-36-generic install
  4. linux-image-extra-4.4.0-31-generic deinstall
  5. linux-image-extra-4.4.0-34-generic deinstall
  6. linux-image-extra-4.4.0-36-generic install
  7. linux-image-generic install

发现不需要的内核已全部卸载完毕,只是还残留,其实都这里已经是成功了,boot分区已被清理,一查果然boot分区还剩余60多m,boot分区只要没满就够用了,我这里总共才200m,但是毕竟还有残留,不爽,于是乎执行如下命令:


  1. sudo dpkg -P linux-image-4.4.0-31-generic linux-image-extra-4.4.0-31-generic  linux-image-4.4.0-34-generic linux-image-extra-4.4.0-34-generic

此命令能将所有残留一次都清除掉,执行后,再次查询系统已安装的内核结果如下:


  1. linux-image-4.4.0-36-generic install
  2. linux-image-extra-4.4.0-36-generic install
  3. linux-image-generic install

OK,大功告成,无残留,boot分区总终剩余空间从最好开始的一张图可以看出,剩余72m。很好,一看时间,尼玛已经是上午12点多了,一上午就这么过去了。呜呜~~~~(>_<)~~~~

最后总结两点:一是网上那些linux安装教程都说boot分区200m够用,真的够吗?其实估计那些老师没有亲自实践过,对于经常的更新的系统来说,其实是不够的,很多所谓老师其实也是听别人说的,人云亦云。二十网上很多清理boot分区的教程,都说相互抄袭,有时未必能解决你的问题,要想解决问题,有时还得亲自去尝试去实践。学linux就得实践出真知。

上一篇:javascript中数组方法小计


下一篇:.Net WebApi基本操作