![是否可以“重置”坏块?](https://linux22.com/image/956923/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E2%80%9C%E9%87%8D%E7%BD%AE%E2%80%9D%E5%9D%8F%E5%9D%97%EF%BC%9F.png)
我的磁盘出现了问题,然后就运行了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
再次运行来重置各种东西,然后就完成了!