数据恢复教程Word格式.docx
《数据恢复教程Word格式.docx》由会员分享,可在线阅读,更多相关《数据恢复教程Word格式.docx(13页珍藏版)》请在冰点文库上搜索。
手工恢复数据------借助相关工具[如:
WinHex]用十六进制编辑器改写代码的方法还原数据。
手工恢复数据
手工恢复数据恢复成功率比较高,而且比较有趣味和挑战性,能找回许多傻瓜似的软件所找不回来的文件,但是要求工程师一定要有耐性,而且一定要保持清醒,清楚自己正在操作什么,操作完了会有什么后果,能不能退回到上一步状态。
特别是对一些破坏性操作,一定要考虑周到,只要条件允许,就一定要在操作之前进行备份,否则会造成“血”的教训,切记!
!
手工恢复MBR、DBR、FAT,需要大量的计算。
使用Winhex手工恢复数据之后,结合数据恢复软件会使数据恢复成功率大大提高,但有一些软件在扫描过程中会对原盘破坏数据,在使用中一定要谨慎!
而且同一个软件,一个新手用和一个老手用数据恢复成功率绝对是不一样的。
关于二进制、十六进制、八进制它们之间的转换就不多讲了,因为他对我们数据恢复来说帮助不大,而且很容易把我们搞晕。
手工数据恢复主要用十六进制编辑器:
Winhex(数据恢复首选软件)与KVFIX等。
我们先了解一下数据结构:
下面是一个分了三个区的整个硬盘的数据结构
MBR
C盘
EBR
D盘
E盘
MBR(MainBootRecord),即主引导纪录。
通常位于整个硬盘的1磁头1磁道0柱面0扇区(即整个硬盘的第一扇区),共占用了63个扇区,但实际只使用了1个扇区(512字节)。
在总共512字节的主引导记录中,MBR又可分为四部分:
第一部分:
引导代码,占用了440个字节(其地址在偏移0~1B7H处);
第二部分:
Windows磁盘签名,占用了6字节(其地址在偏移1B8H~1BDH处);
第三部分:
分区表,占用了64字节(其地址在偏移1BEH~1FDH处);
第四部分:
55AA,结束标志,占用了两个字节(其地址在偏移1FEH~1FFH处)。
后面我们要说的用winhex软件来恢复误分区,主要就是恢复第三部分:
分区表。
引导代码的作用:
就是让硬盘具备可以引导的功能。
如果引导代码丢失,分区表还在,那么这个硬盘作为从盘所有分区数据都还在,只是这个硬盘自己不能够用来启动进系统了。
如果要恢复引导代码,可以用DOS下的命令:
FDISK/MBR;
这个命令只是用来恢复引导代码,不会引起分区改变,丢失数据。
另外,也可以用工具软件,比如DISKGEN、WINHEX等。
Windows磁盘签名是Windows系统对硬盘初始化时写入的一个磁盘标签,Wndows系统依靠这个签名来识别硬盘,如果这个签名丢失,Windows系统就认为该硬盘没有初始化。
但分区表如果丢失,后果就是整个硬盘一个分区没有,就好象刚买来一个新硬盘没有分过区一样。
是很多病毒喜欢破坏的区域。
EBR(ExtendedBootRecord),也叫做扩展MBR(ExtendedMBR)。
因为主引导记录MBR最多只能描述4个分区项,如果想要在一个硬盘上分多于4个区,就要采用EBR扩展引导记录的办法。
MBR、EBR只有将硬盘进行分区后才能产生。
比如MBR和EBR各都占用63个扇区,C盘占用1435329个扇区……那么数据结构如下表:
63
1435329
1253889
C盘大小
D盘大小
E盘大小
扩展分区
而每一个分区又由DBR、FAT1、FAT2、DIR、DATA【使用FAT16与FAT32分区情况】部分组成。
DBR(DOSBootRecord)DOS引导记录,DBR又称为OBR(OSBootRecord)即操作系统引导记录。
OBR(DBR)是高级格式化程序产生的,如FORMAT,PM,DM,DISKPART,WINXP磁盘管理器等高级格式工具。
DBR位于柱面0,磁头1,扇区1,即逻辑扇区0。
DBR分为两部分:
DOS引导程序和BPB(BIOS参数块)。
其中DOS引导程序完成DOS系统文件(IO.SYS,MSDOS.SYS)的定位与装载,而BPB用来描述本DOS分区的磁盘信息,BPB位于DBR偏移0BH处,共13字节。
它包含逻辑格式化时使用的参数,可供DOS计算磁盘上的文件分配表,目录区和数据区的起始地址,BPB之后三个字提供物理格式化(低格)时采用的一些参数。
引导程序或设备驱动程序根据这些信息将磁盘逻辑地址(DOS扇区号)转换成物理地址(绝对扇区号)。
FAT表记录着硬盘数据的存储地址,每一个文件都有一组FAT链指定其存放的簇地址。
FAT表的损坏意味着文件内容的丢失。
庆幸的是DOS系统本身提供了两个FAT表,如果目前使用的FAT表损坏,可用第二个进行覆盖修复。
但由于不同规格的磁盘其FAT表的长度及第二个FAT表的地址也是不固定的,所以修复时必须正确查找其正确位置,一些工具软件如NU等本身具有这样的修复功能,使用也非常的方便。
采用DEBUG也可实现这种操作,即采用其m命令把第二个FAT表移到第一个表处即可。
如果第二个FAT表也损坏了,则也无法把硬盘恢复到原来的状态,但文件的数据仍然存放在硬盘的数据区中,可采用CHKDSK或SCANDISK命令进行修复,最终得到*.CHK文件,这便是丢失FAT链的扇区数据。
如果是文本文件则可从中提取出完整的或部分的文件内容。
目录表记录着硬盘中文件的文件名等数据,其中最重要的一项是该文件的起始簇号。
目录表由于没有自动备份功能,所以如果目录损坏将丢失大量的文件。
一种减少损失的方法也是采用CHKDSK或SCANDISK程序恢复的方法,从硬盘中搜索出*.CHK文件,由于目录表损坏时仅是首簇号丢失,每一个*.CHK文件即是一个完整的文件,把其改为原来的名字即可恢复大多数文件。
使用FAT格式化分区【FAT16与FAT32】
DBR本分区参数记录表
FAT1引导记录区
FAT2备份引导
记录区
DIR目录区
DATA数据区
占用1个扇区
占用3个扇区
3个扇区
使用NTFS格式化分区
FAT2备份引导记录区
占用1个扇区【通常在分区的最后1个扇区】
误删除分区时数据的恢复
大家知道,一个硬盘要能存放文件,必须经过硬盘分区,格式化等操作步骤,因为经过这些步骤之后,在硬盘中就建立起了主分区,引导分区,确定了FAT16或FAT32文件表。
主分区的作用是保存硬盘中各逻辑分区在盘片上起始位置和终止位置及分区的容量大小。
引导分区的作用是在固定的位置存放有操作系统文件,在电脑送电或复位时,由BIOS程序将处于固定位置的系统文件装入内存,再将电脑控制权交给系统文件人而完成引导过程。
扩展分区作为一个主分区占用了主分区表的一个表项。
在扩展分区起始位置所指示的扇区(即该分区的第一个扇区)中,包含有第一个逻辑分区表,同样从1BEH字节开始,每个分区表项占用16个字节。
逻辑分区表一般包含两个分区表项,一个指向某逻辑分区,另一个则指向下一个扩展分区。
下一个扩展分区的首扇区又包含了一个逻辑分区表,
主引导程序位于硬盘的主引导扇区,主要用于检测硬盘分区的正确性,并确定活动分区,负责把引导权移交给活动分区的DOS或其他操作系统。
此段程序损坏将无法从硬盘引导,但从软驱或光驱启动之后可对硬盘进行读写。
修复此故障的方法较为简单,使用高版本DOS的FDISK最为方便,当带参数/mbr运行时,将直接更换(重写)硬盘的主引导程序。
实际上硬盘的主引导扇区正是此程序建立的,FDISK.EXE之中包含有完整的硬盘主引导程序。
虽然DOS版本不断更新,但硬盘的主引导程序一直没有变化,从DOS3.x到Windos95的DOS,只要找到一种DOS引导盘启动系统并运行此程序即可修复。
分区表用于记录分区的起始或终止地址。
这些数据的损坏将造成该分区的混乱或丢失,可用的方法是用备份的分区表数据重新写回,或者从其它的相同类型的并且分区状况相同的硬盘上获取分区表数据。
在无备份分区表的情况下只有手工修改分区表了。
如果是某一分区类型错误,可造成某一分区的丢失。
分区表的第四个字节为分区类型值,正常的可引导的大于32MB的基本DOS分区值为06,而扩展的DOS分区值是05。
很多人利用此类型值实现单个分区的加密技术,恢复原来的正确类型值即可使该分区恢复正常。
硬盘分区表项的16个字节分配如下:
第1字节:
是一个分区的激活标志,表示系统可引导。
如是0则表示非活动分区。
第2字节:
该分区起始磁头(HEAD)号
第3字节:
该分区起始扇区(Sector)号'
第4字节:
该分区起始的柱面(Cylinder)号
第5字节:
该分区系统类型标志
第6—8字节:
该分区终止磁头号、分区结束的扇区号、分区结束的柱面号
第9-12字节:
该分区首扇区的相对扇区号
第13-16字节:
该分区占用的扇区总数
分区类型表
类型值
说明
00H
DOS或Windows不允许使用,视为非法
75H
PC/IX
01H
FAT12
80H
OldMinix
02H
XENIXroot
81H
Minix/OldLinux
03H
XENIXusr
82H
Linuxswap
04H
FAT16小于32MB
83H
Linux
05H
Extended
84H
OS/2hiddenC:
06H
85H
Linuxextended
07H
HPFS/NTFS
86H
NTFSvolumeset
08H
AIX
87H
09H
AIXbootable
93H
Amoeba
0AH
OS/2BootManage
94H
AmoebaBBT
0BH
Windows95FAT32
A0H
IBMThinkpadhidden
0CH
Windows95FAT32(大于8GB)
A5H
BSD/386
0EH
Windows95FAT16
A6H
OpenBSD
0FH
Windows95Extended(大于8GB)
A7H
NextSTEP
10H
OPUS
B7H
BSDIfs
11H
HiddenFAT12
B8H
BSDIswap
12H
Compaqdiagnost
BEH
Solarisbootpartition
16H
HiddenFAT16
C0H
DR-DOS/NovellDOSsecuredpartition
14H
HiddenFAT16小于32MB
C1H
DRDOS/sec
17H
HiddenHPFS/NTFS
C4H
18H
ASTWindowsswap
C6H
1BH
HiddenFAT32
C7H
Syrinx
1CH
HiddenFAT32Partition
DBH
CP/M/CTOS
1EH
HiddenLBAVFATPartition
E1H
DOSaccess
24H
NECDOS
E3H
DOSR/O
3CH
ParttionMagic
E4H
SpeedStor
40H
Venix80286
EBH
BeOSfs
41H
PPCPrePBoot
F1H
42H
SFS
F2H
DOS3.3+secondarypartition
4DH
QNX4.x
F4H
4EH
QNX4.x2ndpart
FEH
LANstep
4FH
QNX4.x3ndpart
FFH
BBT
50H
OnTrackDM
51H
OnTrackDM6Aux
52H
CP/M
53H
54H
OnTrackDM6
55H
EZ-Drive
56H
GoldenBow
5CH
PriamEdisk
61H
63H
GNUHURDorSys
64H
NovellNetware
65H
70H
DisksecureMult
Winhex是使用最多的一款工具软件,是在Windows下运行的十六进制编辑软件,此软件功能非常强大,有完善的分区管理功能和文件管理功能,能自动分析分区链和文件簇链,能对硬盘进行不同方式不同程度的备份,甚至克隆整个硬盘;
它能够编辑任何一种文件类型的二进制内容(用十六进制显示)其磁盘编辑器可以编辑物理磁盘或逻辑磁盘的任意扇区,是手工恢复数据的首选工具软件。
误格式化硬盘数据的恢复
在DOS高版本状态下,FORMAT格式化操作在缺省状态下都建立了用于恢复格式化的磁盘信息,实际上是把磁盘的DOS引导扇区、FAT分区表及目录表的所有内容复制到了磁盘的最后几个扇区中(因为后面的扇区很少使用),而数据区中的内容根本没有改变。
这样通过运行UNFORMAT命令即可恢复。
另外DOS还提供了一个MIROR命令用于记录当前磁盘的信息,供格式化或删除之后的恢复使用,此方法也比较有效。