我有一个 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”来标记块。