更新

更新

这个命令:

badblocks -svn /dev/sda

它有什么作用?它只是报告坏块吗?或者以某种方式做到了处理坏块,这样我就不用担心它们了?

我阅读了手册man badblocks,但没有看到以下-n选项:


       -s     Show  the  progress  of the scan by writing out rough percentage completion of
              the current badblocks pass over the disk.  Note that badblocks may do multiple
              test  passes  over the disk, in particular if the -p or -w option is requested
              by the user.


       -v     Verbose mode.  Will write the number of read errors, write  errors  and  data-
              corruptions to stderr.


       -n     Use  non-destructive read-write mode.  By default only a non-destructive read-
              only test is done.  This option must not be combined with the  -w  option,  as
              they are mutually exclusive.

badblocks -svn /dev/sda持续了近两天的运行输出:

在此输入图像描述

更新

有些帖子建议运行后badblocks -svn /dev/sda,硬盘控制器会处理坏块。没有把握。

让硬盘控制器用备用块替换坏块。

https://askubuntu.com/a/490552/507217

如果您已经以这种方式完全处理了磁盘,则磁盘控制器应该已用工作块替换了所有坏块,并且 SMART 日志中的重新分配计数将增加。

https://askubuntu.com/a/490549/507217

聪明的

运行命令后我检查了 SMART 表badblocks

smartctl --all /dev/sda

请注意,Current_Pending_Sector原始值为56。这是28报道的两倍badblocks。也许它们是相关的。

截屏

错误解释

根据这个:

如何解释坏块输出

badblocks错误日志的形式为reading/writing/comparing。在我的例子中,所有28错误都是读取错误。含义应用程序可以读取这些块。

操作系统日志

我通过查看操作系统日志sudo journalctl -xe。实际上,SMART 会抛出有关这些56坏扇区(28坏块)的错误:

smartd[1243]:设备:/dev/sda [SAT],56 当前无法读取(待处理)扇区

日志截图

结论

我宁愿备份数据并更换硬盘,以免为时已晚。

答案1

这 ”非破坏性读写模式" 由该-n选项触发将测试数据写入每个块,就像 一样-w,并强制磁盘接受写入、重新分配故障块或返回写入错误。

然而,它的最大优点是它首先读取要覆盖的块,并在写入测试数据后重新写入该数据。这意味着badblocks完成后,磁盘应包含与开始运行之前相同的数据。

过程

  1. 读取块并保存
  2. 写入测试数据块
  3. 捕获状态结果并在必要时报告
  4. 重写保存的块
  5. 重复下一个块直到完成

警告

将一个好的数据块写入磁盘将导致预期的操作:该块将被写入。但是,如果写入失败,磁盘固件将自动且透明地将块地址重新映射到其备用块之一,并在磁盘上的新位置重试写入。如果写入成功,您将不会知道任何不同,并且磁盘看起来完全正常。 (在 SMART 表中,扇区重新分配计数器将增加 1。)最终,随着时间的推移,备用块集可能会被用完,从此时起,本来要重新映射的磁盘写入将简单地失败。

全磁盘写入测试(例如由badblocks-w提供的测试-n)将强制写入所有磁盘块,确保它们全部可供您使用,否则突出显示无法重新映射的磁盘块。

请注意badblocks不保证您没有丢失数据:如果它无法读取块,则在测试后无法重写它,因此它不会执行写入测试(但会报告该块为坏块)。如果badblocks无法读取块,那么任何其他应用程序都无法这样做,并且你的数据丢失了

我的建议是,如果你得到任何无法重新映射的磁盘块尽快更换磁盘因为你不再有任何安全网。 (就我个人而言,我会在达到这个阶段之前更换这样的磁盘。)ddrescue工具可能有帮助复制数据从这个损坏的磁盘到一个新的磁盘。

相关内容