[System Installation] 【建议】使用Btrfs分区方案
Tofloor
poster avatar
178******99
deepin
2022-06-02 08:06
Author

deepin目前的默认分区方案

deepin现在采用的默认安装方案是这样的:除了EFI系统分区和交换分区之外,建立一个约16G的系统分区、一个数百M的boot分区和一个占用其他剩余空间的数据分区。/opt和/home是放在数据分区里的,通过mount --bind挂到根目录下。另外,用户可以选择建立一个“出厂设置”分区,它保存了系统刚安装时的样子,用于系统重置。

这样做的初衷是很好的。它提供了一定的灵活性。然而,这种分区方案存在一定的局限性。例如,如果用户需要通过APT安装比较多的包,那么较小的系统分区很可能不够用。而且,目前商店应用还没有完全被放在/opt下,它仍然需要在/etc、/var、/usr中安装一些文件,因此将/opt和/home放在一个分区也有一些欠妥。

基于Btrfs的分区方案

Btrfs对系统的安装、配置和维护方面最突出的特性是子卷和快照。同一个Btrfs的多个子卷在共享存储空间的情况下在逻辑上是独立的。可以单独挂载某一个子卷,可以将不同的子卷挂载到不同位置,就像它们是多个不同的分区一样!而快照不仅可以高效地保存一个子卷的状态,甚至还可以通过btrfs send命令复制到其它btrfs分区上,或者存储到其它文件系统上的镜像文件中,实现增量、压缩、加密、可浏览内容的备份。

(btrfs的特性可对标apfs,并且btrfs算是pro plus max版)

我在我的电脑上的一个btrfs分区里同时安装了Arch和Ubuntu。我建立了5个子卷,分别用作Arch的根目录和/boot、ubuntu的根目录和/boot,以及两者共用的/home。这两个系统甚至可以用同一个grub菜单引导。如果我想安装一个新的发行版或删除一个发行版,只要操作btrfs子卷就可以了(前提是这些发行版的安装器对btrfs友好或可以通过命令行手动安装)。它们虽然共用存储空间,但彼此完全互不干涉。

我建议Deepin也可以采用btrfs的分区方案。可以将所有内容放在一个btrfs分区中。建立一个子卷作为系统子卷挂载在根目录,然后为/opt、/home、/boot各建立一个子卷。甚至可以建立一个子卷用来放live系统。恢复出厂设置可以通过在安装完成后创建一个系统子卷的快照来实现,btrfs是cow的,这根本不用占用任何额外的空间。执行重装操作只需要操作子卷即可,同时也方便了Deepin实现类似Mac的Time Machine但是强大的多的备份系统。而且,这样无需全盘安装也可以获得之前全盘安装方案的各种优点

Reply Favorite View the author
All Replies
root
deepin
2022-06-02 08:43
#1

另windows下安裝驅動後可以直接訪問btrfs的內容

https://github.com/maharmstone/btrfs

Reply View the author
一醉陶然
deepin
2022-06-02 09:43
#2

支持。

Reply View the author
qingkongdeepin
deepin
2022-06-02 17:04
#3

支持大佬

Reply View the author
Tonny
deepin
2022-06-02 19:36
#4
It has been deleted!
蔡EEPIN
deepin
2022-06-02 20:45
#5

建议直接参考garudaLinux,分区只有btrfs。 自动快照 不怕系统崩溃

Reply View the author
178******99
deepin
2022-06-02 21:07
#6
Tonny It has been deleted!

Open suse、Fedora、garudaLinux都采用btrfs作为默认方案,稳定性应该已经得到验证。而且BTRFS的高级功能完全可以被封装为简单易用的工具。

Reply View the author
kingskill
deepin
2022-06-02 21:24
#7

agree

Reply View the author
Tonny
deepin
2022-06-03 02:06
#8
It has been deleted!
十香菜
deepin
2022-06-04 03:18
#9
Tonny It has been deleted!

手机里的安卓系统用的什么文件系统?

Reply View the author
Tonny
deepin
2022-06-04 03:23
#10
It has been deleted!
十香菜
deepin
2022-06-04 06:57
#11
Tonny It has been deleted!

用户不关心手机如何分区,这点深度可以学习一下。管你怎么分,什么系统文件,能合理管理硬盘就行了。科普Linux分区对于普通用户没有意义。

Reply View the author
铁山老道孔乙己
deepin
2022-07-01 17:25
#12

我的 deepin 目前就是安装在 btrfs 分区。

介绍下基本方法:

0、我是先安装的 Mint 系统,它本身是支持 btrfs 系统的。这是个前提。

1、然后在 VirtualBox 里安装 深度系统 。为确保深度系统支持 btrfs 文件系统,可手工运行 apt install btrfs-progs (其实默认已经安装了)。

2、再使用工具挂载 vdi 硬盘,具体方法可以在网上搜到。

3、手工创建两个 btrfs 子卷, @dp 对应深度根分区, @dphome 对应深度家分区。

4、使用 rsync 将已挂载的 vdi 文件里的分区的文件,复制对应的 btrfs 子卷。

5、修改子卷里的 /etc/boot/grub.cfg 、/etc/fstab 配置文件,使其指向到对应的 btrfs 子卷。

6、修改 mint 的 /etc/grub.d/40_custom 文件,增加一个启动到 deepin 的子菜单。使用 update-grub 更新 mint 启动菜单。

7、重新启动系统,进入 深度系统。修改深度系统的 /etc/grub.d/40_custom 文件,增加一个启动到 mint 的子菜单。使用 update-grub 更新 深度系统 启动菜单。

到此,已经完成了把深度系统安装到 btrfs 文件系统的工作。这个时候,通过 uefi 启动的仍然是 mint 菜单,然后再通过 mint 启动菜单进入深度系统。不过不要紧,深度系统经常在系统更新时重新修改 uefi 项目,到时候你想找到 mint 菜单都找不到,只能用深度了。不过还好,只要你作了第7步,还是可以通过深度菜单进入 mint 系统的。

Reply View the author
Rubbish
deepin
2022-07-19 23:43
#13
root

另windows下安裝驅動後可以直接訪問btrfs的內容

https://github.com/maharmstone/btrfs

前些时候把Windows的数据分区转成btrfs了,最近/home容量不够也迁移过去了,这下所有数据都可以方便的共享了

Reply View the author
jalawov
deepin
2022-07-23 07:13
#14

确实,btrfs 缺点是速度会慢一点(但是还是比NTFS快),优点和特性却比ext4多很多。子卷我个人把他当作共用空间的分区用很舒服。

Reply View the author
晚秋(lateautumn)
Moderator
2022-09-30 19:43
#15

学习了kissing_heart

Reply View the author
晚秋(lateautumn)
Moderator
2022-09-30 19:45
#16

BOOT分区才需要数百M,手动安装是不是也可以参照全盘安装配置的容量分配分区空间?

Reply View the author
蓝鲸
deepin
2023-12-11 23:06
#17

这个方案貌似不错的说,看着就很有优势,回头给家里的电脑试试看。感谢楼主分享啦!

Reply View the author