我有一个 WD 便携式硬盘,用于日常备份。最近某些文件似乎出现了读/写错误,似乎是坏扇区问题。
我正在使用ddrescue
新硬盘进行数据备份。我不知道如何处理旧硬盘。由于ddrescue
结果中没有显示太多坏扇区,我想隔离它们并使用其余的健康空间。
e2fsck
我谷歌了一下,找到了一些工具,比如fsck
和badblocks
。前两个工具尝试修复坏扇区,第三个工具定位坏块 ID。但是,如果无法fsck
修复错误怎么办?在某些情况下文章这表明badblocks
强制驱动器本身重新映射任何有问题的扇区
但我怀疑这是如何实现的,尤其是当硬盘连接到另一台装有 Windows 操作系统的电脑时。
根据我的理解,我需要在驱动器上创建分区,在这些分区之间留出一些空白区域,并确保所有坏扇区都位于这些空白区域中。我的理解正确吗?有没有推荐的工具可以做到这一点?
答案1
坏块无法修复。它们被添加到一个特殊的坏块黑名单中,以便将来避免。这是通过sudo e2fsck -c /dev/sdXY
在具有 Linux 文件系统的现有分区上使用来实现的。无需创建特殊分区或留下空白空间。
以下是一段引文man e2fsck
This option causes e2fsck to use badblocks(8) program to do a
read-only scan of the device in order to find any bad blocks.
If any bad blocks are found, they are added to the bad block in‐
ode to prevent them from being allocated to a file or directory.
If this option is specified twice, then the bad block scan will
be done using a non-destructive read-write test.