我的问题是尝试修复 BTRFS 系统的正确步骤、可能的原因以及报告问题的位置。
故事
我正在玩新的Windows 预览体验成员内部版本 20279以及在 Ubuntu 20.04 上通过 WSL2 挂载 BTRFS 文件系统的新可能性。
我使用了一个以单模式运行的 2TB BTRFS 外部磁盘。磁盘上的数据并不那么重要,但我想避免恢复它。
按照这些说明安装它https://docs.microsoft.com/en-us/windows/wsl/wsl2-mount-disk,我能够读取数据,甚至可以很好地写入数据,没有任何明显的错误。
然后我尝试运行清理操作,这就是我收到错误的地方。清理已中止,但我找不到任何错误日志,因为我是从 Windows“属性”选项卡运行它的。我决定中止任务,卸载磁盘并切换回我的旧 Linux 发行版。
但是,当我尝试在此处运行清理时,它会中止,磁盘切换到只读模式,并且出现以下错误:
Dec 31 11:07:06 kernel: BTRFS critical (device sda): corrupt leaf: block=52051968 slot=96 extent bytenr=311656448 len=16384 invalid generation, have 1319 expect (0, 1318]
Dec 31 11:07:06 kernel: BTRFS error (device sda): block=52051968 read time tree block corruption detected
但奇怪的是,我仍然可以很好地读取数据(没有检查校验和,但没有看到任何明显的损坏)
我的问题是,有人在 Windows 上有过类似的 BTRFS 体验吗?我应该尝试修复 BTRFS 文件系统还是应该做一个新的mkfs.btrfs
?
我已经尝试过btrfs check --repair
但失败了。数据仍然可读,但错误仍然存在。
另外,我可以在哪里向 Microsoft 报告此问题?