如何解决“usebackuproot”挂载选项在 BTRFS 上工作后我该怎么办?
更改 bcache 缓存设备后,如果没有“usebackuproot”选项,我无法挂载我的 BTRFS 文件系统;我怀疑存在损坏而没有任何磁盘故障。我尝试重新创建以前的缓存设置,但似乎没有帮助。
那么问题是,现在怎么办? btrfs rescue chunk-recover
和 btrfs check
都失败了,但是使用“usebackuproot”选项我可以将它装入 r/w,数据看起来不错,btrfs rescue super-recover
没有报告任何问题。我目前正在执行清理操作,但还需要几个小时。
我可以信任存储在该文件系统上的数据吗?我在损坏发生前不久制作了一个只读快照,但仍在同一个文件系统中;我可以相信那个吗? btrfs scrub
或任何其他操作是否会真正检查我的任何文件是否已损坏?我是否应该将“usebackuproot”添加到我的 /etc/fstab(和 update-initramfs)并结束?
解决方法
我不知道这是否适用于所有人,但我通过以下步骤保存了我的文件系统*:
- 使用
mount -o usebackuproot
† 挂载文件系统
- 使用
btrfs scrub
清理已挂载的文件系统 - 卸载(或重新挂载为 ro)文件系统并运行
btrfs check --mode=lowmem
‡
*这些步骤假设您无法正常挂载文件系统并且 btrfs check
失败。否则,请先尝试。
†如果此步骤失败,请尝试运行 btrfs rescue super-recover
,如果仅靠此方法无法解决问题,则 btrfs rescue chunk-recover
。
‡如果发现问题,此命令将不会修复您的文件系统,但它会占用大量内存,如果在实时映像中运行,它将被内核杀死。如果发现问题,请进行或使用单独的安装来运行 btrfs check --repair
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。