忽略ext4文件系统上的坏扇区而不格式化?

忽略ext4文件系统上的坏扇区而不格式化?

UDisk显示我磁盘上的评估

Disk is OK, 19 bad sectors (24° C / 75° F)

这个数字一年以来一直保持不变,所以我猜我的磁盘不会出现故障,但坏扇区会导致我的系统崩溃。我的 Ext4 文件系统可以忽略它们而不进行格式化吗?

答案1

是的,您的 ext4 文件系统可以忽略它们而不进行格式化。

但是,除非您有一个非常非常旧的硬盘,否则您的硬盘可能会在下次写入时自动将坏扇区重新分配给“备用”扇区,这一切对操作系统都是透明的。

因此,正确的方法是获取坏块列表,尝试多次读取其中的每一个,以防万一,然后将其写回(如果无法读取,则将其归零;在这种情况下,您可能还想识别文件,看看是否无法从某个地方恢复它)。您可以执行此操作,例如dd(但在按回车键之前请仔细检查所有内容,很容易做愚蠢的事情dd并直接写入硬盘驱动器或分区)。

同时,还可以使用 检查硬盘驱动器的 SMART 数据smartctl

答案2

您可以fsck.ext2使用该-c选项运行,该选项将运行badblocks,创建一个包含无法读取的块的不可见文件,然后确保没有两个文件共享相同的块。如果这些块中的任何一个被另一个文件使用,这将显示为冲突,并且您将获得各种修复选项,例如尝试复制这些块或删除文件。

在自动 () 运行期间无法执行此类修复-a,因为它涉及破坏性操作。如果您组合-c-a,文件系统检查可能会失败,并且我不确定在该运行中是否正确构建了坏块索引节点(应该是,因此您应该能够进行交互式修复而无需重复扫描) 。

这样,这些块就会被标记为已分配并且不会被使用。

相关内容