如何恢复此 btrfs 错误?

如何恢复此 btrfs 错误?

我有一个无法再安装的 btrfs 文件系统。我重置了电脑,启动后 Java 进程崩溃,显示核心转储,堆栈上有很多 btrfs 内容。发生这种情况后,电脑基本上无法使用,因为启动进程不再起作用。

因此,由于计算机本身无法使用,我决定使用 Ubuntu 14.04 桌面光盘来“拯救”文件系统。

我试了一下btrfs rescure chunk-recover,它问我是否应该重建块树。我回答是的。现在,它似乎已经完全坏了。FS 无法再挂载,现在输出btrfs check如下所示:

root@ubuntu:/dev# btrfs check /dev/mapper/encrypted 
checksum verify failed on 20971520 found B89CA074 wanted EDB30E17
checksum verify failed on 20971520 found B89CA074 wanted EDB30E17
checksum verify failed on 20971520 found B89CA074 wanted EDB30E17
checksum verify failed on 20971520 found B89CA074 wanted EDB30E17
Csum didn't match
Couldn't read chunk root
Couldn't open file system

尝试挂载时出现以下错误:

[90746.734393] btrfs: device fsid ee55dbb6-e359-42cc-bf76-9973ed5cf4ff devid 1 transid 6036 /dev/dm-0
[90746.844751] btrfs: device fsid ee55dbb6-e359-42cc-bf76-9973ed5cf4ff devid 1 transid 6036 /dev/dm-0
[91441.004757] btrfs: device fsid ee55dbb6-e359-42cc-bf76-9973ed5cf4ff devid 1 transid 6036 /dev/mapper/encrypted
[91441.006465] btrfs: disk space caching is enabled
[91441.008592] btrfs: dm-0 checksum verify failed on 20971520 wanted EDB30E17 found B89CA074 level 0
[91441.009034] btrfs: dm-0 checksum verify failed on 20971520 wanted EDB30E17 found B89CA074 level 0
[91441.009065] btrfs: failed to read chunk root on dm-0
[91441.025106] btrfs: open_ctree failed

我尝试btrfs check--repair--init-csum-tree--init-extent-tree但没有任何变化。

答案1

您的校验和不匹配。这不太好。

如果您尚未修复此问题,您可以尝试升级您的 btrfs-tools 并使用 btrfs check --fix-crc,这应该可以解决您的校验和问题。您可能希望先获取元数据的 btrfs 映像。

相关内容