SMART 提供的有关坏扇区和坏块的信息在格式化后还能保留吗?

SMART 提供的有关坏扇区和坏块的信息在格式化后还能保留吗?

我已经阅读了 SuperUser、ServerFault 和其他网站上关于这个主题的许多问题和答案,但我对 SMART 和坏块仍然有点困惑。

我看到 SMART 将有关坏扇区的信息存储在只有磁盘固件可访问(操作系统无法访问)的内存位置。当 mke2fs 使用 badblocks 的输出时,它将坏扇区的位置存储在哪里?它会告诉 SMART 有关这些扇区的信息吗?

我想我所面临的实际问题如下:

  1. 如果我用 格式化一个分区mkfs.ext4 -cc并发现坏扇区,那么如果我mkfs.ext4之后仅使用(不使用 -c 或 -cc)重新格式化同一个分区,是否仍然可以知道这些扇区?

  2. 如果第一个问题的答案是否定的,那么让驱动器意识到其坏扇区的最佳方法是什么,以便驱动器的下一个所有者在重新格式化时不会遇到与坏扇区相关的问题?

  3. 实际上,如果我拿到了在办公室桌面上使用大约 8 到 10 年的硬盘,我是否应该担心硬盘上可能有坏扇区并进行诊断测试?还是我不应该浪费时间在这上面,因为这种可能性太小,不值得?

答案1

我看到 SMART 将有关坏扇区的信息存储在只有磁盘固件才能访问(而操作系统无法访问)的内存位置。

是的。另外请记住,硬盘固件可以重新分配扇区 - 因此它可以用位于相同逻辑地址但不同物理地址的好扇区“替换”位于操作系统所用逻辑地址的坏扇区,而操作系统却不会察觉。(可以在 SMART 值中看到执行此操作的次数)。

当 mke2fs 使用 badblocks 的输出时,它将坏扇区的位置存储在哪里?

在文件系统中一个特殊的表中。

它是否向 SMART 告知了这些部门的情况?

不。具体来说,badblocks扇区地址是逻辑地址,因此当硬盘固件重新分配一个扇区并且它成为一个好扇区时,它在文件系统表中仍然被标记为坏的。

或者换句话说,随着 SMART 的出现和硬盘固件中坏扇区的重新分配,在文件系统中存储坏块已经变得毫无用处,您不应该这样做。

如果我使用 mkfs.ext4 -cc 格式化分区并发现坏扇区,那么如果我之后仅使用 mkfs.ext4(不使用 -c 或 -cc)重新格式化同一分区,是否仍然可以知道这些扇区?

不。

使驱动器意识到其坏扇区的最佳方法是什么,以便驱动器的下一个所有者在重新格式化时不会遇到与坏扇区相关的问题?

最好的方法是不对坏扇区采取任何措施,让硬盘固件来处理。您可以通过写入来强制重新分配坏扇区。

如果硬盘没有足够的空间来重新分配扇区,则该硬盘通常已损坏严重,应停止使用它。

实际上,如果我拿到了在办公桌面上使用了大约 8 到 10 年的硬盘,我是否应该担心它们可能存在坏扇区并运行诊断测试?

您应该查看 SMART 值,它们会告诉您磁盘的形状。高读取错误计数、高寻道错误计数和大量重新分配的扇区表明该磁盘即将损坏。

运行磁盘扫描(通过badblocks和通过 SMART 内部测试)没有坏处,但首先要查看的是 SMART 值。

相关内容