Answers:
一个坏扇区的驱动器上是驱动器造成永久性损坏的迹象。除非您有理由相信您的驱动器将这些扇区错误地标记为坏扇区,否则您无法“修复”它们。
这意味着驱动器的一部分损坏到无法再可靠地读取和/或写入的程度。
您的系统可以通过将该扇区标记为不可用来继续使用该驱动器,但是您仍然可以考虑更换驱动器,因为坏的扇区可能表明更多的扇区或整个驱动器可能很快就会出现故障。
尽管可以采用多种方法强制将驱动器取消标记为坏扇区,从而允许您再次使用它,但这可能不是一个好主意。该行业可能保持良好状态,但很可能再次变坏。根据失败的方式,某些数据可能会丢失或损坏。
现在,对于您粘贴在问题中的错误消息(在撰写本文时),该错误与坏扇区无关。这意味着您无权访问该驱动器。存在sudo
可以为您提供访问权限,因此:
sudo fsck /dev/sdb
但是,这仍然可能不是您想要的,因为/ dev / sdb指向整个驱动器,而/ dev / sdb fsck
则设计为在文件系统上工作,这些文件系统通常(但并非总是如此,并且您可能会有一个例外)放置在分区中。如果上述方法不起作用,您可能想对该驱动器的第一个分区执行此操作:
sudo fsck /dev/sdb1
您可以使用以下命令获取每个驱动器的分区列表:
sudo fdisk -l
it isn't immediately doomed
-您没有办法知道或保证。在某些情况下可能是这样。 So much depends on why that block went bad
-如果不打开并有效销毁它,就不可能可靠地找出原因。正如我说的那样,风险总是增加的。如果您绝对有这样的风险,我对此没有任何问题。 在大多数情况下,甚至可能超过90%的时间,驱动器在发现坏扇区后不会很快出现故障,在某些情况下甚至可能会持续数年。保留良好的备份,以后的任何故障都不会造成太大的伤害。
-c
选项间接使用此功能。使用badblocks
独立版本的AFAIK 永远不会改变任何行为,它只会报告坏块的位置。当然,当将驱动器固件置于的使用模式特性下时,驱动器固件可能会透明地修改其行为badblocks
,但是确定这将取决于驱动器吗?
在过去,您以前必须记下写在驱动器上的坏块,并在格式化驱动器之前将其输入缺陷列表,因为硬盘表面从来都不是“完美的”,制造商对此很明智,因为人们购买磁盘会查看打印在磁盘上的缺陷表,然后购买缺陷最少的磁盘。
现在向前滚动约20年,硬盘制造商隐藏了一个事实,即全新磁盘的固件中存在坏块,当您购买全新磁盘时,它很可能已经存在坏块,固件将检测到新增长的坏块,并且从其拥有的一组备用柱面中将它们映射出来,但这仅在该扇区上执行写操作并且ECC算法检测到位故障时才会发生,然后才将块映射出来。因此,回到这一点,您可以通过简单地使用DD来强制驱动器映射坏块,即/ [编辑:以下示例已编辑,以防止驱动器意外损坏:删除通配符,用X代替]
dd if=/dev/zero of=/dev/sdX bs=1M
显然,更改of = target以反映要归零的驱动器,这是重新映射驱动器缺陷的最快方法,也是通过弄错目标驱动器来完全破坏Linux设置的最快方法,因此请检查,仔细检查然后在按Enter键之前再次检查。您可以在dd命令中增加块大小的大小,以优化读取/写入,并可能使处理速度更快,但是在一个点之后,收益递减。我发现1M到8M之间最适合我
您可以让DD只写一个扇区,坏的扇区...以重新映射它,因此您不必备份驱动器,但是如果您不完全知道,那将是一盘完全不同的鱼和俄罗斯轮盘赌你在做什么 .....
此命令将破坏硬盘驱动器上的所有内容,包括任何分区。但这将迫使驱动器确定可能存在的任何坏扇区。
只要磁盘没有坏扇区就可以,只要它们不在引导扇区上就可以了,如果它们是硬盘,那驱动器就没用了,如果几个月后您发现您的硬盘出现了更多坏扇区,那么该是时候了开始购买替代品。
我已经恢复了数百个这样的驱动器,并且它们已经存活了很多年,坏的扇区并不一定是该驱动器的丧钟。