ubuntu-14.04中/boot分区不足的解决办法
环境:
ubuntu-kylin 或者 ubuntu-14.04,
/boot单独分区
工具:
ubuntu的liveCD。
问题:
由于当初安装的时候,看网上说/boot很小,100M足以,于是单独分区,分了100M,结果实际上装好以后,我的/boot只有88M(因为分区时和装好后系统对于容量的计算方法不同)。
这就带来一个问题,ubuntu过个两三天就会有一些更新,每次都有有内核更新,每次提示/boot太小,不能更新,很是麻烦。
所以我需要把/boot扩大。
/boot没有单独分区的不会存在这个问题。
大致需要如下几步:
数据备份,重新分区,数据恢复,修复引导。
数据备份:
我的分区依次是:/boot,/,/home,swap. 分区与目录的对应关系是(/dev/sdaX表示分区,请根据自己实际情况):
/dev/sda5=>/boot
/dev/sda6=>/
/dev/sda7=>/home
所以要扩大/boot,就需要把/分出一部分,所以这两个分区上的数据都需要备份,就备份到/home下吧。
用liveCD启动登入系统,把/boot,/,/home这三个分区挂载上去:
sudo mount /dev/sda6 /mnt
sudo mount /dev/sda5 /mnt/boot
sudo mount /dev/sda7 /mnt/home
然后用tar命令把进行数据备份,注意硬盘上的/proc,/sys,/tmp,lost+found这4个目录不用备份。
/mnt/home是要放备份数据的分区,也不要把它自身备份。
不能用cp进行简单的拷贝备份,否则恢复数据的时候,很多重要文件的属性会变化。
cd /mnt/boot
sudo tar -cvf /mnt/home/boot.tar *
cd /mnt
sudo tar -cvf /mnt/home/rootdir.tar bin cdrom lib media opt root sbin usr vmlinuz
boot dev etc initrd.img mnt run srv var
重新分区:
首先确认一下刚才备份时挂载的几个分区都已经卸载了。
然后使用fdisk重新分区。
sudo fdisk /dev/sda
重新分区以后,/dev/sdaX会有变化,需要注意这个地方。
现在分区的对应关系变成了这样:
/dev/sda6=>/home
/dev/sda7=>/boot
/dev/sda8=>/
把新分的两个分区用mkfs进行格式化:
sudo mkfs /dev/sda7
sudo mkfs /dev/sda8
数据恢复:
由于刚才的分区,导致/dev/sdaX有变化,需要重新确认谁是谁(主要是根据容量区分,也可以试着挂载上,看里面有那些文件来区分)
重新挂载分区,进行数据恢复(如果这时候不能挂载,重启一下系统,再次进入liveCD)
sudo mount /dev/sda8 /mnt
sudo mount /dev/sda7 /mnt/boot
sudo mount /dev/sda6 /mnt/home
正确挂载/boot,/,/home后,使用tar进行数据恢复。
sudo tar -xvf /mnt/home/rootdir.tar -C /mnt
sudo tar -xvf /mnt/home/boot.tar -C /mnt/boot
修复引导:
此时如果进行重启,发现系统不能启动,连系统都找不到,需要进行引导修复。
所以现在不去重启,而是引导修复,
请看教程:使用liveCD修复grub引导
最后一步:
现在重启,从硬盘启动,发现能找到linux系统,但是不能启动,屏幕提示你进入单用户模式。
这时为什么不能启动?因为我们重新分区了,分区的UUID变化了,linux不能正确挂载分区了,需要修复/etc/fstab。
把里面的/boot,/ 这两个分区对应的UUID改正确,然后退出单用户模式,继续启动。
一切正常了。
ubuntu-14.04中/boot分区不足的解决办法的更多相关文章
- [转载]Ubuntu 14.04中root 密码忘记解决方法
Ubuntu 14.04中root 密码忘记解决方法 方法一: 如果用户具有sudo权限,那么直接可以运行如下命令: #sudo su root #passwd #更改密码 或者直接运行sudo ...
- Ubuntu 14.04中Elasticsearch集群配置
Ubuntu 14.04中Elasticsearch集群配置 前言:本文可用于elasticsearch集群搭建参考.细分为elasticsearch.yml配置和系统配置 达到的目的:各台机器配置成 ...
- Ubuntu 14.04中安装最新版Eclipse
Ubuntu 14.04中安装最新版Eclipse 来源:Linux社区 作者:Linux 1.安装OpenJDK Java 7 如果你的系统中没有安装Java,我们需要按照如下步骤事先安装好 ...
- Ubuntu 14.04中gedit打开文件出现中文乱码问题
http://blog.csdn.net/cywosp/article/details/32325449/ 在中文支持配置还不完整的Ubuntu 14.04中,使用gedit打开带有中文字符的文件有时 ...
- 如何在Ubuntu 14.04中安装最新版Eclipse
想必很多开发人员都知道,Ubuntu 软件源中提供的并不是最新版本的 Eclipse,本教程就教大家如何在 Ubuntu 14.04 中快速安装 Eclipse 官方发布的最新版本. 到目前为止,Ec ...
- zhuan:点滴记录——Ubuntu 14.04中gedit打开文件出现中文乱码问题
在中文支持配置还不完整的Ubuntu 14.04中,使用gedit打开带有中文字符的文件有时会出现乱码的情况,这是由于gedit对字符编码匹配不正确导致的,解决方法如下: 在终端中输入如下命令,然后重 ...
- 如何在Ubuntu 14.04中使用Samba共享文件
Linux 下的文件共享利器 Samba 想必大家已经非常熟悉了,今天我们介绍下如何在Ubuntu 14.04中使用 Samba 共享网络文件.打印机和其它公共资源. 1.安装 Samba 和图形配置 ...
- 怎样在Ubuntu 14.04中安装Java(转)
想知道如何在Ubuntu 14.04中安装Java?安装Java肯定是安装Ubuntu 14.04后首先要做的几件事情之一(见http://www.linuxidc.com/Linux/2014-04 ...
- 点滴记录——在Ubuntu 14.04中使SublimeText 3支持中文输入法
在Ubuntu 14.04中安装了SublimeText 3之后发现既然不支持输入中文,于是在网上搜罗一下,发现非常多人遇到了相同的问题,可是解决的方法大该就仅仅有一个.以下依据自身的安装及解决的方法 ...
随机推荐
- “Hello world! ”
12.1第一篇笔记 Python 方向:1.web全栈 2.人工智能 (java基础) 3. 爬虫开发 4.数据分析(金融) 6个月学习:需完成8-10万行代码的目标 下一步学习方向 ...
- vc++使用cookie登录网站
以http://www.idc816.com为例 效果图: 1)先登录获取cookie,再使用cookie获取用户信息 2)记录cookie,关闭程序后重新运行程序,直接获取用户信息 使用Fiddle ...
- hadoop长时间运行后,stop-all.sh报错
报错现象: hadoop在stop-all.sh的时候依据的是datanode上的mapred和dfs进程号. 而默认的进程号保存在/tmp下,linux默认会每 隔一段时间(一般是一个月或者7天左右 ...
- Spring Cloud 各组件调优参数
Spring Cloud整合了各种组件,每个组件往往还有各种参数.本文来详细探讨Spring Cloud各组件的调优参数. Tomcat配置参数 1 server: 2 tomcat: 3 max-c ...
- python动态绑定属性和方法
基于Python 2.7.13测试. Python是动态语言,在类定义了之后,还可以动态地绑定属性和方法. 下面先来看怎么给类的实例动态地绑定属性和方法. >>> class Stu ...
- static--Android静态变量使用陷阱
相关资料:http://blog.csdn.net/ctcwri/article/details/8858414 http://blog.csdn.net/w ...
- meta 标签禁止缩放失效
之前我们能通过设置meta来禁止用户缩放页面 <meta content="width=device-width, initial-scale=1.0, maximum-scale=1 ...
- Linux 防火墙和SELinux的开启和关闭
防火墙(firewalld) 临时关闭防火墙 systemctl stop firewalld 永久防火墙开机自关闭 systemctl disable firewalld 临时打开防火墙 syste ...
- T-SQL 事务2
启用事务完成转账存储过程 use StudentManager go if exists(select * from sysobjects where name='usp_TransferAccoun ...
- numpy.ravel() vs numpy.flatten()
首先声明两者所要实现的功能是一致的(将多维数组降为一维),两者的区别在于返回拷贝(copy)还是返回视图(view),numpy.flatten()返回一份拷贝,对拷贝所做的修改不会影响(reflec ...