Ubuntu 16.04 /home 目录迁移到独立分区的方法

前端之家收集整理的这篇文章主要介绍了Ubuntu 16.04 /home 目录迁移到独立分区的方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1 简介

Ubuntu分区方案一般有下面三种:

  1. /boot 200M、/ 30G、/home 剩余全部空间、swap 8G
  2. / 剩余全部空间、swap 8G
  3. / 30G、/home 剩余全部空间、swap 8G

第一种分区方案是为了将/boot独立出来,防止操作系统无法启动,这样分的好处博主没体会到,好像/boot没什么用,而且把磁盘搞得支离破碎的,所以博主一般不用这种分法。
第二种分区方案是懒人方案,或者说新手方案,简单粗暴,对于装系统像家常便饭一样的博主来说,这样分区最快啦,毕竟在实体机上操作分区需要小心翼翼,耗费心力啊。
第三种方案的好处是/home分区被独立出来了,这样以后重装系统的时候就可以保留/home分区里的用户数据了,就像重装windows只需要格式化C盘一样,重装Linux只需要格式化 / 分区即可。

第三种分区方案是博主推荐的方案,因为重装Linux系统可以保留用户数据

如果已经按照第二种方案,只分了一个 / 分区怎么办呢?
方法是将/home迁移到独立的分区中,下面我们就来将/home独立出来。

2 环境

磁盘操作是危险操作,如果你还不熟练的话,请在虚拟机中操作,这里推荐vmware虚拟机。博主的环境如下:

  • win7
  • vmware 12
  • Ubuntu 16.04 iso镜像

3 安装Ubuntu虚拟机

到Ubuntu官网下载Ubuntu 16.04的镜像,下载地址:

Ubuntu 16.04官网下载地址

然后百度下载vmware,下载地址如下:

VMware 12 百度软件中心下载地址

破解也很容易,百度一下vmware注册码就可以了。这里博主就带过了,接下来要创建Ubuntu虚拟机,也很简单,一直点下一步就可以了,只说两点。
要vmware开机加载镜像文件,则可以右键虚拟机,然后点击设置,选择CD/DVD选项,选择使用ISO镜像文件,并且勾选启动时连接的框,然后重启虚拟机就可以了,不需要U盘,如下图所示:

分区的时候按照第2种方案分区,即 swap 8G,/ 剩余空间。但是要注意保留一部分空闲分区,便于我们创建新的分区,博主的分区如下图所示:

如果你全部分完了也没关系,在vmware中增加虚拟机的磁盘空间即可。如下图所示:

4 准备新的ext4分区

/home要挂载到独立的分区中,所以首先我们得有一个新的ext4分区。要得到一个新的分区有两种方法

  1. 压缩现有分区,创建新分区,推荐Gparted工具
  2. 从空闲分区创建新的分区

这里我们用安装的时候预留的空闲分区来创建新分区。首先用下面的命令来看看挂载的情况:

 
 
  • 1
  • 1
df -h

可以看到只有一个分区/dev/sda1被挂载在了/目录上面,其余的挂载点挂载的都是内存上,swap是没有挂载点的。如下图所示:

接着再来看看分区的情况:

  
  
  • 1
  • sudo fdisk -l

    可以看到只有两个分区,sda1和sda5,sda2是扩展分区,扩展分区必须再划分成逻辑分区才能使用,逻辑分区的区号从5开始,因此只有2个分区,而sda5分区是swap,如下图所示:

    接下来我们用Gparted来分区。Gparted是Linux下的无损分区工具,图形操作界面非常简单,如果是实体机,需要将Gparted用软碟通刻录到U盘,然后从U盘启动,如果是虚拟机,则直接启动时候加载Gparted镜像就可以了。Gparted下载地址:

    Gparted 镜像下载地址

    右键虚拟机,点击设置,CD/DVD选项选择Gparted镜像,然后启动虚拟机,就可以进入Gparted界面了。如果不能启动到Gparted,则需要调整一下vmware虚拟机的启动顺序。先关闭虚拟机,然后选择启动到固件,如下图所示:

    这时候就进入了bios设置,切换到boot选项卡,然后按 +/- 号键来调整启动顺序,把CD-ROM调整到Hard Disk前面,调整完毕后按F10键保存退出,如下图所示:

    一路按回车键,就进入了Gparted的界面,如图所示,右边灰色的就是空闲分区:

    对灰色区域点右键,新建分区就可以了,拖动进度条,然后点击add,然后在点击Apply,建好之后的分区如下图所示:

    好了,到这里就准备好了新的分区,下面我们来独立/home目录。

    5 /home目录独立

    首先执行下面的命令,查询刚刚创建的/dev/sda3分区的uuid:

    sudo blkid

    打开/etc/fstab:

    sudo gedit /etc/fstab

    添加下面一行:

      
      
  • 1
  • UUID=782e0333-6722-4506-bf73-4353fc3ccfc6 /media/home ext4 nodev,nosuid 0 2

    这里的UUID替换为我们刚创建的分区/dev/sda3的uuid
    注意,和其他行的格式要一致,第一个空是空格,后面的空都是Tab键

    接着创建目录:

    sudo mkdir /media/home

    将/dev/sda3挂载到/media/home:

    sudo mount -a

    复制/home到/media/home:

    sudo rsync -aXS /home/. /media/home/.

    这个过程需要一点时间,等待命令完成。接着执行下面的命令:

      
      
  • 1
  • 2
  • 3
    • 1
    • 2
    • 3
    cd / sudo mv /home /home_backup sudo mkdir /home

    这个时候创建了一个新的/home目录,接着再打开/etc/fstab:

    sudo nano /etc/fstab

    将/dev/sda3分区挂载点由/media/home改为/home,也就是将下面这行:

     改为:

    782e0333-6722-4506-bf73-4353fc3ccfc6 /home ext4 nodev,85); font-family:"microsoft yahei"; font-size:14px"> 修改完后用 ctrl + o 来保存,ctrl + x 退出。然后执行下面的命令重写挂载:

     最后删除/home_backup:

    sudo rm -rf /home_backup

    现在我们再来看看分区的挂载情况:

     对比前面的图片,就可以发现/home已经挂载到/dev/sda3上去了。
    好了,到这里我们就把/home成功的独立出来了。

    6 重装Ubuntu

    我们要把/home独立出来,就是为了以后重装系统时保留用户数据,下面来操作。
    设置虚拟机开机加载Ubuntu的系统镜像,然后设置从CD启动,具体步骤参照上面加载Gparted镜像的步骤,这样就进入了装系统的步骤,选择自定义选项,如下图:

    可以看到之前已经分好的sda1,sda3,sda5三个分区,如图所示:

    点击sda1分区选择ext4,不要改变分区大小,挂载点选择 /,如图所示:

    点击sda3分区,选择ext4,不要改变分区大小,挂载点选择 /home,如图所示:

    sda5是swap分区,不用管它,接着在/dev/sda1后面的是否格式化选框中勾选,但不要勾选/dev/sda3分区,否则/home分区会被格式化,那么用户数据就丢失了。如下图所示:

    好了,接着就开始重装系统了,经过博主亲测,这样重装系统不会丢掉/home下面的数据,即使装了Ubuntu 16.04后重装Ubuntu 14.04也不会丢掉数据。
    再也不用每次重装Linux都把所有数据都干掉了。

    7 总结

    博主是参考下面这篇文章来实践的,当然是英文的啦:

    https://www.maketecheasier.com/move-home-folder-ubuntu/

    /home分区独立,经过博主亲手实践,写博客记录下来。转载请注明来自”梧桐那时雨”的博客
    如果你在实践中遇到什么问题,欢迎给我留言。

    8 转载自”梧桐那时雨”的博客:http://blog.csdn.net/fuchaosz/article/details/51980627

    原文链接:https://www.f2er.com/ubuntu/353108.html

    猜你在找的Ubuntu相关文章