是否可以“重置”坏块?

是否可以“重置”坏块?

我的磁盘出现了问题,然后就运行了badblocks

所以现在当我跑步时dumpe2fs(也是从e2fsprogs):

sudo dumpe2fs -b /dev/sdc1

我得到了坏块列表,例如:

dumpe2fs 1.41.11 (14-Mar-2010)
192
1592
2416
3112
3552
...

但事实上,我意识到问题出在机架上而不是磁盘上。我之前在 eSata 中使用机架,出现了很多读取错误。现在我切换到 USB,速度没那么快,但没有任何错误。

我的问题是:

我如何重置存储在 inode #1(坏块 inode)中的坏块列表?(当然,无需重新格式化!...如果我没有解决方案,这是我最后尝试的方法)

因为显然积木根本不是“坏的”,它们只是因为机架有故障而被报告。


编辑:当磁盘连接到 USB 后,我尝试运行另一个 badblocks,但没有成功:之前发现的 badblocks 仍然存在。我运行了:

sudo badblocks -i /tmp/emptyList -s /dev/sdc1

文件/tmp/emptyList为空,因此badblocks输入的是已知坏块的空列表。但显然,这不是坏块列表,而是坏块的附加列表,将添加到 inode #1 中声明的现有坏块中。 文档(手册)这并不十分准确。

答案1

注意力:这是一个有风险的操作,如果你不完全了解有哪些风险就不要这么做!

我已经做了:

sudo debugfs -w /dev/sdc1
clri <1>
quit

清除文件系统上的 inode 编号 1(包含坏块列表的 inode)。

然后您必须e2fsck再次运行来重置各种东西,然后就完成了!

相关内容