cd /
btrfs subvol create rootfs
btrfs subvol create homefs
cp -a --reflink=always bin usr root var rootfs/ # This is just a sample of directories to copy. But DON'T copy home.
cp -a --reflink=always home/* homefs/
mkdir /root/btrfs
mount /dev/WHATEVER /root/btrfs
cd /root/btrfs
btrfs subvol create snapshots
拍摄只读快照的示例
mount /dev/WHATEVER /root/btrfs
cd /root/btrfs
btrfs subvol snapshot -r rootfs snapshots/rootfs-2019-04-11
从快照恢复
从快照恢复不需要 LiveCD。该过程非常简单:重命名子卷,然后从您选择的快照创建读写快照。
恢复 rootfs 快照的示例。
mount /dev/WHATEVER /root/btrfs
cd /root/btrfs
mv rootfs rootfs-old # Even though rootfs would be mounted, you can still rename it without affecting the running system.
btrfs subvol snapshot snapshots/rootfs-2019-04-10 rootfs
为 / 和 /home 创建子卷
假设 / 当前是 BTRFS 文件系统的根子卷,您需要首先创建子卷,然后将目录移动到各自的子卷中。
警告: 在使用以下任何命令之前,请确保您阅读了它们并了解它们的工作原理。
然后,编辑
/etc/fstab
和更改 / 挂载点,使其使用 rootfs 子卷。这是通过添加选项 (-o) 来完成的subvol=rootfs
。然后,添加一个挂载点以/home
使用 homefs 子卷。您还需要更新引导加载程序中配置的根文件系统。最后,重新启动并确认正在使用新的挂载点。如果一切顺利,您可以临时挂载根子卷(在 /root/btrfs 等目录中)并删除您复制的原始目录。
创建快照
就个人而言,我有一个包含我的快照的子卷。这样我就可以将快照挂载到,比如说。
/mnt/snapshots
并且可以轻松访问我可能意外删除的文件。设置
拍摄只读快照的示例
从快照恢复
从快照恢复不需要 LiveCD。该过程非常简单:重命名子卷,然后从您选择的快照创建读写快照。
恢复 rootfs 快照的示例。
重新启动以使还原生效。