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之后发现既然不支持输入中文,于是在网上搜罗一下,发现非常多人遇到了相同的问题,可是解决的方法大该就仅仅有一个.以下依据自身的安装及解决的方法 ...
随机推荐
- 【枚举类型】Restful API请求--转换String为枚举类型
IBaseEnum.java public interface IBaseEnum { public String getName(); } FuncEnum.java import com.sssl ...
- NGUI 合集
UILabel 设置BBCode的时候 ,要设置颜色为白色 .不要设为其他的颜色因为会叠加的 .
- nginx 操作笔记
测试nginx 配置是否成功 service nginx configtest
- 三星GT-N8010刷机教程
本刷机教程只针对三星GT-N8010机器(以下简称GT-N8010),以下操作本人已在GT-N8010机器上亲测,且都成功,其它机器没有测试不能保证成功. 刷机有风险,请谨慎使用!请先备份资料和信息. ...
- Java-Runoob-高级教程-实例-数组:10. Java 实例 – 查找数组中的重复元素-un
ylbtech-Java-Runoob-高级教程-实例-数组:10. Java 实例 – 查找数组中的重复元素 1.返回顶部 1. Java 实例 - 查找数组中的重复元素 Java 实例 以下实例 ...
- python:数据类型set
一.集合 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变数据类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了 ...
- Android定位服务关闭和定位(悬浮)等权限拒绝的判断
public void checkLocationPermission() { if (!PermissionHelper.isLocServiceEnable(this)) {//检测是否开启定位服 ...
- AndroidStudio2.2.2 打开ddms快捷键
按两下shift键,后在弹出的对话框中输入Android Device,在出现的选项中单击即可,如图.
- sas spawner
注册spawner 服务"c:\Program Files\SASHome\SASFoundation\9.4\cntspawn.exe" -install -service 51 ...
- update 中实现子查询
mysql 在update中实现子查询的方式 当使用mysql条件更新时--最先让人想到的写法 UPDATE buyer SET is_seller=1 WHERE uid IN (SELECT ...