在打开坏块检查的格式化过程中,当前待处理扇区值是否应该改变?

在打开坏块检查的格式化过程中,当前待处理扇区值是否应该改变?

我有一个驱动器,其中有几个文件损坏。这似乎是由于过去某个时候变得非常热,报告的最高温度是 99C!我使用 ntfsclone --rescue 从中恢复了尽可能多的数据,并安装了映像。

重新分配的扇区数为零,但当前待处理的扇区数为 233。我已使用数据恢复过程读取了驱动器(单个分区)上的每个扇区,但驱动器尚未更改待处理的扇区数。我觉得这很奇怪,我认为驱动器应该重新映射待处理的扇区或确定它们没有问题。

我目前正在运行一种启用了坏块检查的格式,内核在与之前相同的块中报告 i/o 错误,但驱动器仍未重新分配扇区或更改计数。格式的输出如下:

    mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
61054976 inodes, 244190000 blocks
12209500 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
7453 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848

Checking for bad blocks (read-only test):  11.06% done, 55:05 elapsed

答案1

我必须说,这个问题问得公平。我能理解你的期望,并且相信它们是合理的——我曾经也有同样的印象。

首先,关于温度:我相信99C是错误的。这已经是极度过热了。硬盘的正常工作温度大约是20-45* 摄氏度(高容量型号为 55*C)。超过这些限制,驱动器的机械性能就会开始更快地退化。热量会导致金属膨胀——首先受到影响的是人血清白蛋白(HeadStackAssembly)。由于磁头在极低的高度(但仍然没有接触盘片表面)漂浮在盘片上方(由于空气轴承),因此您可以看到,如果某些如此精确的东西开始变形,结果会有多糟糕。这就是为什么您应该始终提供足够的冷却。此外,温度之间存在差异里面高清图(硬盘组件,基本上是磁头附近的温度环境) - 即希捷提供了一个聪明的属性就为此。

现在,回答你的问题。问题是,只有最简单的情况才会自动处理。通常,在读取操作中不会重新分配任何扇区。只有在写入时才会重新分配。如果读取扇区有困难(校验和不匹配),但数据已成功恢复椭圆曲线,那么它就不再管这个部门,不做任何事情。

因此,基本上,如果你用零覆盖整个驱动器 - 只有这样驱动器的固件才会将有问题的扇区重新映射到保留扇区,并会降低聪明的属性#197。这里的理由是,驱动器的椭圆曲线机制尝试进行错误更正,如果在相关扇区上进行一系列重试后仍失败(视为超时),则它只是将该扇区标记为北卡罗来纳大学(无法纠正,又称坏块)。这里的问题是,它不知道如何进一步处理您的数据!它不应该知道,因为这已经是您的决定了。您必须做出决定 - 推迟它并尝试在以后以某种方式恢复该扇区中的数据,或者覆盖它并导致重新分配。显然,只有其中一件事可以自动完成,这就是为什么它不能自动完成。

你在做什么文件系统,只是写作元数据,它将被放置在特定扇区。它不会填充整个驱动器(因此,它可能永远不会遇到任何当前坏扇区)。但是,零填充会。

总的来说,驾驶体验明显变差了。我建议(if=/dev/zero),如果你仍想为它注入一些(短暂的)生命力。

答案2

您可能应该将磁盘清零,即在读取测试之前写入。这将阻止重新定位,并且希望读回能够顺利进行。

相关内容