2010-06-02 21:52:05 +0000 2010-06-02 21:52:05 +0000
24
24

修复Mac硬盘上的坏块

我有一块硬盘,我用TechTool扫描了一下,它报告有一个坏块。据我所知,TechTool只扫描并报告一个故障。它不会修复任何东西。

以前,Norton Disk Doctor在Mac上完成了扫描和标记(重新映射)坏块的工作。今天,我们有各种工具来修复HFS+目录错误(Disk Utility, fsck, DiskWarrior, TechTool),但我不知道有什么工具可以进行表面扫描_并修复坏块。

有什么软件可以做这个?

如果我知道坏块的地址,有没有低级的终端实用程序来标记它?

答案 (9)

12
12
12
2010-06-03 02:49:06 +0000

如果你在运行文件系统完整性检查时看到坏块,那么硬盘很可能已经超过了它可以重映射的块数,并且已经用尽了它的 “备用 "扇区。

如果你不确定哪个SMART诊断程序值得信赖,我建议你下载 smartmontools GSmartControl 来查看SMART诊断程序作为另一个检查。

如果SMART诊断程序报告没有重新分配扇区(或者 "重新分配扇区数 "的VALUE列仍然远低于THRESHOLD),有一个简单的方法可以同时执行表面扫描和重映射坏块。(注意:一定要先备份你的数据!)

强制硬盘进行自己的坏块重映射的最简单的方法是从Ubuntu Live CD启动,然后打开终端,运行这个命令。

sudo badblocks -nvs /dev/sda

这将在第一块硬盘上进行非破坏性的随机读写测试,沿途重映射坏扇区。

如果你有多个硬盘,你可以用/dev/sdX代替/dev/sda,其中X是小写字母。你可以通过键入这个命令来获得所有硬盘(/dev/sdX设备)的列表。

sudo fdisk -l

由于你使用的是基于BSD的Mac OS X,你可能还想了解一下 badsect bad144 ,这是BSD内置的处理坏块的命令行工具。

9
9
9
2010-06-02 22:09:20 +0000

我不知道有什么工具可以做表面扫描,也可以修复坏块。

你使用的是哪种类型的Mac和哪种类型的硬盘驱动器?

我怀疑你是否能找到任何软件工具来 “修复 "坏块,至少对于最近的硬件来说是这样。我不知道是什么时候开始的,但一段时间以前,重映射坏扇区的能力被合并到硬盘驱动器的固件中。

如果你用类似 SMARTReporter 这样的工具查看你的硬盘的 S.M.A.R.T. 寄存器 ,你应该会看到一个 ID 号为 05,标题为 "Reallocated Sectors Count” 的条目。这是硬盘重新映射的坏扇区的数量。

也许Disk Warrior的 “Bad Block "指的是其他东西?(虽然我猜不到是什么)。


更新回复评论(如下):

SMARTReporter似乎是一个相当 "古怪 "的工具。事实上,你可以查询和显示驱动器的S.M.A.R.T.寄存器的内容,只是你必须跳过意想不到的圈圈才行。

SMARTReporter FAQ 你可以找到这个小插曲。
_SMARTReporter能告诉我到底是哪个S.M.A.R.T.测试失败了吗?
是的,从2.4.5版本开始! 是的,从2.4.5版本开始!在偏好窗口的驱动器列表中右键单击驱动器,然后选择 "检查S.M.A.R.T.属性"。键盘快捷键&鼠标 "右键单击 "上下文窗口是做不到的。另一方面,SMARTReporter 免费的。 ;-)

但我离题了……

奇怪的是,SMART Utility 称硬盘为 "Failing",而其他所有的实用程序都显示为 "Verified"。它显示1个待处理的坏扇区。那么,如何将 "待定 "坏扇区改为 "移除 "或 "重新分配 "的坏扇区?

我的理解是,_你不会这么做。硬盘的固件应该是自动完成的。请注意维基百科S.M.A.R.T.文章中的表格

  • 05 重新分配扇区计数 重新分配扇区的计数。当硬盘发现读/写/验证错误时,会将此扇区标记为 "重新分配",并将数据转移到特殊保留区域(备用区域)。这个过程也被称为重新映射,"重新分配 "的扇区被称为重映射。
    这就是为什么在现代硬盘上,在测试表面时找不到 "坏块 "的原因–所有的坏块都隐藏在重定位的扇区中。然而,随着重新分配的扇区数量的增加,读/写速度往往会降低。
    原始值通常代表被发现并重新映射的坏扇区数量的计数。因此,属性值越高,硬盘需要重新分配的扇区越多。

  • C5 Current Pending Sector Count "不稳定 "扇区的数量(由于读取错误,等待重新映射)。如果一个不稳定的扇区随后被成功写入或读取,这个值就会减少,扇区就不会被重新映射。扇区上的读取错误不会重映射该扇区(因为它以后可能是可读的);相反,硬盘固件会记住该扇区需要重映射,并在下一次写入时重映射它。_

因此,如果上述情况属实,那么显然需要谨慎解释Pending Sector Count。扇区读取错误很可能是在你之前用TechTool进行磁盘扫描时发生的。(另外,你是指 TechTool Deluxe 3.1.3 ??)由于 TechTool 可能没有尝试写入扇区,所以它没有(尚未)重新分配。

如果不重新格式化,能做到吗?

我认为只有当格式化写到硬盘上的_每一个扇区时,"重新格式化 "才会有所成就。我不知道用磁盘实用程序进行标准(非安全)擦除……我相信你所说的MAC中的重新格式化……是否能达到这个目的。

如果你这样做,那将是一项非常耗时的任务。我最近用一个500GB的笔记本硬盘做了这样的事情,花了不到2个半小时就完成了。当然,你还得加上从(希望是值得信赖的)备份中恢复系统的时间。

我不清楚你是否有必要尝试主动强制 "纠正 "这个问题。假设硬盘的固件应该会在下一次尝试写入坏扇区时自行处理这个问题。另外,在我看来,这个坏扇区目前没有被用作任何文件的一部分。TechTool只是在扫描硬盘的所有扇区时 "偶然发现 "了这个扇区。

但如果你想尝试强制修正,我想你必须做一些事情来强制写入该扇区。不过这似乎不值得。我会继续备份你的文件,并留意你的硬盘,以防它开始出现以下情况 进一步退化。

6
6
6
2010-12-25 04:58:02 +0000

我使用grc.com的SpinRite的经验是非常积极的。我已经成功地恢复了至少4个磁盘,而这些磁盘在每次尝试修复时都会失败。唯一的缺点是它需要一个基于BIOS的机器,这意味着它不能在现代基于EFI的Mac上工作。好的是,几乎所有其他p.o.c.电脑都可以运行它,从软盘、CD或闪存驱动器。我还没有发现任何其他的软件能够接近于实际检查各个扇区的内容,并恢复其他实用程序作为坏块丢弃的数据。

6
6
6
2017-04-19 16:26:54 +0000

OS X 内置的 fsck_hfs 命令有一个选项 -S,显然会扫描并纠正 OS X 上硬盘上的坏块。

从文档中可以看出。

-S 使fsck/hfs扫描整个设备,寻找I/O错误。它将尝试将有错误的块映射到名称上,类似于-B选项。

例如:

fsck\hfs -fy -S /dev/disk3s11

在一个没有坏块的磁盘上运行时,似乎是这样做的,但我还没有检查/记录当有坏块时它会怎么做。

3
3
3
2014-10-27 09:20:44 +0000

这问题有点老,但还是有道理的。对我来说,有效的方法如下。

如果可能的话,从主硬盘以外的分区或驱动器启动。确保它不是Mac的恢复选项,如果你想使用第三方应用程序来识别损坏的文件 -识别你的硬盘驱动器上的所有文件,由于坏块损坏。我碰巧使用Carbon Copy Cloner来创建我的驱动器的镜像作为备份(它给你一个损坏文件的列表)。可能还有其他工具可以做到这一点。 - 在你的驱动器上找到这些文件,并删除它们(清空垃圾桶!) - 打开磁盘实用程序,通过写'0'来清除空的磁盘空间。(你只需要写一次,所以选择最快的选项)。请注意,这仍然需要一些时间,特别是当你有很多可用空间的时候。

这将识别出坏块,并将其标记为坏块,这样就不会再被使用。如前所述,只有在试图写入时才会出现错误。通过写0,你就可以做到这一点。

  • 如果你在某个地方有这些文件的备份,请从你的备份中手动替换它们(如果你一开始就想替换它们的话)。

我可以想象这可能非常耗时,特别是如果有许多错误,因此有许多文件需要替换。如果是这样的话,可以考虑更换硬盘,情况会变得更糟……

0
0
0
2012-06-03 00:53:18 +0000

聽起來,大多數磁碟機只會在寫入時重新分配一個壞區塊,所以所有的程序都是這樣「修正」壞區塊的。如果你愿意重新格式化,很多人都说要做一个低级格式化,写入0(Disk Utility可以做到)。

我在Mac上找到的唯一一个能做到这一点的工具是 “Speed Tools"。当它发现一个坏块时,它会给该块写一个零(即使它在文件中……它的想法是它已经坏了)。 http://www.intechusa.com/

0
0
0
2010-06-03 21:33:47 +0000

我听说过【GRC的SpinRite】(http://www.grc.com/sr/spinrite.htm)的好东西,但从来没有亲自尝试过。

0
0
0
2013-04-01 15:00:09 +0000

先关注@chronos的【评论】(https://superuser.com/questions/148227/fix-bad-blocks-on-mac-hard-disk#comment150144_148227)… 认为:dataloss。在边缘情况下,修复可能会使数据无法恢复。


在我在Mac上使用的实用程序中,有一个是突出的,对于这样的无误警报。

警告

你即将执行的操作可能会导致数据丢失

为了不丢失一个坏块… 将数据写入驱动器。如果发现并放过一个坏块,这很可能会导致卷或数据损坏。

你可以在购买产品之前了解一下这种事情_- 清爽诚实。

(要想了解dataloss的风险,请看例如我的【答案】(https://superuser.com/a/576370/84988)下的_Why care?_部分链接的**SpinRite文档**【如何在OS X上检查USB硬盘上是否有坏扇区?】(https://superuser.com/q/394470/84988))

因为它明确无误的警告,因为购买前的满意度等等,这个答案是我的信任票。

Drive Genius 3

-1
-1
-1
2014-09-15 17:53:35 +0000

以上是可怕的,可怕的建议。我是说WOW-可怕的建议。 :摇头。我不知道Mac OS X上有什么现代的实用工具 可以修复(标记)坏块,让你继续一天的工作。也就是说,你需要找到一个旧版本的诺顿实用工具的Mac OS来修复有关的HD上的坏块。如7.0或8.0版本。

2。由于我假设你使用的是披着Mac外衣的PC(Post PPC电脑使用英特尔CPU并运行Unix[Mac OS X]),你需要给自己找一台好的PPC Macintosh(或者也许它会在英特尔PC上模拟运行?),它仍然可以启动OS 9。找一个(我假设你有一个SATA硬盘?)SATA PCI卡,与OS 9一起工作。然后从Norton光盘上启动,运行Disk Doctor,扫描/修复相关的HD。

3。这只是听起来很难做到,但事实并非如此。作为一个 “真正的 "Mac技术员和球迷的男孩在过去的20一些年,我有机器从128k到双G5,所以硬件只是躺在我身边。换句话说,这对我来说超级简单。

4。为什么我听起来很粗鲁?因为我就是这样。我对现在的苹果公司很不感冒,我特别恨乔布斯,因为他为我们这些80、90年代的Macintosh用户毁掉了苹果电脑,把Mac变成了一台运行平淡版Unix的PC而已。他,还有那些和他一样的人,都是Mac不再拥有 "正确 "修复硬盘所需的实用工具的原因。

  1. 任何告诉你看SMART数据,或者以任何方式依赖SMART数据的人,你都不应该听他们的。SMART是有极大缺陷的。

  2. HD的几乎都是自动重新映射坏块,至少从我记事起,我已经老到是个技术员了。BUT!他们做的很烂,如果你看到的是坏块,那是因为HD已经用完了预留给自动重新映射坏块的微小空间。IE,你需要运行一个实用程序,在它做一个更好的工作。