挂载
mount /dev/sda2 /mnt
跳转
cd /mnt
创建快照文件夹
mkdir backup snapshots parent
创建可写快照
btrfs sub snap . rootfs
把可写快照设为默认快照
btrfs sub set-default rootfs
创建只读快照
btrfs sub snap -r rootfs backup/0000-init
btrfs sub snap -r rootfs snapshots/0000-init
然后用rm -rf删除/mnt下除了backup、snapshots、rootfs之外的其他文件和文件夹
然后创建启动文件符号连接
ln -s rootfs/boot .
老虎会游泳 2020-9-10 14:52:11
还要修改
rootfs/etc/fstab
uuid和文件系统名称都要改
boot/grub/grub.cfg
uuid要改
老虎会游泳 2020-9-10 14:52:45
如果要挂载parent,挂载参数添加,subvolid=0就可以
老虎会游泳 2020-9-10 14:53:15
参考/etc/fstab:
UUID=fb5899d8-57a4-4476-9f22-1c4f7e364d81 / btrfs rw,relatime,ssd,space_cache,discard=async 0 0
UUID=fb5899d8-57a4-4476-9f22-1c4f7e364d81 /parent btrfs rw,relatime,ssd,space_cache,discard=async,subvolid=0 0 0
如果想偷懒,还可以把分区的uuid改成和以前的ext4 uuid一样,这样就不需要修改grub.cfg了
老虎会游泳 2020-9-10 15:02:08
不过fstab需要修改,至少ext4字样要改成btrfs
修改uuid的命令:
btrfstune -U 你从fstab里看到的uuid /dev/sda2
老虎会游泳 2020-9-10 15:05:28
改成和你ext4的uuid一样
cat /mnt/rootfs/etc/fstab
里面看以前的uuid
老虎会游泳 2020-9-10 15:05:47
然后用blkid命令检查是不是成功
一定要先取消开发者模式开启文件的“禁止删除”标记,再进行转换,否则就会像我一样转换失败,然后文件丢失一半。还好有一个备份不然就只能重装了!
就算没有开启开发者模式,也要执行以下命令:
所以,最好是转换新装的系统。如果系统内容已经很多了,一定要备份,不然你不知道怎么就失败了,一半文件就没了。