分区结构如下**:**
终端运行 sudo apt install timeshift -y
sudo btrfs subvolume create /@
sudo btrfs subvolume create /@home
同步根目录 / 到 /@/(排除项用集合表示)
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/
有三个⽬录的内容需要替换 /@/etc/grub.d/ /@/etc/default/grub.d/ /@/usr/share/grub 以及⼀个⽂件需要替换 /@/etc/default/grub 注意删除这个⽂件99_deepin-boot-kit⽂件,否则⽆法输出⼆级引导的grub.cfg⽂件
sudo mkdir -p /mnt/btrfs_temp
sudo mount /dev/sda3 /mnt/btrfs_temp -o subvol=@
sudo mount /dev/sda3 /mnt/btrfs_temp/home -o 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
sudo nano /mnt/btrfs_temp/etc/default/grub
sudo mount /dev/sda1 /mnt/btrfs_temp/boot/efi
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
sudo chroot /mnt/btrfs_temp
# 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
# 退出 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
折腾来折腾去,还是官方出个没磐石和玲珑的ISO最方便
说的是。
+1
Featured Collection
Popular Ranking
Popular Events
1:先手动分区安装系统并更新升级系统
分区结构如下**:**
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解压,在解压后的位置右键-在终端打开
有三个⽬录的内容需要替换
/@/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
9:编辑 grub,追加 rootflags=subvol=@ 到 GRUB_CMDLINE_LINUX_DEFAULT
sudo nano /mnt/btrfs_temp/etc/default/grub
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)
14:退出 chroot 环境
按反向顺序卸载所有挂载,删除临时目录,无残留。
15:重新启动系统打开timeshift进行备份