Btrfs:如何将我的操作系统恢复到最后一个快照?

Btrfs:如何将我的操作系统恢复到最后一个快照?

所以我对 btrfs 很陌生,但现在已经使用 zfs 十多年了......

设置:

  1. 我在 btrfs 分区上安装了 Manjaro,但没有使用子卷。
  2. 安装后,我创建了 / 的快照(称为快照 fresh-install)。快照是在 /snapshots 文件夹中创建的
  3. 我检查了 /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

相关内容