硬盘坏道(特别是物理坏道)是硬盘的所有故障中最让人头痛的。它轻则使你的爱机频频死机,重则让你的所有数据化为乌有。以前我们一 般只能采用低格或隐藏的方法。不过低格会对硬盘的寿命造成一定影响;隐藏会造成坏道更多扩散,这些都不是好方法。
现在我们可以用HDD Regenerator Shell(以下简称为HDD)来轻松修复硬盘坏道。HDD是一个功能强大的硬盘修复软件,程序可以帮助你真正地修复再生磁盘表面的物理损坏(比 如坏扇区),而并不是仅仅将其隐藏!程序安装后会帮助你创建一个引导盘,然后引导你在DOS下进行硬盘的修复再生工作,界面简捷,非常容 易操作!
比如我的一块3.2GB的昆腾硬盘分为C、D两个区,共有800KB的坏道且分布在多处。由于坏道的原因经常一打开“我的电脑”就死机,而且系统 非常不稳定。用Windows的完全磁盘扫描一次竟然需要五个小时,而且在每一次非正常关机后都会进入完全扫描。另外坏道还在继续扩散。后来 我用HDD修复了坏道,电脑也恢复了正常。下面就与我一起来和坏道说BYE-BYE。
制作启动盘 下载程序解压后运行其中的hddreg_v1.31.exe,按提示安装好HDD。运行程序后单击regeneration—>create dikette按提示插入软盘创建一个启动盘。(注:程序也可以直接运行在Windows 98下,方法是单击regeneration—> start regeneration,程序就会运行在Windows 的MS -DOS下,不过为了数据的安全建议在纯DOS下运行)。
图1
扫描坏道
将电脑用启动盘启动后程序会自动运行 (注意:请在BIOS中将软驱设置为第一启动)。程序首先会检测你电脑中的硬盘并要求你从中选择一个需要修复的硬盘如图1(如果你不止一块 硬盘),选择后单击回车,HDD开始执行扫描,HDD可以从任意位置开始扫描。如果你事先知道坏道的位置可以直接填入相应的数值回车即可( 如图2),这样可以节约很多时间。如果要停止扫描随时单击“ctrl break”即可退出程序。
图2
修复坏道
当HDD扫描到坏道后会在进度条上显示红色的“B”字,随后就开始自动修复,修复好的用蓝色的“R”字标注(如图3)。扫描并修复完后就可 以正常的是使用硬盘了。
使用中注意的几点
1. 如果硬盘的坏道比较多而且分散,HDD修复的时间会比较长,请耐心等待,我就花了六个小时才搞定。
2. 为了数据的安全,修复应该在纯DOS下,强烈建议做好数据的备份工作。
3. 如果是由于坏道的原因导致原来的数据无法访问的,请在修复后马上备份原来的数据,即使修复好的硬盘也完全有可能再产生新的坏道。
4. 未注册用户每次发现一个坏道并修复后程序就会停止运行,如果要修复再次运行它即可,这适用于坏道较少的用户。
图3
作为存储设备中的一员,硬盘起着极其重要的作用。但是由于硬盘属于磁介质,因此其寿命与稳定不像内存等设备那样好,使用时难免会出 现各种各样的问题。而且令情况更加复杂的是,由于硬盘牵涉到系统底层的设置,因此往往不能在大家熟悉的Windows下解决问题,必须转到 DOS下处理,这对于不少DIY新手而言就有些无所适从了,毕竟他们没有经历过DOS时代。
硬盘出现问题前的一般征兆
如果硬盘出现故障,那么最好尽早发现并及时采取正确的措施。如果等到病入膏肓时,硬盘中宝贵的数据就难以幸免了。一般来说,硬盘出现 故障前会有以下几种表现:
1.出现S.M.A.R.T故障提示。这是硬盘厂家本身内置在硬盘里的自动检测功能在起作用,出现这种提示说明您的硬盘有潜在的物理故障,很快就 会出现不定期地不能正常运行的情况。
2.在Windows初始化时死机。这种情况较复杂,首先应该排除其他部件出问题的可能性,比如内存质量不好、风扇停转导致系统过热,或者是病 毒破坏等,最后如果确定是硬盘故障的话,再另行处理。
3.能进入Windows系统,但是运行程序出错,同时运行磁盘扫描也不能通过,经常在扫描时候缓慢停滞甚至死机。这种现象可能是硬盘的问题, 也可能是Windows天长日久的软故障,如果排除了软件方面设置问题的可能性后,就可以肯定是硬盘有物理故障了。
4.能进入Windows,运行磁盘扫描程序直接发现错误甚至是坏道,这不用我多说了,Windows的检查程序会详细地报告情况。
5.在BIOS里突然根本无法识别硬盘,或是即使能识别,也无法用操作系统找到硬盘,这是最严重的故障。
不幸中的大幸——分区表遭到破坏
首先我们应该确认硬盘的电源接口和数据线没有脱落,然后进入BIOS,使用“HDD Auto Detect”来检测硬盘。如果此时BIOS能够正确识别硬盘的话,那么至少你的硬盘还有救治的希望;不然,我想大家也不用瞎忙了,因为凭我们 普通DIYer手头的工具基本上是无能为力的。
在UltraEdit中查找“55aa”字符串
用光盘或者软盘引导系统后,大家可以试图进入C盘符,如果此时提示找不到C盘的话,那么绝对应该是一件好事情。出现这种情况很可能是硬 盘分区表信息遭到破坏,或者被某种病毒攻击。如果硬盘中你的数据对来说无所谓,那么可以先用FDISK/MBR命令来无条件清除分区表内容,然 后用FDISK等分区软件重新分区格式化,一般这样就能解决问题;而如果你还需要硬盘中的数据,那么步骤要麻烦一些。这时最好能拥有一张杀 病毒软件或者随主板赠送的相关软件,然后你可以参阅帮助文档,一般该软件会包含恢复硬盘分区表的命令,而且使用极其方便。
对于没有杀毒盘的用户来说,大家可以使用NU 8.0中的NDD修复,它将检查分区表中的错误。若发现错误,NDD将会询问是否愿意修改,你只要不断地回答YES即可修正错误,或者用备份过的 分区表覆盖它也行。
用Hide Partition就可以实现
如果用上述方法也不能解决的话,还可利用FDISK重新分区,但分区大小必须和原来的分区一样,这一点尤为重要,分区后不要进行高级格式化 ,而是用NDD进行修复。这样既保证硬盘修复之后能启动,而且硬盘上的数据也不会丢失。
边缘求生存——硬盘的物理坏道
如果刚才DOS能够转到C盘,而硬盘工作却不正常,那么就很可能是硬盘出现了坏道。一般来说,硬盘的坏道可以分为逻辑坏道与物理坏道。产 生逻辑坏道时一般不会严重影响使用,所以很可能是物理坏道。
我们处理物理坏道的核心思想是将这些有坏道的簇单独分成一个分区,并隐藏起来避免其它程序调用,这样就可以不让坏道扩散,以免造成更 大的损失。对于这一处理,我们主要是使用Partition Magic6.0这款DOS下的软件。
在DOS界面下进入PQ 6.0之后,我们先用Operations菜单下的Check For Errors命令来确定物理坏道的位置,因为PQ6.0的这项功能非常出色,不像Windows下的Scandisk那样经常误诊。
PQ6.0的真正强大之处在于它能将所有藏有坏道的簇用特殊标记标定出来,而且你可以将这些坏簇全部选中,然后将它们划分到一个独立的新分 区。这完全是图形化的操作,是非常方便的。随后,大家切记要把这个充满罪恶的分区隐藏起来,这样才能确保它不会被调用。此时使用 Advance菜单下的Hide Partition命令就可以实现。
拥有PQ6.0之后,物理坏道真的不难解决,而且可以有效避免扩散问题。但是需要注意的是,无论如何,此时的硬盘已经处于亚健康状态,其中 的数据还是非常危险的。用PQ6.0处理物理坏道后,究竟这块硬盘还能用多少时间很难说,这要看运气了。
DOS启动的低级失误——逻辑锁
硬盘逻辑锁是一种很常见的恶作剧手段。中了逻辑锁之后,无论使用什么设备都不能正常引导系统,甚至是软盘、光驱、挂双硬盘都一样没有 任何作用。
要解决逻辑锁的问题,就要知道问题的根源。其实在DOS系统启动时,它会搜索所有逻辑盘的顺序。首先要找的是主引导扇区的分区表信息,它 位于硬盘的零磁头零柱面的第一个扇区的OBEH地址开始的地方,当分区信息开始的地方为80H时表示是主引导分区,其他的为扩展分区,主引导 分区被定义为逻辑盘C盘,然后查找扩展分区的逻辑盘,被定义为D盘,以此类推找到E,F,G……逻辑锁就是在此下手,修改了正常的主引导分 区记录,将扩展分区的第一个逻辑盘指向自己,DOS在启动时查找到第一个逻辑盘后,查找下个逻辑盘总是找到是自己,这样一来就形成了死循 环。
对于这类问题,如果你不想要硬盘上的数据了,那么处理起来也是非常爽快的。大家可以在BIOS中将所有IDE接口设为NONE,然后用软盘启动系 统,此时肯定可以启动,因为系统根本就没有硬盘。接着,我们就使用经典的硬盘管理软件DM了。由于DM可以不依赖于主板BIOS来识别硬盘, 因此你可以用DM进行分区格式化,这样就能完全解决问题,而且万无一失,简单方便,惟一的遗憾就是数据保不住了。
此外还有一种方法也是非常值得推荐的,它可以保住硬盘中的数据。首先准备一张启动盘,然后在一台正常的机器上,使用你熟悉的二进制编 辑工具(UltraEdit等)修改软盘上的IO.SYS文件(修改前记住改该文件的属性为正常),具体是在这个文件里面搜索第一个“55aa”字符串,找到 以后修改为任何其他数值即可。用这张修改过的系统软盘你就可以顺利地带着被锁的硬盘启动了。不过这时由于该硬盘正常的分区表已经被破 坏,你无法用FDISK来删除和修改分区,但是此时可以用上面关于分区表恢复的方法来处理。
死马当活马医——修复0磁道损坏的硬盘
如果在对硬盘进行格式化时,系统提示“Track 0 Bad”的话,那么意味着硬盘的0磁道损坏了。一般来说这种故障是难以修好的,但是我们还是不必放弃,说不定还有一线生机。
其实0磁道损害也是坏道的问题,只不过关键的0磁道也有坏道而已。此时,我们所要做的就是重新标记0磁道的位置。这项工作我们可以交给 PCTools 9.0工具包,我们要利用的是其中的DE.EXE命令。