旧电脑, 旧固态, SMART 健康, Windows 10 一直用的好好的…
装了 ArchLinux, btrfs 子卷挂载为 /. 用了 swap 文件, 在单独的子卷中, 按照要求设置了 swap 的 nocow, nocompression.
挂之前跑着俩虚拟机, 内存压力比较大, swap 都用了接近 2G+ (虽然不是很卡). 锁屏出个门, 回来挂了, 无法解锁, 切到 tty 发现 btrfs 炸了.
然后启动不了系统, 只好启动 live cd.
尝试挂载时的报错:
bad tree block start, want xxx have yyy
failed to read block groups: -5
open_ctree failed
blkid 和 btrfs filesystem show 能看到文件系统 label.
接下来尝试了这些操作仍然不行:
mount -o recovery
btrfs rescue zero-log
btrfs rescue super-recover 他说没问题
btrfs rescue chunk-recover 也说没问题
btrfs check +各种参数修复不了
最后, 迫于无奈, 用 btrfs restore 还原了 home 下的部分重要文件, 格盘装回 Windows…
不知道是不是我灾难恢复操作不对, 反正最后捞回来了一些需要的文件, 但文件系统确实是废了.