想到一种方法是直接 cp --reflink 覆盖, 但是不知道靠谱与否.
|      1mokiki      2023-09-20 17:14:44 +08:00 我虚拟机用 raw 格式磁盘,不用 qcow2 快照功能。做快照用 cp --reflink 。我用 XFS | 
|      2kyonn OP @mokiki 那请问 xfs 恢复根文件系统一般是怎么个做法? 需要重启吗? 类似我上面描述的这种情况, 不是系统损坏,而是想回退一些操作. | 
|      3mokiki      2023-09-20 17:50:53 +08:00 via Android 我是针对虚拟机部分说的,btrfs 恢复和备份没用过 | 
|  |      4msg7086      2023-09-20 18:34:45 +08:00 可以,但是就算不重启,也还是要重启很多服务,让他们重新在原来的 subvol 上启动。 用 pivot_root 可以替换根分区。把原本的 subvol 找个地方挂载,然后把日常虚拟 FS 挂进去,最后 pivot_root 换根分区,然后再逐步重启所有正在运行的程序,包括 init 。 参考 https://dreamlayers.blogspot.com/2012/10/running-linux-from-ram.html 。 | 
|      5cgglyle      2023-09-21 14:29:42 +08:00 我现在使用的是 btrfs ,使用 snapper 备份系统。以我的经验来说,使用 snapper 回滚到某一个节点是不用重启的。但是可能会遇到 4 楼说的情况。不过我没注意到。还可以使用 timeshift 备份,这个就需要重启。 | 
|  |      6limon      2023-09-21 23:07:03 +08:00 不如用 NixOS 吧,可以 rollback |