双系统 Ubuntu 扩容

原创 2012年03月27日 20:50:39

好久没有在笔记本上装linux的系统了,之前给我本的装了个双系统,一个windows 7.一个Ubuntu 11.04.由于还要使用网银之类的,所以,不可能把windows的系统都删掉。
当时给ubuntu的分区的大小很小,就25G,感觉上,又不需要安装什么软件,这么打应该够了,谁知道升级了几次,这个25G就已经快不够了,虽然也还是没有安装什么软件呢。看来linux的系统也是越来越庞大了。
于是就想着给ubuntu的分区给扩容。正好也有能够扩容的空间,因为在windows中有一个E盘,作为数据盘,基本上也没怎么用,可以考虑划分出来一部分给linux用。
这时
首先需要调整E盘的大小,分出一部分新建一个盘给linux用。
这个时候,就出现了两种选择。因为我之前给linux只分了一个区,所有的目录都是挂载在一个分区/dev/sda7上的。那么现在从E盘拿出来了一些空间,一种方案是将多出来的这部分空间和/dev/sda7合并起来,使得/dev/sda7空间扩大。还有一种方案是将多出来的这部分空间单独建立一个分区,然后挂载到linux系统中。我最终采用了后者,准备将多出来的这部分空间创建一个分区/dev/sda6,并将其挂载到/usr目录上。原因是如果要做分区的合并的话,在linux下要使用fdisk工具分拆E盘,而且必须要分出来的空间比/dev/sda7大,因为之后会把/dev/sda7的数据暂时先搬移到这个分区中来,分完分区之后,然后搬移/dev/sda7的数据到新分区之后,再将/dev/sda7和/dev/sda6合并起来(为什么需要数据搬移呢?因为在一般的windows 和linux 共存的系统中,一般linux的分区都是放在window的分区的后面的,所以,如果linux的分区要扩容的话,就需要向前扩容.向后扩容容易,就是分区的后端加长了,向前扩容的话,就需要将原先放在后面的数据搬到前面去.).而这些操作,fdisk命令里面都有,但是我不是很熟,也就不想这么做了.
我采取的方法是,将E盘的空间进行拆分出来一个分区/dev/sda6.然后再将/dev/sda6挂载到linux系统的/usr目录上去(为什么要挂载到/usr目录上去呢?因为查看了一下系统,这个目录下存放的东西最多,也最占空间,很多可执行文件,以及库都是放在这个目录下面).
那么,具体是怎么做的呢?
首先,要拆分原来的E盘,拆出来的空间创建成一个新的ext3/ext4的新分区(也就是我的系统中的/dev/sda6).完成这个步骤的方法有很多,有很多软件可以用,当然我不喜欢使用fdisk.一般的话可以使用partition magic等等的软件,但是恰巧我有一个WinPE的USB启动盘,这个启动盘里面有分区的工具,所以我就直接进入WinPE系统,使用分区工具把硬盘给分区了,也就是一个大蛋糕切成了两个小蛋糕,一个给windows吃,文件系统还是FAT32,一个蛋糕给linux吃,文件系统类型改为了ext3.任务完成!!
接下来重启进入ubuntu系统,希望挂载上面切出来的linux的蛋糕,但是,出现了问题.进不去系统了!!停留在GRUB的界面,GRUB显示,缺少文件!!怎么办?
稍微想了想,记得以前看到过,GRUB的执行其实由两个部分组成,先在MBR里面执行一部分,然后跳转到linux的分区里面的另一部分继续执行,碰到这个问题的原因可能是因为分区的结构被我改变了(很明显,在原来的/dev/sda7的分区前面加上了一个/dev/sda6分区么?而MBR中的GRUB的部分并不知道这个改变,所以,我猜测,此时,它到/dev/sda6中去寻找GRUB的后半部分了,结果,当然是找不到!!).那怎么办呢?需要重新安装系统么(以前安装linux的时候,不知道重新安装了多少次).其实不需要,所需要做的,只要重新安装GRUB.怎么做呢?
其实也很简单,不是进不了linux系统么,那么拿出安装ubuntu的liveCD.启动就能进入系统了.然后使用下面的命令就能够重新安装GRUB了:
mount /dev/sda7 /mnt —>对于我的系统,原来的ubuntu系统是安装在/dev/sda7中的.
grub-install –boot-directory=/mnt /dev/sda –>将GRUB安装到/dev/sda上,指明boot的地方是在/dev/sda7上
按照上面的来做的话,GRUB就重新安装好了!!OK,重启就能够看到熟悉的GRUB界面了!!
然后需要做什么呢?然后需要做的只是将/dev/sda6挂载到/usr目录下(当然前提是,需要先把/usr目录下的已经存在的所有文件拷贝到/dev/sda6中),怎么实现呢?
其实也很简单.先将/dev/sda6随便挂载到任意一个目录上,这样我们就能够读写/dev/sda6了,我是把它挂载到/mnt目录上的:
mount /dev/sda6 /mnt
然后,将/usr目录下存在的所有文件和目录都复制到/mnt中,也就是/dev/sda6中,需要使用下面的命令,将文件的属性一起拷贝过去:
cp -rp /usr/* /mnt/
很明显,现在所有的/usr目录下的文件都已经被复制到了/mnt/目录下了.然后我们要做的就是在系统启动的时候,将/dev/sda6挂载到/usr目录上,这样,访问/usr目录的时候,其实就是访问/dev/sda6这个分区,而非/所在的/dev/sda7分区了.怎么做呢?也很简单,在linux系统中,管理分区的挂载点的配置文件是放在/etc/fstab文件中的,打开这个文件看看就知道是怎么回事了,所以,我们如果想添加一个新的挂载点,比如说就是我们现在的这个情况的话,只需要在fstab文件中添加一行就可以了.如下:
/dev/sda6 /usr ext3 0 0
注意,需要取得root权限之后才能够编辑fstab并保存.OK,这一步做完了之后,直接重启,就会发现/dev/sda6已经被挂载到/usr上面去了.需要注意的是,原来的/usr目录需要重新改个名字再重启,比如/usr_bak之类的,要不然的话,可能会起冲突.等到正常的启动之后,就可以把这个/usr_bak目录给删除掉.
这样子,所有的工作就都完成了,使用df -h查看你的新的分区的情况吧,是不是大了很多??

注:
有一个需要注意的地方,就是在拷贝/usr中的内容到/dev/sda6中时,需要是用cp -rp选项,这样的话,文件的所有属性都被同样的拷贝到了/dev/sda6中,如果不加-p选项的话,挂载之后会有问题,因为很多的可执行文件都是在/usr目录下,比如sudo之类的,就会执行不了,导致整个系统都很怪异.我一开始就是没有加上-p选项.结果费了好多的心思,才改过来.

ubuntu16.04空间扩容

之前在ubuntu下安装软件,发现存储空间不足(对应的Linux命令为:df -h)。 因此考虑给ubuntu空间扩容。本人主要的步骤如下;制作启动盘 软件下载 下载UltraISO,软碟通是一款...

双系统(Windows+ubuntu)下如何给Ubuntu系统增加磁盘空间

今天在升级Ubuntu14.04LTS的时候发现根目录下的磁盘空间不足,还差2个G的空间,是在太尴尬了,由于本人是Linux小白,于是在网上各种搜寻资料查看增加根目录空间的方法,结果大部分的方法都是不...

双系统Ubuntu分区扩容过程记录

双系统Ubuntu分区扩容过程记录 参考博客: http://www.mamicode.com/info-detail-1565454.html   最近学习 Android...
  • RANhapi
  • RANhapi
  • 2017年07月07日 21:03
  • 753

双系统Ubuntu分区扩容过程记录

本人电脑上安装了Win10 + Ubuntu 12.04双系统。前段时间因为在Ubuntu上做项目要安装一个比较大的软件,导致Ubuntu根分区的空间不够了。于是,从硬盘又分出来一部分空间,分给Ubu...

双系统下Ubuntu扩容

背景:基于其便捷性,很多人倾向在windows系统下采用Wubi安装Ubuntu双系统。但是这种方式安装的Ubuntu最高可分配30G的空间给Ubuntu。如果是为了简单的熟悉Linux命令、操作和一...

Windows7+Ubuntu双系统下Ubuntu硬盘扩容

以下是Linux下的Ubuntu系统硬盘扩容方法,Windows下的方法请自行查找。 1、 切换到超级用户模式: sudo -i 2、 查看现有文件系统: fdisk -l (这是转换好...
  • incanus
  • incanus
  • 2012年09月11日 10:21
  • 2615

Ubuntu和Windows双系统

  • 2017年05月08日 12:17
  • 855KB
  • 下载

WindowsXP Ubuntu双系统安装实记

一直对Ubuntu很感兴趣,之前都是在USB 上用的,虽然使用很便捷,但是所有安装的东西,等下次重启都不复存在了。所以想自己安装一个硬盘版的,使用就很方便了。在安装过程中走了不少弯路,写下来供自己今后...

安装win7 和ubuntu双系统教程

  • 2016年03月02日 15:20
  • 5.89MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:双系统 Ubuntu 扩容
举报原因:
原因补充:

(最多只允许输入30个字)