/home目录无损迁移至独立分区实践
Tofloor
poster avatar
47******76@qq.com
deepin
2018-09-03 08:17
Author
本帖最后由 cherishlj 于 2018-9-3 00:25 编辑

参考了该文章 Ubuntu 16.04 /home 目录迁移到独立分区的方法

第一次发帖,顺便记录一下全过程。

背景
笔记本电脑,4代i7 ES,Quardro K2100M 独显,8G DDR3 1600 内存(有一条8G内存坏了),512G的固态。从15.5慢慢升级到15.7,没有swap分区,用的Swap System Control自动管理swap,除了efi分区,单独一个分区。最近发现已经膨胀到120多G了,home目录占了60多G,每次用live备份系统要花半个多小时,太夸张,就想着可不可以把/home目录迁移到独立分区,以后就只要备份根分区就可以了。查询了论坛只有一个帖子涉及到这个需求,且说的都不是很清楚,便去google了许多教程,经过尝试成功完成迁移。
PS:deepin是本人第一次用linux,以前是呆在windows阵营的,现在笔记本里只有deepin,windows在virtualbox里头,给2G内存,64位win10,体验贼佳。

过程
准备工作:在live系统下先把全盘备份,防止出问题。然后用Gparted工具把系统盘大小调整为200G,空余部分新建ext4分区,200G,作为将要迁移的目的地。然后重启进入deepin系统,开始进入正题。
1. 记录目的地分区的UUID,命令:
  1. sudo blkid
Copy the Code

2. 打开/etc/fstab,添加挂载,命令:
  1. sudo gedit /etc/fstab
Copy the Code
在最后添加一行,等号后面部分替换成第一步记录的UUID:
  1. UUID=782e0333-6722-4506-bf73-4353fc3ccfc6 /media/home ext4 nodev,nosuid 0 2
Copy the Code
3. 让添加的挂载生效,将目的地分区挂载到/media/home,命令:
  1. sudo mkdir /media/home
  2. sudo mount -a
Copy the Code
4. 将/home目录全部拷贝至/media/home,下面使用的命令我不清楚是什么命令,牵扯到的时间,属性,权限什么的我也不清楚,但是这个命令有效,不会引起后续问题,如果有懂的亲,可以在楼下回复解释一下其作用和特点,命令:
  1. sudo rsync -aXS /home/. /media/home/.
Copy the Code
命令会持续较长时间,视硬盘速度以及/home目录大小而定。

5. 接下来的操作尽量不要离开终端,因为你的资源管理器(目测很多应用)会打不开了,因为在操作过程中/home目录会短暂地消失一会,命令:
  1. cd /
  2. sudo mv /home /home_backup
  3. sudo mkdir /home
Copy the Code
完成的工作为,备份原/home目录,建立新的/home目录,接下来的工作即为将目的地分区挂载到新建的/home目录则大功告成。
6. 再打开/etc/fstab,命令:
  1. sudo nano /etc/fstab
Copy the Code
接下来在终端内对配置文件进行处理,因为此时/home目录为空,除了终端,估计啥也干不了,把fstab文件的最后一行改为:
  1. UUID=782e0333-6722-4506-bf73-4353fc3ccfc6 /home ext4 nodev,nosuid 0 2
Copy the Code

没错,只是把"/media"字符串删掉了,记得Ctrl+O保存,Ctrl+X退出。同时,重新挂载一下,命令:
  1. sudo mount -a
  2. sudo rm -rf /media/home
Copy the Code
至此,大功告成,当然最后的/home_backup你可以先不删,留校查看。

大家一起学习deepin,喵!





Reply Favorite View the author
All Replies
1 / 2
To page
avatar
ckurobac
deepin
2018-09-03 15:18
#1
直接在live系统完成所有操作明显方便很多……
Reply View the author
avatar
许自强
deepin
2018-09-03 17:16
#2
试试在live里面操作
Reply View the author
avatar
150******18
deepin
2018-09-03 22:16
#3
https://bbs.deepin.org/post/168358
直接在live系统完成所有操作明显方便很多……

这个就叫DIY方方法吧,反正Linux就是折腾
Reply View the author
avatar
看见如果
deepin
2018-09-03 23:20
#4
很简单的,基本思路就是先把独立磁盘挂载到一个目录,如/A,然后把/HOME目录数据转移到/A,确保数据完整,再把独立了磁盘挂载到/home
Reply View the author
avatar
qq420100523
deepin
2018-09-04 01:17
#5
很详细,楼主真用心
Reply View the author
avatar
47******76@qq.com
deepin
2018-09-04 02:39
#6
qq420100523 发表于 2018-9-3 17:17
很详细,楼主真用心

终于有一个夸我的了,谢谢
Reply View the author
avatar
sendtion
deepin
2018-09-19 05:33
#7
支持一下
Reply View the author
avatar
DeepinOS
deepin
2018-09-19 16:45
#8
很支持,
我尝试了别的方法,但失败了,估计是最后编辑/etc/fstab的某个参数有问题
Reply View the author
avatar
47******76@qq.com
deepin
2018-09-20 02:30
#9
deepin_me 发表于 2018-9-19 08:45
很支持,
我尝试了别的方法,但失败了,估计是最后编辑/etc/fstab的某个参数有问题 ...

撒花
Reply View the author
avatar
何来
deepin
2018-09-21 09:52
#10
备份数据,直接GParted修改,记住UUID,接下来修改/etc/fstab,复制原主目录的所有文件过去(包括隐藏文件),最好在live模式操作。
Reply View the author
avatar
DeepinOS
deepin
2018-09-21 22:46
#11
最后我来总结一下吧,我遇到的问题是文件权限的问题。
上边的方法是对的,但还是遇到了权限问题.
我的用户名是czx
用ls -l 命令查看文件夹权限
发现我czx 文件夹的拥有者是root,组是root
用下面的两个命令更改czx 文件夹的权限。
sudo   chgrp -R /home/czx
sudo   chown -R /home /czx

顺便补充一句,在tty2界面用这个命令的。
Reply View the author
avatar
DeepinOS
deepin
2018-09-21 22:48
#12
https://bbs.deepin.org/post/168358
最后我来总结一下吧,我遇到的问题是文件权限的问题。
上边的方法是对的,但还是遇到了权限问题.
我的用户 ...

其实我是比较两个deepin系统得出的结论,
一个在USB硬盘上,一个在电脑硬盘上,比较一下看出端倪了
Reply View the author
avatar
DeepinOS
deepin
2018-09-21 22:48
#13
https://bbs.deepin.org/post/168358
最后我来总结一下吧,我遇到的问题是文件权限的问题。
上边的方法是对的,但还是遇到了权限问题.
我的用户 ...

其实我是比较两个deepin系统得出的结论,
一个在USB硬盘上,一个在电脑硬盘上,比较一下看出端倪了
Reply View the author
avatar
47******76@qq.com
deepin
2018-09-21 23:28
#14
deepin_me 发表于 2018-9-21 14:48
其实我是比较两个deepin系统得出的结论,
一个在USB硬盘上,一个在电脑硬盘上,比较一下看出端 ...

大佬厉害
Reply View the author
avatar
131******70
deepin
2018-12-26 02:00
#15
大侠厉害
Reply View the author
avatar
浪云
deepin
2019-10-01 03:23
#16
https://bbs.deepin.org/post/168358
试试在live里面操作

live中的有详细教程吗?
Reply View the author
avatar
要讲武德
deepin
2019-10-01 07:29
#17
有用啊!
Reply View the author
avatar
许自强
deepin
2019-10-03 05:34
#18
https://bbs.deepin.org/post/168358
live中的有详细教程吗?

额,应该是没有。
Reply View the author
avatar
DeepinOS
deepin
2019-10-03 21:40
#19
4. 将/home目录全部拷贝至/media/home,下面使用的命令我不清楚是什么命令,牵扯到的时间,属性,权限什么的我也不清楚,但是这个命令有效,不会引起后续问题,如果有懂的亲,可以在楼下回复解释一下其作用和特点,命令: sudo rsync -aXS /home/. /media/home/. 命令会持续较长时间,视硬盘速度以及/home目录大小而定。
Reply View the author
avatar
DeepinOS
deepin
2019-10-03 21:43
#20
抱歉出了点问题,我上面复制的这个命令不仅复制了问的内容,也同步了文件的属性,rsync是一个同步文件的命令,挺好使的,像楼主这样复制不会有文件权限问题,大家有需求的可以用楼主的方法
Reply View the author
1 / 2
To page