环境:
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分区不足的解决办法的更多相关文章

  1. [转载]Ubuntu 14.04中root 密码忘记解决方法

      Ubuntu 14.04中root 密码忘记解决方法 方法一: 如果用户具有sudo权限,那么直接可以运行如下命令: #sudo su root #passwd #更改密码 或者直接运行sudo ...

  2. Ubuntu 14.04中Elasticsearch集群配置

    Ubuntu 14.04中Elasticsearch集群配置 前言:本文可用于elasticsearch集群搭建参考.细分为elasticsearch.yml配置和系统配置 达到的目的:各台机器配置成 ...

  3. Ubuntu 14.04中安装最新版Eclipse

    Ubuntu 14.04中安装最新版Eclipse 来源:Linux社区    作者:Linux 1.安装OpenJDK Java 7 如果你的系统中没有安装Java,我们需要按照如下步骤事先安装好 ...

  4. Ubuntu 14.04中gedit打开文件出现中文乱码问题

    http://blog.csdn.net/cywosp/article/details/32325449/ 在中文支持配置还不完整的Ubuntu 14.04中,使用gedit打开带有中文字符的文件有时 ...

  5. 如何在Ubuntu 14.04中安装最新版Eclipse

    想必很多开发人员都知道,Ubuntu 软件源中提供的并不是最新版本的 Eclipse,本教程就教大家如何在 Ubuntu 14.04 中快速安装 Eclipse 官方发布的最新版本. 到目前为止,Ec ...

  6. zhuan:点滴记录——Ubuntu 14.04中gedit打开文件出现中文乱码问题

    在中文支持配置还不完整的Ubuntu 14.04中,使用gedit打开带有中文字符的文件有时会出现乱码的情况,这是由于gedit对字符编码匹配不正确导致的,解决方法如下: 在终端中输入如下命令,然后重 ...

  7. 如何在Ubuntu 14.04中使用Samba共享文件

    Linux 下的文件共享利器 Samba 想必大家已经非常熟悉了,今天我们介绍下如何在Ubuntu 14.04中使用 Samba 共享网络文件.打印机和其它公共资源. 1.安装 Samba 和图形配置 ...

  8. 怎样在Ubuntu 14.04中安装Java(转)

    想知道如何在Ubuntu 14.04中安装Java?安装Java肯定是安装Ubuntu 14.04后首先要做的几件事情之一(见http://www.linuxidc.com/Linux/2014-04 ...

  9. 点滴记录——在Ubuntu 14.04中使SublimeText 3支持中文输入法

    在Ubuntu 14.04中安装了SublimeText 3之后发现既然不支持输入中文,于是在网上搜罗一下,发现非常多人遇到了相同的问题,可是解决的方法大该就仅仅有一个.以下依据自身的安装及解决的方法 ...

随机推荐

  1. 【枚举类型】Restful API请求--转换String为枚举类型

    IBaseEnum.java public interface IBaseEnum { public String getName(); } FuncEnum.java import com.sssl ...

  2. NGUI 合集

    UILabel  设置BBCode的时候 ,要设置颜色为白色 .不要设为其他的颜色因为会叠加的 .

  3. nginx 操作笔记

    测试nginx 配置是否成功 service nginx configtest

  4. 三星GT-N8010刷机教程

    本刷机教程只针对三星GT-N8010机器(以下简称GT-N8010),以下操作本人已在GT-N8010机器上亲测,且都成功,其它机器没有测试不能保证成功. 刷机有风险,请谨慎使用!请先备份资料和信息. ...

  5. Java-Runoob-高级教程-实例-数组:10. Java 实例 – 查找数组中的重复元素-un

    ylbtech-Java-Runoob-高级教程-实例-数组:10. Java 实例 – 查找数组中的重复元素 1.返回顶部 1. Java 实例 - 查找数组中的重复元素  Java 实例 以下实例 ...

  6. python:数据类型set

    一.集合 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变数据类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了 ...

  7. Android定位服务关闭和定位(悬浮)等权限拒绝的判断

    public void checkLocationPermission() { if (!PermissionHelper.isLocServiceEnable(this)) {//检测是否开启定位服 ...

  8. AndroidStudio2.2.2 打开ddms快捷键

    按两下shift键,后在弹出的对话框中输入Android Device,在出现的选项中单击即可,如图.

  9. sas spawner

    注册spawner 服务"c:\Program Files\SASHome\SASFoundation\9.4\cntspawn.exe" -install -service 51 ...

  10. update 中实现子查询

    mysql 在update中实现子查询的方式   当使用mysql条件更新时--最先让人想到的写法 UPDATE buyer SET is_seller=1 WHERE uid IN (SELECT  ...