如何修复坏硬盘坏道

我试图使用Ubuntu修复我的硬盘驱动器,但我遇到了一条错误消息,不知道如何继续。 我需要修复我的坏道

fsck /dev/sdb fsck from util-linux 2.20.1 e2fsck 1.42.5 (29-Jul-2012) fsck.ext2: Permission denied while trying to open /dev/sdb You must have r/w access to the filesystem or be root 

驱动器上的坏扇区表示驱动器永久性损坏。 除非您有理由相信您的驱动器将这些扇区标记为错误,否则您无法“修复”它们。

这意味着驱动器的一部分损坏到无法再可靠地读取和/或写入的程度。

您的系统可以通过将该扇区标记为不可用来继续使用该驱动器,但我通常建议更换驱动器,因为通常坏扇区可能表示更多扇区或整个驱动器可能很快失效。

实际上,您通常可以强制驱动器将扇区取消标记为坏,并且该扇区将再次可用。 但是,它可能保持这样,或者它可能再次变坏,这就是为什么这不是一个好主意。

现在,至于您在问题中粘贴的错误消息(在我写这篇文章时),该错误与坏扇区无关。 这意味着您无权访问该驱动器。 sudo可以让你访问,所以:

 sudo fsck /dev/sdb 

但是,这可能仍然不是你想要的,因为/ dev / sdb是指整个驱动器,而fsck是设计用于文件系统 ,通常(但不总是,你可能有一个例外)放在分区中 。 如果以上操作不起作用,您可能希望对该驱动器上的第一个分区执行此操作:

 sudo fsck /dev/sdb1 

您可以使用以下命令获取每个驱动器的分区列表:

 sudo fdisk -l 

我已经回答了同样的问题。

简而言之:启动救援系统并使用

 badblocks -svn /dev/sda 

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

在此处阅读更多详细信息: https : //askubuntu.com/a/490549/299014

在过去,您曾经必须记下驱动器上写入的坏块,并在格式化驱动器之前输入缺陷列表中的坏块,因为硬盘表面永远不会“完美”,制造商明智之举是因为人们购买磁盘会查看磁盘上印刷的缺陷表并购买缺陷最少的表…

现在向前滚动大约20年左右,硬盘制造商隐藏了一个全新的磁盘与固件有坏块的事实,当你购买一个全新的磁盘时,它已经有很多概率坏块,固件将检测新增长的坏块和将它们从它所拥有的一组备用柱中映射出来,但这只发生在该扇区上发生写操作并且ECC算法检测到位失败时,才会将块映射出来。 因此,回到这一点,您可以通过简单地使用DD强制驱动器映射出坏块,即/ [编辑:编辑以下示例以防止意外驱动器破坏:删除通配符,替换为X]

 dd if=/dev/zero of=/dev/sdX bs=1M 

显然改变了= target以反映你想要归零的驱动器这是重新映射驱动器缺陷的最快方法,它也是通过使目标驱动器出错而完全废弃你的linux设置的最快方法,所以检查,仔细检查然后再次检查,在按下回车键之前,你可以增加dd命令中块大小的大小以使事情变得更快但是在一点之后收益递减,我发现在1M和8M之间的任何东西对我来说都是最好的

你可以让DD只写一个扇区,坏的一个…让它重新映射,所以你不必备份你的驱动器,但如果你不确切知道这是一个完全不同的鱼和俄罗斯轮盘赌你在做什么 …..

此命令将破坏硬盘驱动器上的所有内容,包括任何分区。 但它会迫使驱动器绘制出可能存在的任何坏道。

只要它们不在引导扇区上,磁盘就有坏扇区是完全可以的,如果它们是驱动器是无用的,如果你几个月后发现你的驱动器已经开发了更多的坏扇区那么它的时间开始购买替代品。

我恢复了数百个像这样的驱动器,并且它们之后已经存在了很多年,一个坏扇区不一定是驱动器的丧钟。