Deepin深度系统手动分区详解
我们先看一下Deepin深度系统全盘安装方式默认分区是怎么设置的?
分区 | 大小 | 挂载点 |
---|---|---|
/dev/sda1 | 488M | /boot |
/dev/sda3 | 12G | /recovery |
/dev/sda4 | 随内存大小分配 | swap |
/dev/sda5 | 15G | / |
/dev/sda7 | 剩余空间 | /data |
其中sda2和sda6没有挂载,/opt、/var、/root和/home目录挂载到了/data下。
如果你只有一块硬盘,那么使用全盘安装即可。但通常情况下,我们只需要一块64GB的SSD硬盘用于安装系统和软件,一块1TB或更大的机械硬盘用于存放数据。这时候,其实也可以使用Deepin的全盘安装方式,再把/home目录单独挂载到机械硬盘。但我更喜欢手动分区方式,因为手动分区更加灵活,比如可以指定swap大小。
下图是我的磁盘分配结果:
我的分区设置如下:
分区 | 大小 | 挂载点 |
---|---|---|
/dev/sda1 | 300M | EFI |
/dev/sda2 | 1G | /boot |
/dev/sda3 | 8G | swap |
/dev/sda4 | 16G | /recovery |
/dev/sda5 | 16G | / |
/dev/sda6 | 剩余空间 | 不挂载 |
/dev/sdb1 | 整个机械盘 | /home |
swap交换分区的大小根据内存来分配,常用的大小如下:
- 2G以下内存:内存的2倍;
- 2-4G内存:内存的1.5倍;
- 4-8G内存:等于内存大小;
- 8G以上内存:8G。
我的电脑目前内存是4G,之所以给8G的swap,是考虑以后很有可能升级内存为8G。另外,运行wine可能也需要用到较多的交换分区。
16G的recovery恢复分区是用于备份系统的,这里推荐使用软件timeshift来备份系统。
根分区只给了16G是因为我打算把软件目录、缓存目录等都挂载到/dev/sda6。Linux系统本身很小,安装完成才占用6.6G,将数据目录分离出来是为了节省备份空间,毕竟备份系统主要是为了防止系统崩溃,没必要将安装的软件也镜像一份。
/dev/sda6分区先不挂载,是为了系统安装完成后挂载到/data目录。
挂载数据目录到剩余空间
系统安装完成后,首先查看一下/dev/sda6分区UUID(记下来):
sudo blkid /dev/sda6
计划将以下目录挂载到/dev/sda6分区:
/root
/opt
/var
/tmp
/usr/local
在/mnt目录下创建一个临时的目录:
cd /mnt
sudo mkdir data
将/dev/sda6挂载到/mnt/data
mount /dev/sda6 /mnt/data
拷贝要挂载的目录数据到/mnt/data
sudo cp -rp /root /mnt/data
sudo cp -rp /opt /mnt/data
sudo cp -rp /var /mnt/data
sudo cp -rp /tmp /mnt/data
sudo cp -rp /usr/local /mnt/data
可以根据需要删除旧目录中的数据,由于我是新安装的系统,这几个目录中也没有什么文件,因此旧目录没有删除。
卸载/dev/sda6
sudo umount /dev/sda6
在根目录下创建data目录:
cd /
sudo mkdir data
编辑/etc/fstab文件:
sudo deepin-editor /etc/fstab
增加的内容如下:
# /dev/sda6
UUID=你的UUID /data ext4 rw,relatime 0 2
/data/root /root none defaults,bind 0 0
/data/opt /opt none defaults,bind 0 0
/data/var /var none defaults,bind 0 0
/data/tmp /tmp none defaults,bind 0 0
/data/usr/local /usr/local none defaults,bind 0 0
安装timeshift:
sudo apt install timeshift
备份位置设置为/dev/sda4恢复分区,排除目录如下:
/home
/root
/opt
/var
/usr/local
/tmp
因为以上目录都挂载到了单独的分区,即使系统崩溃,使用timeshift进行恢复也不影响这些数据。