每个用户的硬盘中都存放着大量的有用数据,而硬盘又是一个易出毛病的部件。为了有效的保存硬盘中的数据,除了备份工作以外,还要学会在硬盘出现故障时如何救活硬盘,或者提取其中的有用数据,把损失降到最小程度。
此类故障比较常见,即从硬盘无法启动,从a盘启动也无法进入c盘,使用cmos中的自动监测功能也无法发现硬盘的存在。这种故障大都出现在连接电缆或ide口端口上,硬盘本身的故障率很少,可通过重新插拔硬盘电缆或者改换ide口及电缆等进行替换试验,可很快发现故障的所在。如果新接上的硬盘不承认,还有一个常见的原因就是硬盘上的主从条线,如果硬盘接在ide的主盘位置,则硬盘必须跳为主盘状,跳线错误一般无法检测到硬盘。
2 cmos引起的故障
cmos的正确与否直接影响硬盘的正常使用,这里主要指其中的硬盘类型。好在现在的机器都支持"ide auto detect"的功能,可自动检测硬盘的类型。当连接新的硬盘或者更换新的硬盘后都要通过此功能重新进行设置类型。当然,现在有的类型的主板可自动识别硬盘的类型。当硬盘类型错误时,有时干脆无法启动系统,有时能够启动,但会发生读写错误。比如cmos中的硬盘类型小于实际的硬盘容量,则硬盘后面的扇区将无法读写,如果是多分区状态则个别分区将丢失。还有一个重要的故障原因,由于目前的ide都支持逻辑参数类型,硬盘可采用 normal,lba,large等。如果在一般的模式下安装了数据,而又在cmos中改为其他的模式,则会发生硬盘的读写错误故障,因为其物理地质的映射关系已经改变,将无法读取原来的正确硬盘位置。
硬盘的主引导扇区是硬盘中的最为敏感的一个部件,其中的主引导程序是它的一部分,此段程序主要用于检测硬盘分区的正确性,并确定活动分区,负责把引导权移交给活动分区的dos或其他操作系统。此段程序损坏将无法从硬盘引导,但从软区或光区之后可对硬盘进行读写。修复此故障的方法较为简单,使用高版本dos的fdisk最为方便,当带参数/mbr运行时,将直接更换(重写)硬盘的主引导程序。实际上硬盘的主引导扇区正是此程序建立的,fdisk。exe之中包含有完整的硬盘主引导程序。
4分区表错误引导的启动故障
分区表错误是硬盘的严重错误,不同错误的程度会造成不同的损失。如果是没有活动分区标志,则计算机无法启动。但从软区或光区引导系统后可对硬盘读写,可通过fdisk重置活动分区进行修复。如果是某一分区类型错误,可造成某一分区的丢失。分区表的第四个字节为分区类型值,正常的可引导的大于32mb的基本dos分区值为06,而扩展的dos分区值是05。如果把基本dos分区类型改为05则无法启动系统,并且不能读写其中的数据。如果把06改为dos不识别的类型如efh,则dos认为改分区不是 dos分区,当然无法读写。很多人利用此类型值实现单个分区的加密技术,恢复原来的正确类型值即可使该分区恢复正常。分区表中还有其他数据用于纪录分区的起始或终止地址。这些数据的损坏将造成该分区的混乱或丢失,一般无法进行手工恢复,唯一的方法是用备份的分区表数据重新写回,或者从其他的相同类型的并且分区状况相同的硬盘上获取分区表数据,否则将导致其他的数据永久的丢失。在对主引导扇区进行操作时,可采用nu等工具软件,操作非常的方便,可直接对硬盘主引导扇区进行读写或编辑。当然也可采用debug进行操作,但操作繁琐并且具有一定的风险。
在硬盘主引导扇区中还存在一个重要的部分,那就是其最后的2个字节:55aah,此字为扇区的有效标志。当从硬盘,软盘或光区启动时,将检测这两个字节,如果存在则认为有硬盘存在,否则将不承认硬盘。此标志时从硬盘启动将转入rom basic或提示放入软盘。从软盘启动时无法转入硬盘。此处可用于整个硬盘的加密技术。可采用debug方法进行恢复处理。另外,dos引导扇区仍有这样的标志存在,当dos引导扇区无引导标志时,系统启动将显示为:"missing operating system"。其修复的方法可采用的主引导扇区修复方法,只是地址不同,更方便的方法是使用下面的dos系统通用的修复方法。
引导系统主要由dos引导扇区和dos系统文件组成。系统文件主要包括 io。sys,msdos。sys,command。com,其中command。com是dos的外壳文件,可用其他的同类文件替换,但缺省状态下是dos启动的必备文件。在早期windows携带的dos系统中,msdos。sys是一个文本文件,是启动windows必须的文件。但只启动dos时可不用此文件。但dos引导出错时,可从软盘或光盘引导系统,之后使用sys c:传送系统即可修复故障,包括引导扇区及系统文件都可自动修复到正常状态。
fat表纪录着硬盘数据的存储地址,每一个文件都有一组连接的fat链指定其存放的簇地址。fat表的损坏意味着文件内容的丢失。庆幸的是dos系统本身提供了2个fat表,如果目前使用的fat表损坏,可用第二个进行覆盖修复。但由于不同规格的磁盘其 fat表的长度及第二个fat表的地址也是不固定的,所以修复时必须正确查找其正确位置,由一些工具软件如nu等本身具有这样的修复功能,使用也非常的方便。采用debug也可实现这种操作,即采用其m命令把第二个fat表移到第一个表处即可。如果第二个fat表也损坏了,则也无法把硬盘恢复到原来的状态,但文件的数据仍然存放在硬盘的数据区中,可采用chkdsk或scandisk命令进行修复,最终得到*。chk文件,这便是丢失fat链的扇区数据。如果是文本文件则可从中提取并可合并完整的文件,如果是二进制的数据文件,则很难恢复出完整的文件。
目录表纪录着硬盘中文件的文件名等数据,其中最重要的一项是该文件的起始簇号,目录表由于没有自动备份功能,所以如果目录损坏将丢失大量的文件。一种减少损失的方法也是采用上面的chkdsk或scandisk程序的方法,从硬盘中搜索出chk文件,由目录表损坏时是首簇号丢失,在fat为损坏的情况下所形成的chk文件一般都比较完整的文件数据,每一个chk文件即是一个完整的文件,把其改为原来的名字可恢复大多数文件。
当用fdisk删除了硬盘分区之后,表面现象是硬盘中的数据已经完全消失,在未格式化时进入硬盘会显示无效驱动器。如果了解fdisk的工作原理,就会知道,fdisk只是重新改写了硬盘的主引导扇区 (0面0道1扇区)中的内容。具体说就是删除了硬盘分区表信息,而硬盘中的任何分区的数据均没有改变,可仿造上述的分区表错误的修复方法,即想办法恢复分区表数据即可恢复原来的分区即数据,但这只限于除分区或重建分区之后。如果已经对分区用format格式化,在先恢复分区后,在按下面的方法恢复分区数据。
在dos高版本状态下,格式化操作format在缺省状态下都建立了用于恢复格式化的磁盘信息,实际上是把磁盘的dos引导扇区,fat分区表及目录表的所有内容复制到了磁盘的最后几个扇区中(因为后面的扇区很少使用),而数据区中的内容根本没有改变。这样通过运行"unformat c:"即可恢复原来的文件分配表及目录表,从而完成硬盘信息的恢复。另外dos还提供了一个miror命令用于纪录当前的磁盘的信息,供格式化或删除之后的恢复使用,此方法也比较有效。