所以我对 btrfs 很陌生,但现在已经使用 zfs 十多年了......
设置:
- 我在 btrfs 分区上安装了 Manjaro,但没有使用子卷。
- 安装后,我创建了 / 的快照(称为快照 fresh-install)。快照是在 /snapshots 文件夹中创建的
- 我检查了 /snapshots/fresh-install (使用 du),它似乎是一个大约 6GB 的大文件夹。我之前为新安装的 freebsd 制作过 zfs 快照,它们看起来没有那么大。
Zfs 有自己的回滚命令。那么 btrfs 世界中的等价物是什么?我的第一印象是,这就像删除文件和文件夹并从 /snapshots/fresh-install 备份中恢复它们一样简单?
它是否正确?谢谢
答案1
由于您没有为安装创建子卷,这意味着 Manjaro 安装在顶级子卷中。要“回滚”,您只需将默认子卷从顶级子卷更改为快照即可。
假设您想保留全新安装的快照,我建议首先制作它的只读快照:
cd /snapshots
btrfs subvol snapshot -r fresh-install fresh-install-ro
然后,更改默认子卷:
btrfs subvol set-default fresh-install /
重新启动后,您将有效地回滚系统。请注意,一旦执行此操作,您将不会再看到/snapshots
。这是因为/snapshots
位于顶级子卷中,并且您从不同的子卷启动。因此,访问/snapshots
您需要在某处安装顶级子卷:
mount /dev/sd[whatever] /mnt -o subvolid=5