关于将home独立分区与/根分区合并的方法
Tofloor
poster avatar
hawker
deepin
2018-10-19 04:13
Author
本帖最后由 hawker 于 2018-10-18 20:20 编辑

前几天因为一些想法而做了这样的操作,但是到网上检索后发现找不到相关建议或方法,更多的是从根分区/划分个独立分区出来挂载为home的操作。
经过一番琢磨后成功达到了目的而且没有损失数据,完美合并。(注:仅适用于home分区与/根分区相邻且home分区位于/分区之后,看不懂的话建议还是不要折腾)

原来的情况:装系统的时候不懂,跟着网上的操作划分了home独立分区。因为各种原因,我的电脑的Windows10是保留的,另外还有个安卓x86系统,加上电脑已经用了三年多,硬盘空间不是很充裕,故给deepin划分的总空间是136g,64g给了/根分区,16g给swap交换分区,56g给了home分区(准确说就是划了个ext4独立分区然后挂载在/home目录下).

现在的情况:一个16g的swap分区+120g的系统分区.



先说一下为什么合并:
起因是我想用steam安装两个游戏,游戏是同时下载的,结果还没下载完就报错,一看磁盘容量居然满了,steam下载目录在home下,也就是说我的56g减去存放开发工具、文件的17g剩下的39g放不下8g+10g的两个游戏,可能是steam游戏文件压缩率比较高吧,反正这不是重点,重点是现在56g的home分区不够用了。我一直觉得给deepin120g的空间应该是够用的。然后看看/根分区还有40g空闲,加上home分区的39g,如果这是一个分区,那我再下载两个游戏也不成问题吧?什么?你还没get到点上?
做个假设,你磁盘有30g的空间可以用,然后你把它分成了15+15的两个分区,现在你需要安装一个16g的软件,你会发现,你的磁盘完全有那个空间可以装下这个软件,但是你现在只有两个选择,以root身份安装到/根目录,但根目录只有15g,装不下,你也可以以普通用户装到home目录,但是home目录=15g的独立分区,也装不下,难不难受?但当你把home独立分区合并到/根分区的话,无论你是安装到哪个目录,你都有足够的磁盘空间,都是30g。

开始

首先在当前系统下是完成不了操作的,也不合适,毕竟操作对象是home分区/目录。

思路:切换到live系统或其他系统(建议用linux,当然,如果能达到同样的效果也是可以的),切换后找到deepin的系统分区的/home目录,里面是空的,再找到home独立分区,把里面的文件兼属性拷贝到/home目录下,修改/etc/fstab文件将挂载home分区的命令行注释掉(删掉也没什么问题,个人觉得稳重点的做法是注释#),使用分区工具将home分区删除(当然,有条件的话最好把home分区备份下,记得属性也要保留),最后再使用分区工具扩展deepin系统分区把未分配部分合并即可。


方法:

重启进入deepin 的recovery模式
进入桌面(deepin的recovery模式还是熟悉的图形界面,但是貌似体量只有4g)
打开文件管理器,打开deepin recovery的系统盘(4g左右),进入/media/目录,可以看到几个(具体数量看你分区情况)名字是一长串数字字母的文件夹,里面有一个是原deepin系统的/分区(此处记为A文件夹),一个是home分区(此处记为B文件夹),通过里面的文件可以分辨。
确定目标后用cp -a  /media/B/xxxxx   /media/A/home   拷贝文件,-a参数可以带属性拷贝
B文件夹下的文件全部拷贝到A/home/下后继续下一步
修改文件/media/A/etc/fstab,直接终端vim /media/A/etc/fstab  ,找到挂载home分区的一行,前面加上#注释掉,保存退出
我的长这样,仅供参考:

  1. # /dev/sda12   
  2. # UUID=672cb91b-bb17-4d30-a88b-fe02bf43e057 /home ext4 rw,relatime,data=ordered 0 2
Copy the Code



deepin recovery下也有分区编辑器,打开,找到home分区(当然,名字不是home,是哪个请自行分辨),选中删除,再选中前面的/分区右键找到扩展,把删除home分区腾出来的未分配空间占满。

重启正常进入deepin,这时候进文件管理器或者磁盘管理器,可以发现系统盘大小变为120g,而且/home目录下文件跟原来一样,所有程序数据正常,圆满结束。


ps:自己操作的时候都是抱着试一试的心态做的,重装用的系统安装盘都备好了,当然没想过截图写这个,所以没图将就看吧,写得很清楚了,还看不懂的话有时间还是好好学习不要搞这些花里胡哨的东西吧。

Reply Favorite View the author
All Replies
avatar
realgm
deepin
2018-10-19 04:23
#1
交换分区有点大吧?
Reply View the author
avatar
hawker
deepin
2018-10-19 04:26
#2
https://bbs.deepin.org/post/169938
交换分区有点大吧?

对,没必要,8g就好,详细参考
https://linux.cn/article-10114-1.html?pr
写得不错,因为我的swap分区位置有点尴尬就没管它了
Reply View the author
avatar
wtz
deepin
2018-10-19 10:19
#3
顶一下。
Reply View the author
avatar
yunduanbro
deepin
2019-10-20 02:41
#4
我在想我要不要重装系统,然后重新分区
Reply View the author
avatar
DeepinOS
deepin
2019-10-22 06:42
#5
明白了,你这个是把文件复制到那个磁盘去,然后再把空间合并了,支持一下,
确定目标后用cp -a  /media/B/xxxxx   /media/A/home   拷贝文件,-a参数可以带属性拷贝
楼主这句学习了,应该标红,这句比较重要,不然进系统后就发现系统不是原来的.
Reply View the author
avatar
临之
deepin
2019-10-22 17:07
#6
还是分开好,方便重装
Reply View the author
avatar
zhouchuanfu
deepin
2019-12-01 19:08
#7
解决了大问题
Reply View the author