linux deepin缩减分区并为home单独挂载新的分区
继续折腾
前言文章
linux尝试wine以及国产常用软件总结
linux windows双系统 磁盘扩充 系统备份
deepin增加swap分区
关于双系统更改盘符增删系统相关知识一箩筐
介绍一下事情的经过,一开始是windows+cygwin,但是由于开发不方便,所以考虑换到linux下。不过第一要考虑的是微信 企业微信 qq必须可以正常使用。奈何企鹅根本不把linux用户当作人看,中间废了很大劲,最终用deepin解决了这个问题。
由于有一大堆工具需要找到替代品,先是用双系统尝试,其间遇到的问题都做了记录
Linux下C/C++ IDE推荐
工具软件技术推荐
deepin使用图形界面tr[abc]ojan订阅工具
还有一些使用技巧就不再赘述。
随着linux系统的日趋完善,使用windows的频率越来越低,就把windows的磁盘缩减,扩充到linux。然后又把windows删除,放到了虚拟机,完全过渡到了linux。
今天升级系统,开机就出现一个小bug,吓得不轻,想想所有数据放一个盘确实不妥,万一有问题,恢复起来太麻烦了,所以把分区做了缩减,为home单独做一个分区,到目前为止,算是完全体,进化成功。
缩减分区
硬盘是512G固态,都分给了根目录,如果缩减,必须做启动盘,因为当前系统在使用,是无法缩减的。还是用到上面的gparted,按照提示,可以说轻车熟路了,把系统盘设定为150G。这里注意,我整个linux所有数据,没有超过150G,因为不可能直接删除home,所以最好还是依据当前系统的情况而定。
新建分区
缩减操作要好久,我这边预计用了20多分钟,完成后,直接重启,先不要分区,避免出错,减少一步操作,就能恢复更多的数据。建议操作前还是备份一下。
重启系统,进入系统,查看一下是否一切正常,如果正常,再打开gparted图形界面。系统里也安装一个,这个非常好用,操作不在使用的磁盘很方便,没必要用命令行分区,随便点几下,创建一个新分区。
挂载新分区
df -h
查看一下新分区的盘符,比如是/dev/sdb,然后把这个分区先挂载到一个地方,比如sudo mount /dev/sdb /media/mydata
这里挂载的作用是把home的数据拷贝过来,挂载的目录名字无所谓
拷贝数据
很多博客都是用sudo rsync -aXS /home/ /media/mydata
复制数据(参数不用太在意,就是把所有的文件包括文件夹隐藏文件和属性拷贝过去),实际上cp也可以,只要能把数据全部复制过去就行。cp命令sudo cp -aR /home/* /media/mydata
不过我是用的rsync操作的,可以作为一个参考。拷贝过去后,数据大小可能会有一点变化,自己再确认一下,我的是从74G变成了73G
移动home
把当前的home目录移动一下,换一个名字,为后续挂载新分区做准备。最好不要先删除,避免操作失误sudo mv /home /home_old
卸载刚才的分区
数据复制完成后,理论上另一个分区就可以切换为home了,先要把它从其他挂载目录卸载sudo umount /dev/sdb
创建home目录
刚才的home目录已经被移走了,所以需要先创建一个home目录sudo mkdir /home
挂载新分区
这时可以把刚才复制好数据的sdb挂载到新创建的空的home目录sudo mount /dev/sdb /home
到目录下查看一下,是否已经有数据
修改/etc/fstab
上面只是临时挂载,重启后就没有了,这时需要编辑/etc/fstab,在里面添加对应的挂载信息
查看分区的uuid
blkid | grep /dev/sdb
,获得对应的uuid,是一个字符串,也可以通过其他方式获得,这里就不在介绍
增加挂载信息
复制上面的uuid,打开sudo vim /etc/fstab
,在最后一行加上UUID=xxx /home ext4 rw,relatime 0 1
。网上很多资料都提供了各种挂载信息,实际上都可以,不过也不用特别介意,系统肯定有一个根目录挂载信息,直接复制过来把uuid和对应挂载目录改一下就可以了。home挂载和根目录没什么区别,并且我们拆分之前,home就是在根目录下,所以同样的挂载配置不会有什么问题。
- UUID 上面查到的对应分区的UUID
- /home 要挂载的目录
- ext4 挂载分区的文件格式
- rw,relatime 读写权限和备份相关,想详细了解可以查一下资料
- 0 1 两个额外参数,想了解也可以查资料
重启系统
保存退出,重启系统,查看一下,是否一切正常
删除原来的home_old
确认无误后,删除home_old,建议拷贝到u盘等先备份一下,再删除,然后再重启,避免操作失误