关于ubuntu系统boot分区空间不足而又无法卸载旧内核的解决方法
关于ubuntu系统boot分区空间不足而又无法卸载旧内核的解决方法
今天早上打开电脑,发现本人ubuntu 16.04系统提示boot分区不足,然后仔细查看,发现果然boot分区剩余0m.顿时不知所措,原来安装ubuntu系统都是按照网上视频教程里面所讲的,给boot分区200m就够了,怎么就不够了。于是乎开始疯狂百度。终于花了一上午给整好了,也许很多人不需要这么久,可遇到的问题总是比较奇葩,中间也走了很多弯路,下面简单的分享一下。
由于之前没有截图,这里只给一张整好后的图,证明本人亲测是成功的。
对于分区空间不足,直观来讲就是两种思路,一种是扩展大小,一种清理。对于扩展,我也尝试过没有成功,也看过网上的资料,总体而言这里方法资料较少,这里有一篇博客可以参考一下:http://blog.csdn.net/caz28/article/details/50827904 ,里面步骤也讲得比较清除,这里不再详细赘述。下面主要讲讲清理boot分区。
清理boot分区,网上资料就多了去了,但多类似,相互抄袭,有时候还真解决不了你的问题。常规套路无非是,先用如下命令查看系统已安装内核的版本:
dpkg --get-selections |grep linux-image
本人查到结果如下:
linux-image-4.4.0-31-generic installlinux-image-4.4.0-34-generic installlinux-image-4.4.0-36-generic installlinux-image-extra-4.4.0-31-generic deinstalllinux-image-extra-4.4.0-34-generic deinstalllinux-image-extra-4.4.0-36-generic installlinux-image-generic install
可以看到,一共安装了三个版本的内核,其中deinstall表示卸载残留,这就是我遇到奇葩的问题,导致后面搞了很久。
然后查看当前使用的内核的版本:
uname -a
本人查到结果如下:
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分区,但我的情况每次卸载都是失败。网上还有中方法,用“新立得软件包管理器”去搜索已安装的内核,然后再用它来卸载不需要的内核,这种方法我也试过,也是失败告终。而且先用命令卸载失败后,再用新立得,会提示无法获取内核文件的文件锁,也就是被终端进程没有释放文件锁。所以只得重启来释放文件锁,若此反复尝试,重启几次,还是未果。
经过多次尝试,终于找到解决方案,执行命令如下:
sudo apt-get autoremove linux-image-4.4.0-31-generic linux-image-4.4.0-34-generic
就是将两个不需要的内核同时卸载,并且使用的是autoremove命令,它会自动解决相关依赖。执行此命令后,再次查询,结果如下:
linux-image-4.4.0-31-generic deinstalllinux-image-4.4.0-34-generic deinstalllinux-image-4.4.0-36-generic installlinux-image-extra-4.4.0-31-generic deinstalllinux-image-extra-4.4.0-34-generic deinstalllinux-image-extra-4.4.0-36-generic installlinux-image-generic install
发现不需要的内核已全部卸载完毕,只是还残留,其实都这里已经是成功了,boot分区已被清理,一查果然boot分区还剩余60多m,boot分区只要没满就够用了,我这里总共才200m,但是毕竟还有残留,不爽,于是乎执行如下命令:
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
此命令能将所有残留一次都清除掉,执行后,再次查询系统已安装的内核结果如下:
linux-image-4.4.0-36-generic installlinux-image-extra-4.4.0-36-generic installlinux-image-generic install
OK,大功告成,无残留,boot分区总终剩余空间从最好开始的一张图可以看出,剩余72m。很好,一看时间,尼玛已经是上午12点多了,一上午就这么过去了。呜呜~~~~(>_<)~~~~
最后总结两点:一是网上那些linux安装教程都说boot分区200m够用,真的够吗?其实估计那些老师没有亲自实践过,对于经常的更新的系统来说,其实是不够的,很多所谓老师其实也是听别人说的,人云亦云。二十网上很多清理boot分区的教程,都说相互抄袭,有时未必能解决你的问题,要想解决问题,有时还得亲自去尝试去实践。学linux就得实践出真知。
关于ubuntu系统boot分区空间不足而又无法卸载旧内核的解决方法的更多相关文章
- ubuntu下boot分区空间不足问题的解决方案
https://blog.csdn.net/along_oneday/article/details/75148240 先查看当前内核版本号(防止误删) uname –r 查看已经安装过的内核 dpk ...
- Ubuntu系统下运行Eclipse出现找不到jre的问题的解决方法
在Ubuntu的某些版本下,比如10.10,会出现以下奇怪问题: 1. 安装jdk 我下载的jdk是bin格式的,直接运行解压,得到一个文件夹. 这个文件夹作为jdk的安装目录,可以拷贝到任意目录. ...
- 解决Ubuntu 16.04下提示boot分区空间不足的办法
原文地址: http://www.jb51.net/article/106976.htm https://www.linuxidc.com/Linux/2015-09/123227.htm 因为lin ...
- ubuntu系统怎么分区
首先科普下windows和linux的文件系统和主分区: 1.电脑的主分最多只有只能由四个.如果是win7和linux双系统,则windows系统可能会占到1-2个主分区,那linux最多只能有两个主 ...
- 如何在Virtualbox中对Ubuntu系统根分区扩容
转载: 参见博客: https://blog.csdn.net/LEON1741/article/details/56494797 前在Virtualbox中安装了一个Ubun ...
- Ubuntu访问window下的磁盘分区出现“Error mounting /dev/sda5 at/media”错误的解决方法
我装ubuntu之前,电脑上安装了windows 10,为了装ubuntu,在window 10下的磁盘工具分配了30G的磁盘空间.安装完Ubuntu之后,访问window 10的磁盘分区出现“Err ...
- 虚拟机装系统出现 ntldr is missing(NTLDR丢失)、无法正常开机、解决方法
虚拟机(VMware Workstation或Hyper-V)装ghost版系统提示“ntldr is missing Press Ctrl+Alt+del to Resta 此方法对实体机.虚拟机安 ...
- ubuntu下wine打开自由们找不到MFC42.DLL重新安装的解决方法
一直在找ubuntu下的X墙工具,看到大部分的都是ssh和tor的,但是tor下载不到,找了很多方法,没有办法,只能用FG了.但是Fg是运行在windows系统下的程序. 只好再安装一遍wine,用终 ...
- Linux系统中提示/usr/bin/ld: cannot find -lxxx错误的通用解决方法
在linux环境编译应用程式或lib的source code时常常会出现如下的错误讯息: 代码如下: /usr/bin/ld: cannot find -lxxx 这些讯息会随着编译不同类型的sour ...
随机推荐
- 微软 Windows 10 将支持 8 英寸以下 ARM 平板设备
2015 年 1 月 24 日, 9:32 下午 - 微软本周展示了 Windows 10 一系列新的改变,也包括首次公开展示的 Windows 10 手机版,但 ARM 平板并没有得到太多提及. ...
- C#基础视频教程7.2 如何编写简单游戏
前面一小节我们实现了简单的碰撞检测,但是实际上游戏的对象并不是一个标准的矩形(小鸟是一个不规则的物体,其实碰撞的管道也是不规则物体),所以如果真的要做的比较完美,我们自己要写一个方法,能够导入一个图像 ...
- UNIX网络编程读书笔记:原始套接口
概述 应用程序可以绕过传输层而直接使用IPv4和IPv6,这称为原始套接口(raw socket).http://www.cnblogs.com/nufangrensheng/p/3583435.ht ...
- ExecutorService的execute和submit方法
三个区别: 1.接收的参数不一样 2.submit有返回值,而execute没有 Method submit extends base method Executor.execute by creat ...
- Uni2D Unity4.3 2D Skeletal Animation
http://www.cnblogs.com/zhaoqingqing/p/3602253.html 中文教程:参照 kakashi的CSDN博客 http://blog.csdn.net/kakas ...
- SlidingMenu(一)
我们一般称之为侧边栏,今天下倒腾了一下,留点笔记... 源码来自:https://github.com/jfeinstein10/SlidingMenu 来张图把: 代码API注释看看这个吧 http ...
- pdf+iphone+wechat
可能很多人要问,为啥标题取这个名字. 因为今天在这个上面踩了太多坑.. 我们的需求其实很简单.做一个页面,把pdf文档嵌进去,在线显示. 如此需求,放在PC上chrome浏览器,一个embed标签就搞 ...
- 转:Socket常用选项
功能描述 获取或者设置与某个套接字关联的选 项.选项可能存在于多层协议中,它们总会出现在最上面的套接字层.当操作套接字选项时,选项位于的层和选项的名称必须给出.为了操作套接字层的选项,应该 将层的值指 ...
- Linux索引节点(Inode)用满导致空间不足
一.问题出现 在创建新目录和文件是提示“no space left on device”!按照以前的情况,很有可能是服务器空间又被塞满了,通过命令查看,发现还有剩余.再用df -i查看了一下/分区的索 ...
- Zoie中文文档及简单解析
https://linkedin.jira.com/wiki/pages/viewpage.action?pageId=4456480 一.总体架构 Zoie是一个实时的搜索引擎系统,其需要逻辑上独立 ...