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