我有一个硬盘驱动器,上面有坏扇区,是我使用 badblocks 和 Windows 所使用的任何工具发现的。我在 btrfs 上安装了 Lubuntu,目前运行顺畅(而 Windows 会冻结),但是有没有办法将 badblocks 输出提供给 btrfs?或者 btrfs 已经自动完成所有这些操作了?
我没有存储任何不重要的数据,这只是为了试用 btrfs 并看看它在处理实际的坏硬盘时表现如何。
答案1
brtrfs 不支持坏块。它目前假设对设备的所有写入都成功。不要将它用于返回无法纠正的 SMART 扇区错误的驱动器。
有更多信息和解决方法这里。
未声明 — 尚无补丁 — 尚未进入内核
目前,btrfs 不会跟踪坏块,即很可能丢失写入其中的数据的磁盘块。Btrfs 应该接受坏块输出格式的列表,将其存储在新的 btree 中(或者可能存储在当前范围树中,使用新标志),重新定位块中包含的任何数据,并保留这些块,以便它们不能用于未来的分配。此外,当发现校验和错误时,可以教导 scrub 测试坏块。这将使 scrub 更加有用;校验和错误通常是由磁盘引起的,但当 scrub 检测到受影响的文件时,在备份场景中有机会重新创建它们,下一个重用坏块的文件将开始出现错误。这两项将匹配 ext4 功能(通过 e2fsck 使用)。
如果状态有变,请发表评论,我会更新此答案。