是否有可能恢复坏块?

是否有可能恢复坏块?

我有一个 500Gb 内置硬盘,从 dmesg 的输出中我得到了这个“好消息”:

[  324.434832] end_request: I/O error, dev sde, sector 4715026720
[  324.434838] Buffer I/O error on device sde1, logical block 589378084
[  324.434854] Buffer I/O error on device sde1, logical block 589378085
[  324.434858] Buffer I/O error on device sde1, logical block 589378086
[  324.434862] Buffer I/O error on device sde1, logical block 589378087
[  324.434866] Buffer I/O error on device sde1, logical block 589378088
[  324.434870] Buffer I/O error on device sde1, logical block 589378089
[  324.434873] Buffer I/O error on device sde1, logical block 589378090
[  324.434877] Buffer I/O error on device sde1, logical block 589378091
[  324.434881] Buffer I/O error on device sde1, logical block 589378092
[  324.434884] Buffer I/O error on device sde1, logical block 589378093

我想知道是否有任何方法可以从硬盘中“消除”这个区域(比如覆盖它或阻止对它的访问)并重新格式化它,这样当我使用驱动器的重命名部分时,它只会在好的扇区上写入。

我仅将此驱动器用于存储,即使将来完全失败也没关系。

答案1

您需要的命令称为坏块

去检查:

sudo badblocks -v /dev/sde1
  • 这只是为了查看它们并且执行起来是无害的。

用于sudo dumpe2fs查找块大小。可能是“4096”

并标记它们:

sudo badblocks -c 4096 /dev/sde1 > /home/$USER/badblocks.txt
sudo fsck -l /home/$USER/badblocks.txt /dev/sde1
  • 第一个命令使用 bablocks 创建一个文本文件。无害。将“4096”更改为您找到的值。
  • 第二条命令使用“fsck”来标记块。

相关内容