[Internal testing communication] 把deepin25装进Btrfs@子卷使用timeshift备份
Tofloor
poster avatar
LiuYongzhang
deepin
2026-02-05 13:19
Author

1:先手动分区安装系统

分区结构如下**:**

挂载点 文件系统 大小
efi efi 300MB
swap swap 16G
/ btrfs 剩下的全部

2:更新升级系统

终端运行 sudo apt update && sudo apt dist-upgrade -y

3:#创建@和@home子卷(必须,timeshift需要)

sudo btrfs subvolume create /@

sudo btrfs subvolume create /@home

4:同步根目录 / 到 /@/(排除项用集合表示)

sudo rsync -avHP --exclude={/ostree/,/sysroot/,/persistent/,/tmp/*,/proc/*,/sys/*,/dev/*,/run/*,/media/*,/home/*,/mnt/*,/lost+found/*,/@/,/@home/} / /@/

#同步 /home/ 到 /@home/

sudo rsync -avHP --exclude={/home/lost+found/*} /home/ /@home/

5:下载v23grubfiles.zip解压,

把解压后的各个文件夹里面的文件复制到相对应的目录,一定要替换

有三个⽬录的内容需要替换
/@/etc/grub.d/
/@/etc/default/grub.d/
/@/usr/share/grub
以及⼀个⽂件需要替换
/@/etc/default/grub

6:创建 /mnt/btrfs_temp,-p 避免目录已存在报错

sudo mkdir -p /mnt/btrfs_temp

7:挂载 @ 子卷

sudo mount /dev/sda3 /mnt/btrfs_temp -o subvol=@

sudo mount /dev/sda3 /mnt/btrfs_temp/home -o subvol=@home

8:编辑 fstab(核心:确认 / 的 subvol=@,添加 /home 的 subvol=@home)

sudo nano /mnt/btrfs_temp/etc/fstab

直接在原有的 / 上修改,删除subvolid=x字段,将原来的subvol=/改成subvol=/@

UUID=xxxx-xxxx-xxxx-xxxx / btrfs subvol=/@ 0 0

复制上一条进行修改,将/改成/home ,subvol=/@改成/@home

UUID=xxxx-xxxx-xxxx-xxxx /home btrfs subvol=/@home 0 0

image.png

9:编辑 grub,追加 rootflags=subvol=@ 到 GRUB_CMDLINE_LINUX_DEFAULT

sudo nano /mnt/btrfs_temp/etc/default/grub

image.png

10:挂载 EFI 分区(/dev/sda1)到 @ 子卷的 /boot/efi

sudo mount /dev/sda1 /mnt/btrfs_temp/boot/efi

11:绑定挂载 4 个虚拟文件系统(缺一不可,保证 chroot 环境完整)

sudo mount --bind /proc /mnt/btrfs_temp/proc

sudo mount --bind /sys /mnt/btrfs_temp/sys

sudo mount --bind /dev /mnt/btrfs_temp/dev

sudo mount --bind /run /mnt/btrfs_temp/run

12:chroot 进入目标系统

sudo chroot /mnt/btrfs_temp

13:更新 GRUB 配置与重装引导(无需 sudo)

# 1. 更新 GRUB 配置(扫描内核,生成新 grub.cfg,需看到 "Found Linux" 无红色报错)
update-grub

# 2. 重装 GRUB 到系统硬盘(/dev/sda,仅写硬盘名,不加分区号)
grub-install /dev/sda

# 3. UEFI 环境强化验证(确保 EFI 引导项被正确识别)
grub-install --efi-directory=/boot/efi --bootloader-id=grub --recheck

14:退出 chroot 环境

# 退出 chroot,回到原系统终端
exit

按反向顺序卸载所有挂载,删除临时目录,无残留。

# 按「反向挂载顺序」卸载(避免 "设备忙" 报错)
sudo umount /mnt/btrfs_temp/run
sudo umount /mnt/btrfs_temp/dev
sudo umount /mnt/btrfs_temp/sys
sudo umount /mnt/btrfs_temp/proc
sudo umount /mnt/btrfs_temp/boot/efi
sudo umount /mnt/btrfs_temp

# 删除临时挂载点(rmdir 仅删空目录,比 rm -rf 安全,避免误删系统文件)
sudo rmdir /mnt/btrfs_temp

15:重新启动系统

安装timeshift

终端运行 sudo apt install timeshift -y

打开timeshift进行备份

image.png

Reply Favorite View the author
All Replies
deepin-superuser
deepin
2026-02-05 13:26
#1

折腾来折腾去,还是官方出个没磐石和玲珑的ISO最方便

Reply View the author
wcs4221
deepin
2026-02-05 13:31
#2
deepin-superuser

折腾来折腾去,还是官方出个没磐石和玲珑的ISO最方便

说的是。

Reply View the author
remyxo
deepin
2026-02-05 14:49
#3
wcs4221

说的是。

+1

Reply View the author
文盲振伟🍀
deepin
2026-02-05 22:07
#4

兄弟你还在折腾推广这个事儿啊,你真是个好人。deepin强推磐石和ostree,属于是良言难劝该死的鬼了。其实mint也很好,除了没有deepin好看,兼容性杠杠的,资源占用也比deepin小,安装镜像才不到3G。换源是图形界面就能操作,预置了国内的源,直接选国内的源,下载软件速度比deepin快多了

Reply View the author
文盲振伟🍀
deepin
2026-02-05 22:08
#5
文盲振伟🍀

兄弟你还在折腾推广这个事儿啊,你真是个好人。deepin强推磐石和ostree,属于是良言难劝该死的鬼了。其实mint也很好,除了没有deepin好看,兼容性杠杠的,资源占用也比deepin小,安装镜像才不到3G。换源是图形界面就能操作,预置了国内的源,直接选国内的源,下载软件速度比deepin快多了

而且timeshift就是mint主推的,装好系统天生就在@和@home,天生就有timeshift,装好系统立刻就可以打快找

Reply View the author
LiuYongzhang
deepin
2026-02-05 23:09
#6
文盲振伟🍀

而且timeshift就是mint主推的,装好系统天生就在@和@home,天生就有timeshift,装好系统立刻就可以打快找

现在在折腾debian13

image.png

Reply View the author
毛毛虫
deepin
2026-02-06 19:15
#7

求助timeshift备份:

日志如下:

(base) scott@scott-PC:~$ timeshift-launcher

(timeshift-gtk:5085): GLib-GObject-CRITICAL **: 19:11:38.839: g_value_set_boxed: assertion 'G_VALUE_HOLDS_BOXED (value)' failed

(timeshift-gtk:5085): GLib-GObject-CRITICAL **: 19:11:38.839: g_value_set_boxed: assertion 'G_VALUE_HOLDS_BOXED (value)' failed

(timeshift-gtk:5085): dbind-WARNING **: 19:11:38.849: AT-SPI: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
App config loaded: /etc/timeshift/timeshift.json
Mounted '/dev/nvme0n1p2' at '/run/timeshift/5085/backup'
btrfs: Quotas are not enabled

Creating new backup...(BTRFS)
Saving to device: /dev/nvme0n1p2, mounted at path: /run/timeshift/5085/backup
Created directory: /run/timeshift/5085/backup/timeshift-btrfs/snapshots/2026-02-06_19-11-41
E: ERROR: Could not create subvolume: Text file busy

E: btrfs returned an error: 256
E: Failed to create subvolume snapshot: @
Failed to create snapshot

Reply View the author
LiuYongzhang
deepin
2026-02-06 20:40
#8
毛毛虫

求助timeshift备份:

日志如下:

(base) scott@scott-PC:~$ timeshift-launcher

(timeshift-gtk:5085): GLib-GObject-CRITICAL **: 19:11:38.839: g_value_set_boxed: assertion 'G_VALUE_HOLDS_BOXED (value)' failed

(timeshift-gtk:5085): GLib-GObject-CRITICAL **: 19:11:38.839: g_value_set_boxed: assertion 'G_VALUE_HOLDS_BOXED (value)' failed

(timeshift-gtk:5085): dbind-WARNING **: 19:11:38.849: AT-SPI: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
App config loaded: /etc/timeshift/timeshift.json
Mounted '/dev/nvme0n1p2' at '/run/timeshift/5085/backup'
btrfs: Quotas are not enabled

Creating new backup...(BTRFS)
Saving to device: /dev/nvme0n1p2, mounted at path: /run/timeshift/5085/backup
Created directory: /run/timeshift/5085/backup/timeshift-btrfs/snapshots/2026-02-06_19-11-41
E: ERROR: Could not create subvolume: Text file busy

E: btrfs returned an error: 256
E: Failed to create subvolume snapshot: @
Failed to create snapshot

试试先卸载 deepin-immutable-ctl

sudo atp purge deepin-immutable-ctl

在终端运行获取以下信息

cat /etc/fstab

lsblk -f

echo "=== BTRFS分区信息 ==="

lsblk -f | grep btrfs
echo -e "\n=== BTRFS子卷列表 ==="
sudo btrfs subvolume list -a -p /

可以合理利用Ai 把遇到的问题丢给Ai 根据提示一步步操作,再把操作反馈信息继续喂给a

i

Reply View the author
ycscg
deepin
2026-02-07 12:42
#9
文盲振伟🍀

兄弟你还在折腾推广这个事儿啊,你真是个好人。deepin强推磐石和ostree,属于是良言难劝该死的鬼了。其实mint也很好,除了没有deepin好看,兼容性杠杠的,资源占用也比deepin小,安装镜像才不到3G。换源是图形界面就能操作,预置了国内的源,直接选国内的源,下载软件速度比deepin快多了

确实如此,不可变系统这种玩意适合路由器这种有按reset键恢复出厂设置功能的电子设备,不适合PC操作系统,当然PC其实有自己的不可变系统,就是BIOS,操作系统层面真的不需要什么不可变系统

Reply View the author