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大小。

下图是我的磁盘分配结果:

Deepin计算机目录

我的分区设置如下:

分区 大小 挂载点
/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进行恢复也不影响这些数据。

阿里云