有时候,我们装系统时,可能因为没注意,把某一个分区分小了,导致到最后,我们的那个盘容不下了,

这时,面临的两个选择就是:要么卸载一些软件,要么重新分区,重装系统,其实,还可以这样,去把其他

多余的盘分一个区出来,然后替换当前分区,放心,数据不会丢失,而且所有安装的软件都可正常的使用.

而我装的系统发现 根/目录快占完了,又不想重装系统,想用一个新的分区去替换/home,做法如下:

这里以挂载/home分区为例子,其他的分区应该类似吧

需要以下6个步骤:

1,分一个新的分区,并格式化为你当前的系统的文件系统格式,如ext3或ext4

2,备份你的fstab文件,然后编辑改文件,挂载你刚格式化的分区为/media/home 然后重启

3,使用rsync命令来同步所有的/home下的文件到/media/home

4,再次编辑fstab文件,挂载为把刚才的/media/home改为/home

5,修改当前的文件/home为/old_home重启

6,删除/old_home

根据上面的操作,即使你某一步出错了也很容易修改回来

细说每一点:

1,分一个新的分区,并格式化为ext4文件系统

这个在这里讲得很好,可以去看看,或者搜一下fdisk命令分区,看看就能会了

2,备份你的fstab文件,然后编辑改文件,挂载你刚格式化的分区为/media/home 然后重启

a) 查找该分区的uuid

xiaobing@zhang:~$ sudo blkid
[sudo] password for xiaobing:
/dev/sda1: UUID="00087570000398CE" TYPE="ntfs"
/dev/sda5: UUID="000B32AB00053B61" TYPE="ntfs"
/dev/sda6: UUID="000D000B000602E6" TYPE="ntfs"
/dev/sda7: UUID="2be473c4-d355-4355-9263-c2815b51e49e" TYPE="ext4"
/dev/sda8: UUID="5803947b-195a-41ca-b0fd-d8a47ccd8095" TYPE="swap"
/dev/sda9: UUID="8cbedd1f-6da5-40ca-add5-16af9c2eaa7e" TYPE="ext4"
/dev/sda10: UUID="1f450485-6400-4a67-bc7d-a1fab5f50db1" TYPE="ext4"

  或者使用df -vh 查看

这个会显示出你刚分出的那个区,  -h 是以人能读懂的大小格式G来显示出磁盘的大小,所以,就能找到你刚分的那个区了

b)备份你的fstab文件

$ sudo cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)

    c)比较一下备份的文件是否有差别,有差别重新备份一次

$ cmp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)

  d)用你最喜欢的编辑器,打开文件/ect/fstab 输入如下:

# (identifier)  (location, eg sda5)   (format, eg ext3 or ext4)      (some settings)
UUID=???????? /media/home ext4 defaults 0 2

  注:把这里的UUID和你分的区的替换,还有文件格式替换,其他的就不用管了,保存退出

e)新建一个目录/media/home

$ sudo mkdir /media/home

    f)使用命令 :

$ sudo mount -a

      来挂载全部的分区设备,并重启

3,使用rsync命令来同步所有的/home下的文件到/media/home

$ sudo rsync -aXS --exclude='/*/.gvfs' /home/. /media/home/.

   注: 这样添加--exclude,防止说不让复制.gvfs文件,并把整个现在的/home下的文件复制到了/media/home中

检测一下是否同步是完成的,输入:

$ sudo diff -r /home /media/home

  4,再次编辑fstab文件,挂载为把刚才的/media/home改为/home

# (identifier)  (location, eg sda5)   (format, eg ext3 or ext4)      (some settings)
UUID=???????? /home ext4 defaults 0 2

   注:这里就把刚才的/media/home 更改为/home

5,修改当前的文件/home为/old_home重启

$ sudo rm -rf /old_home

  

总结:对于linux的分区文件系统,就像抽屉似的,可以随时插拔,所以,再想更换某个分区时,只要做几个步骤:1,先挂载一个分区到/media/home

然后修改分区表文件/etc/fstab 让挂载的分区能在重启后自动挂载,然后,把现在像更新的分区数据全部同步到新的分区,然后再次将改分区表

/etc/fstab为真正的分区,然后重启,就ok了,谢谢!

欢迎大家来指点啊!

ubuntu挂载其他分区到/home下,将当前分区内容替换的更多相关文章

  1. Ubuntu下添加新分区并设置挂载点

    Ubuntu下添加新分区并设置挂载点   最近在做Android项目,可是解压根文件系统以后,就报警说硬盘不够.当初设置使用的大小为15G.不过扩展分区还是很方便的.当然首先你得设置添加使用的硬盘大小 ...

  2. ubuntu server下建立分区表/分区/格式化/自动挂载(转)

    link:http://www.thxopen.com/linux/2014/03/30/Linux_parted.html 流程为:新建分区-->格式化分区-->挂载分区 首先弄明白分区 ...

  3. Ubuntu 将其他盘挂载到/home的子目录下

    Ubuntu 14.04 将其他盘挂载到/home的子目录下当安装完Ubuntu系统,由于当时没有注意,分配的分区空间太小.经过一段时间安装了各式各样的软件后,常常会遇到/home目录下空间不够的情况 ...

  4. ubuntu挂载3T新硬盘并更换home分区

    ubuntu添加一块新的硬盘,并更换home分区 1.将硬盘接入机箱,开机,查看是否现有的硬盘信息 从这里可以看出,共有两块硬盘,分别是sda和sdb 2.执行fdisk -l,确保我们要添加的就是s ...

  5. Ubuntu 10.04下如何查看分区的UUID

    Ubuntu 10.04通过UUID来区分各个磁盘分区,在/etc/fstab配置文件中就是通过UUID来挂载分区的.UUID,英文全称为:Universally Unique Identifier. ...

  6. linux下的硬盘分区、格式化、挂载

    linux下的MBR(msdos)分区.格式化.挂载 在linux下,需要使用一块硬盘. 需要进行以下四步: 识别硬盘-----分区规划-----格式化-----挂载 步骤一:分区规划 MBR模式分区 ...

  7. linux下磁盘进行分区、文件系统创建、挂载和卸载

    任务的原因:由于,刚购买来的服务器需要将磁盘挂载到操作系统上,为了挂载磁盘首先要对磁盘进行分区,然后进行文件系统的创建,最后将磁盘挂载到操作系统上的某个目录. MBR(Master Boot Reco ...

  8. linux下磁盘进行分区、文件系统创建、挂载和卸载(转)

    任务的原因:由于,刚购买来的服务器需要将磁盘挂载到操作系统上,为了挂载磁盘首先要对磁盘进行分区,然后进行文件系统的创建,最后将磁盘挂载到操作系统上的某个目录. MBR(Master Boot Reco ...

  9. Ubuntu扩展系统盘容量,虚拟机下

    安装gparted软件 sudo apt-get install gparted 接下来, 我们开始用Gparted软件扩展Ubuntu目录的容量: 先看操作步骤: 1. 先从windows的 ntf ...

随机推荐

  1. loj 1026( tarjan + 输出割边 )

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1026 思路:Tarjan 算法简单应用.割边的特点:low[v]>dfn[u]( ...

  2. Web开发中运行环境的配置:(Tomcat7.0.59)和开发环境的配置

    第一部分:运行环境的配置 1.下载压缩包,解压即可 2.配置系统变量JAVA_HOME为jdk的安装路径 3.如有需要修改端口号,比如8080已被占用的时候,可以将其改为9080等 apache-to ...

  3. Loadrunner 关联 web_custom_request综合实例

    Loadrunner 关联 web_custom_request综合实例 Loadrunner 关联web_custom_request,针对自带的订票系统的一个综合实例,相信看了本文大家对学习loa ...

  4. JAVA,JSP新建默认UTF-8

    要让一个 Java 源文件打开时编码格式为 UTF-8,需要做2件事情:1)设置Java 源文件的默认编码格式为UTF-8:2)设置workspace的编码格式为UTF-8. 相应设置如下: 设置 J ...

  5. JavaScript中两个感叹号(!!)的作用是什么?

    !!一般用来将后面的表达式强制转换为布尔类型的数据(boolean),也就是只能是true或者false. 看这么个例子: var a: var b=!!a; a默认是undefined.!a是tru ...

  6. Java中的线程

    http://hi.baidu.com/ochzqvztdbabcir/item/ab9758f9cfab6a5ac9f337d4 相濡以沫 Java语法总结 - 线程 一 提到线程好像是件很麻烦很复 ...

  7. c++ map删除元素

    typedef std::map<std::string,float> StringFloatMap; StringFloatMap col1; StringFloatMap::itera ...

  8. Chromium源码--视频播放流程分析(拨开云雾)

    转载请注明出处: http://www.cnblogs.com/fangkm/p/3791964.html 在PC浏览器中播放视频,大部分视频网站都是采用flash播放器,这多亏了Adobe Flas ...

  9. Jquery_JQuery之DataTables强大的表格解决方案

    1.DataTables的默认配置 $(document).ready(function() { $(‘#example’).dataTable(); } ); 示例:http://www.guoxk ...

  10. SpringMVC、Struts1、Struts2和SSH2框架中单例与多例的解析

    struts1是单例提供服务,请求数据绑定在actionform里,form当做参数传入调用方法,不用实例变量就不会出现并发问题. spring mvc的contrller也是这样的模式 struts ...