欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-14 12:14:13
...

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盘,如下图所示:

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

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

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

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

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

4 准备新的ext4分区

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

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

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

df -h
  • 1
  • 1

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

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

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

sudo fdisk -l
  • 1
  • 1

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

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

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

Gparted 镜像下载地址

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

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

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

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

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

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

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

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

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

5 /home目录独立

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

sudo blkid
  • 1
  • 1

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

打开/etc/fstab:

sudo gedit /etc/fstab
  • 1
  • 1

添加下面一行:

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

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

接着创建目录:

sudo mkdir /media/home
  • 1
  • 1

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

sudo mount -a
  • 1
  • 1

复制/home到/media/home:

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

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

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

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

sudo nano /etc/fstab
  • 1
  • 1

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

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

改为:

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

修改完后用 ctrl + o 来保存,ctrl + x 退出。然后执行下面的命令重写挂载:

sudo mount -a
  • 1
  • 1

最后删除/home_backup:

sudo rm -rf /home_backup
  • 1
  • 1

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

df -h
  • 1
  • 1

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

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

6 重装Ubuntu

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

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

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

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

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

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

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

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

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

Ubuntu 16.04 /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