我在包含现有 btrfs 文件系统 (HDD) 的磁盘上运行了“mkfs.btrfs -f”,btrfs 工具可以帮助我恢复吗?如果没有,我还可以考虑什么?

我在包含现有 btrfs 文件系统 (HDD) 的磁盘上运行了“mkfs.btrfs -f”,btrfs 工具可以帮助我恢复吗?如果没有,我还可以考虑什么?

我昨天做了一件非常愚蠢的事。

我有两个物理驱动器(都是 HDD),将它们称为XY。两者都包含(单独的)btrfs文件系统,该文件系统扩展到其整个大小。

让成为我想要保留的@x子卷。X

我需要重新标记X和重组其子卷层次结构。所以我想出了以下计划:

  1. 创建 的快照@x并将其存储在Y(通过send/ receive
  2. 运行mkfs.btrfs​ -fX为其创建一个新的子卷结构
  3. send@x​从Y到 的快照X
  4. 完毕;做其他事情。

我的错误是我忘记执行步骤 3,然后执行了我编写的脚本mkfs.btrfs​Y错误的是,我不想或不需要重新格式化它;错误原因:我没有意识到标签sda//sdb不是sdc靴子之间“恒定”)。

幸运的是,Y除了 之外没有我关心的数据@x

所以现在我有两个磁盘X Y@x这在过去确实成立。今天,它们都没有成立@x,而且都已经被mkfs.btrfs -f处决了。有可能@x完全康复吗?

我尝试过一些事情(但显然没有成功):

  1. 尝试找到XY使用旧分区testdisk(我认为它可以检测到它们,但认为它们不可恢复)。

  2. btrfs restore尝试找到以前的树(手动地,以及使用更“智能”的方式)undelete_btrfs)。没有运气。

我可以photorec在磁盘上运行,这确实可以恢复各种数据,但其中很多可能是我不再关心的垃圾数据(有很多较旧的分区,通过testdisk包括何时支持 Windows 机器来检测到)XY这并不是一个真正的问题,除了我没有地方可以存储这些恢复的数据这一事实除了 XY

相关内容