Answers:
你的猜测是正确的。
源代码如下所示:
if (v_flag)
fprintf(stderr,
_("Pass completed, %u bad blocks found. (%d/%d/%d errors)\n"),
bb_count, num_read_errors, num_write_errors, num_corruption_errors);
因此它的读/写/损坏错误。损坏意味着要与以前写入的数据进行比较:
if (t_flag) {
/* test the comparison between all the
blocks successfully read */
int i;
for (i = 0; i < got; ++i)
if (memcmp (blkbuf+i*block_size,
blkbuf+blocks_at_once*block_size,
block_size))
bb_count += bb_output(currently_testing + i, CORRUPTION_ERROR);
}
(0/0/120 errors)
情况下没有内核错误消息的原因。
badblocks
在运行时向磁盘写入了其他内容,在这种情况下,这根本不是错误(用户错误除外)。
错误。如果badblocks说了什么 “没有发现错误”,则表示:
您可以选择保留磁盘以作娱乐或用作镇纸。
(现代磁盘具有一组额外的柱面,用于重新映射坏块,因为没有它们,就无法制造磁盘,并且用户在看到坏块列表时尖叫着血腥的地狱。如果确实出现了坏块,则意味着该空间由于旋转磁盘的常见故障模式给出的坏块数量呈指数增长,因此看到某些情况通常意味着磁盘还剩几个小时。
badblocks
在具有重要数据的磁盘上运行。如果磁盘有错误,badblocks
即使由于错误而无法写回原始数据,即使在非破坏性写入模式下,也可能造成额外的损坏。
-n
测试应该是只读的?
-n
是非破坏性写入。因此,它可以写入,但是在测试后恢复原始数据。可能由于错误而失败。对于readonly badblocks
,我相信您根本不使用任何选项。