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改正确,然后退出单用户模式,继续启动。
一切正常了。

时间: 2024-10-13 20:53:57

ubuntu-14.04中/boot分区不足的解决办法的相关文章

Ubuntu 14.04中root 密码忘记解决方法[转载+17.04亲测可用]

Ubuntu 14.04中root 密码忘记解决方法 Ubuntu 14.04中root 密码忘记解决方法 方法一: 如果用户具有sudo权限,那么直接可以运行如下命令: #sudo su root #passwd #更改密码 或者直接运行sudo passwd root命令就可以直接更改root密码. 有关sudo su的区别: 1.共同点:都是root用户的权限: 2.不同点:su仅仅取得root权限,工作环境不变,还是在切换之前用户的工作环境:sudo是完全取得root的权限和root的工

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

想必很多开发人员都知道,Ubuntu 软件源中提供的并不是最新版本的 Eclipse,本教程就教大家如何在 Ubuntu 14.04 中快速安装 Eclipse 官方发布的最新版本. 到目前为止,Eclipse 的官方最新版本为 Eclipse Kepler (4.3.2),我们可以使用如下步骤在 Ubuntu 14.04 或其它 Ubuntu 版本中进行快速安装. 1.安装OpenJDK Java 7 如果你的系统中没有安装 Java,我们需要按如下步骤事先安装好 OpenJDK Java 7

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

在中文支持配置还不完整的Ubuntu 14.04中,使用gedit打开带有中文字符的文件有时会出现乱码的情况,这是由于gedit对字符编码匹配不正确导致的,解决方法如下: 在终端中输入如下命令,然后重新打开gedit即可: gsettings set org.gnome.gedit.preferences.encodings auto-detected "['GB18030', 'GB2312', 'GBK', 'UTF-8', 'BIG5', 'CURRENT', 'UTF-16']"

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

在Ubuntu 14.04中安装了SublimeText 3之后发现既然不支持输入中文,于是在网上搜罗一下,发现很多人遇到了同样的问题,但是解决办法大该就只有一个.下面根据自身的安装及解决办法总结如下: 1. SublimeText 3的安装 安装方式有多种,本文所描述的是从官方网站上下载64位的.deb文件 ,具体为http://c758482.r82.cf2.rackcdn.com/sublime-text_build-3059_amd64.deb文件,下载后双击即会自动使用默认的安装软件安

在Ubuntu 14.04中使SublimeText 3支持中文输入法

在Ubuntu 14.04中安装了SublimeText 3之后发现既然不支持输入中文,于是在网上搜罗一下,发现很多人遇到了同样的问题,但是解决办法大该就只有一个.下面根据自身的安装及解决办法总结如下: 1. SublimeText 3的安装 Ubuntu14.04 搜狗输入法 for Linux Sublime text 3 2.拷贝如下代码到文件sublime-imfix.c文件中,该文件需要自己创建,随便放到那里都行. /* * sublime-imfix.c * Use LD_PRELO

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

想知道如何在Ubuntu 14.04中安装Java?安装Java肯定是安装Ubuntu 14.04后首先要做的几件事情之一(见http://www.linuxidc.com/Linux/2014-04/100398.htm),而且这也很简单. 许多人比较厌恶Java,但是很有可能因为某些原因你需要安装Java,尽管你很讨厌它.在这篇文章中,我们将展示如何在Ubuntu 14.04安装Java(也可能在Linux Mint 17同样适用). JRE vs OpenJDK vs Oracle JDK

点滴记录——Ubuntu 14.04中安装Sublime Text 3并使用SublimeClang插件

转载请说明出处:http://blog.csdn.net/cywosp/article/details/32721011 Sublime Text是个跨平台的编辑器,支持Windows.Linux.Mac系统平台,支持各种语言的代码编辑,配合上对应的插件,话上点时间学习,你将会对它爱不释手,大大的提高你的编码效率.本文将讲解在Ubuntu 14.04系统中安装SublimeText 3,并配置SublimeClang插件来配置C/C++开发环境. 1. Sublime Text 3的下载安装 到

基础知识 - 在 Ubuntu 14.04 中配置 Sublime Text 3 的 Golang 开发环境

1.下载 golang 并解压(这里以解压到 $HOME/golang/ 目录为例): http://www.golangtc.com/download 2.创建 GoPath 相关目录(这里以 $HOME/golang/projects/ 目录为例): mkdir ~/golang mkdir ~/golang/projects mkdir ~/golang/projects/3rdparty mkdir ~/golang/projects/3rdparty/bin mkdir ~/golan

Windows 7中的VirtualBox中的Ubuntu 14.04中基于Docker安装Hadoop

1. 在VirtualBox中安装Ubuntu 14.04 2. 在Ubuntu 14.04中安装Docker 3. 安装基于Docker的Hadoop 下载image docker pull sequenceiq/hadoop-docker:2.6.0   运行container docker run -i -t sequenceiq/hadoop-docker:2.6.0 /etc/bootstrap.sh –bash   测试Hadoop(将ubuntu的内存调到2G,即2048MB,否则