如果硬盘盘片上检测出了坏扇区,可以采用一些方法进行修复。具体有重写校验法、G-List替换法、P-List隐藏法等。下文将分别介绍。

重写校验法

各个硬盘厂家一般都公开提供有一些基本的硬盘维护工具,如各种版本的DM、POWERMAX、DLGDIAG等,其中都包括有这样的功能项:Zero Fill(零填充)或Low Level Format(低级格式化)。进行这两项功能都会对硬盘的数据进行清零,并重写每个扇区的校验码和标志信息。如果不是磁盘表面介质损伤,大部分的坏扇区可以纠正为正常状态,但是硬盘中的数据将丢失,所以如果需要恢复数据,就不能采用这种方法。

G-List替换法

为了降低硬盘返修的概率,硬盘厂商在硬盘内部设计了一个自动修复机制,在对硬盘的读/写过程中,如果发现一个坏扇区,则由内部管理程序自动分配一个备用扇区来替换该扇区,并将该扇区物理位置及其替换情况记录在G-List(增长缺陷表)中。

这样一来,少量的坏扇区有可能在使用过程中被自动替换掉了,对用户的使用没有太大的影响。也有一些硬盘自动修复机制的激发条件要严格一些,需要运行某些软件来检测判断坏扇区,并发出相应指令激发自动修复功能。

常用的LFormat,DM中的Zero Fill,Norton中的WipeInfo和校正工具,WD硬盘包中的Wddiag,IBM的DFT中的Erase等;还有一些半专业工具,如HDDL、HDDutility以及前文提到的MHDD等,这些工具之所以能在运行过后消除一些坏扇区,很重要的原因就是这些工具可以在检测到坏扇区时激发自动修复机制。

以MHDD为例,在对故障盘执行Scan命令之前,将图12-6中的选项“Remap”设置为“ON”,那么在检测硬盘时如果遇到坏扇区,MHDD将激发硬盘的自动修复机制,把坏扇区加入到G-List中,并用保留的扇区替换该扇区。

当然,G-List的记录不会无限制,所有硬盘的G-List都会限定在一定数量范围内,如果超过限度,自动修复机制就不能再起作用。这就是为何少量的坏扇区可以通过上述工具修复,而坏扇区多了不能通过这些工具修复的原因所在。

P-List隐藏法

P-List隐藏法是指用专业软件将坏扇区记录在P-List(工厂缺陷表)中。这种方法需要对硬盘进行内部低级格式化。

用户在使用硬盘时,是不能按物理地址模式来访问硬盘的,而是按逻辑地址模式来访问。硬盘在通电自检时,系统会从保留区读取一些特定参数(与内部低级格式化时调用的参数有密切关系)存在缓冲区里,用作物理地址与逻辑地址之间转换的依据。有些专业软件可以将检测到的坏扇区的逻辑地址转换为对应的物理地址,直接记录在P-List中,然后调用内部低级格式化程序进行低级格式化,这样可以不受G-List的限制,能修复大量的坏扇区,达到厂家修复的效果,但这样修复之后数据将完全丢失,所以不适用于数据恢复操作。