[Internal testing communication] 把deepin25装进Btrfs@子卷使用timeshift备份
Tofloor
poster avatar
LiuYongzhang
deepin
8 hours ago
Author

1:先手动分区安装系统并更新升级系统

分区结构如下**:**

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

2:安装timeshift

终端运行 sudo apt install timeshift -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/*,/mnt/*,/lost+found/*,/@/,/@home/} / /@/

#同步 /home/ 到 /@home/

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

5:下载v23grubfiles.zip解压,在解压后的位置右键-在终端打开

image.png

有三个⽬录的内容需要替换
/@/etc/grub.d/
/@/etc/default/grub.d/
/@/usr/share/grub
以及⼀个⽂件需要替换
/@/etc/default/grub
注意删除这个⽂件99_deepin-boot-kit⽂件,否则⽆法输出⼆级引导的grub.cfg⽂件

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进行备份

Reply Favorite View the author
All Replies
deepin-superuser
deepin
8 hours ago
#1

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

Reply View the author
wcs4221
deepin
8 hours ago
#2
deepin-superuser

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

说的是。

Reply View the author
remyxo
deepin
7 hours ago
#3
wcs4221

说的是。

+1

Reply View the author