WinHex数据恢复教程笔记
WinHex是在Windows下运行的十六进制编辑软件,此软件功能非常强大。
有完善的分区管理功能和文件管理功能,能自动分析分区链和文件簇链,能对硬盘进行不同方式不同程度的备份,甚至克隆整个硬盘;
它能够编辑任何一种文件类型的二进制内容(用十六进制显示)其磁盘编辑器可以编辑物理磁盘或逻辑磁盘的任意扇区,是手工恢复数据的首选工具软件。 数据恢复的前提:数据不能被二次破坏、覆盖! 数据恢复首选软件用十六进制编辑器:WinHex MBR、EBR是分区产生的。
MBR主引导记录大小是固定的,位于整个硬盘的0柱面0磁道1扇区。共占用了63个扇区,实际只使用了1个扇区,即硬盘第一扇区中的512字节。
DBR是分区引导扇区,是由FORMAT高级格式化命令写到该扇区的内容,DBR是由硬盘的MBR装载的程序段。DBR装入内存后,即开始执行该引导程序段,其主要功能是完成操作系统的自举并将控制权交给操作系统。每个分区都有引导扇区,但只有被设为活动分区才会被MBR装的DBR入内存运行 FAT16文件跳转指令EB 3C 90 FAT16 没有备份DBR
FAT32文件跳转指令EB 58 90
DBR备份在第6扇区 有第一扇区的备份。FAT表32扇区 NTFS文件跳转指令EB 52 90 DBR备份在最后一个扇区 ntfs格式没有FAT表。 04H 分区系统标志
当该值为00H时,表示此分区为不可识别的系统; 为04H时该分区为FAT16分区; 为05H或0FH该分区为扩展分区; 为0B时该分区为FAT32分区; F8H FFH FFH 0FH 开始的FAT表,(对于FAT16是以F8H FFH开始的),每个FAT项占32位(4个字节),FAT16的每个FAT项占16位(2个字节),
也就是说FAT和簇是一一对应的关系,对于FAT32的FAT来说每4个字节为1个FAT项. (对于FAT16的FAT每2个字节为一个FAT项) 512字节的MBR主引导记录又分为三部分:
1.主引导扇区里的主引导程序代码(boot loader),占446个字节; 2.硬盘分区表DPT(Disk Partition table),占64字节; 主分区表项1占16字节,447-461 每一个分区表项各占16个字节.
硬盘中分区有多少以及每一分区的大小都记在其中。 3.硬盘55AA有效结束标志magic number,占两个字节。 MBR被清零的话,硬盘将不能引导。
如果0号扇区被清零,硬盘分区将不被系统识别。提示未初始化。
备份MBR只要备份前512字节就可以了,包含分区表。
用WinHex软件来恢复误分区,主要就是恢复第二部分:分区表。 主引导程序代码(boot loader)的作用:就是让硬盘具备可以引导的功能。
如果引导代码丢失,分区表还在,那么这个硬盘作为从盘所有分区数据都还在,只是这个硬盘自己不能够用来启动进系统了。
如果要恢复引导代码,可以用DOS下的命令:FDISK /MBR;这个命令只是用来恢复引导代码,不会引起分区改变,丢失数据。也可以用工具软件,比如: DiskGenius、WinHex等。 EBR,也叫做扩展MBR(Extended MBR)。占63个扇区。因为主引导记录MBR最多只能描述4个分区项,如果一个硬盘上分多于4个区,就用EBR.
EBR的结构和MBR的结构是一样的,所以在倒数第五行倒数第二个字节应该是00 01,并且前446个字节应该是0。 DBR的备份:
分区格式是FAT32的话,备份在分区的6扇区。 NTFS分区格式的话,在分区的最后一个扇区。
第 1 页 共 7 页
而每一个分区又由DBR、FAT1、FAT2、DIR、DATA5部分组成。 分区表:
分区表64个字节,一共描述4个分区表项,每个分区表项可以描述一个主分区或一个扩展分区. (比如上面的分区表,第一个分区表项描述主分区C盘,第二个分区表项描述扩展分区,第三第四个分区表项填零未用)
每一个分区表项各占16个字节。
注意:真正的隐含扇区数应该反过来填写! 主分区图:
第 2 页 共 7 页
主分区表项1占16字节,447-461
80 41 02 00 07 15 F5 FF 00 10 00 00 00 10 B8 05
80 激活标记表示活动分区 41 02 00 07 NTFS分区
15 F5 FF 分区的结束物理地址位置 9-12字节00 10 00 00
00 00 10 00=4096 本分区之前已用了4096扇区 13-16字节=C盘大小 00 10 B8 05
科学计算器16进制转换10进制,
05 B8 10 00=95948800扇区*512=/1024/1024/1024=45.75G 扩展分区表
00 4B C1 FF 0F 0E FF FF15 2D B8 05 2C 1F 80 34 00非活动分区 4B C1 FF
0F (LBA模式)扩展分区 0E FF FF
9-12字节15 2D B8 05
05 B8 2D 15=95956245扇区 D盘起始扇区 13-16字节2C 1F 80 34扩展分区的总扇区数 34 80 1F 2C=880811820扇区=420G D盘起始扇区
95956245*512扇区=49129597440字节 D盘分区表
第 3 页 共 7 页
0077D8FF079CFCFFEB0A000000080005 00A5C1FF050EFFFFE6140005460A802F 00
77 D8 FF 07
9C FC FF EB 0A 00 00
00 00 0A EB=2795扇区 00 08 00 05
05 00 08 00=83888128*512 =42950721536字节=40G D盘 00
A5 C1 FF 05扩展分区 0E FF FF
E6 14 00 05=83891430 46 0A 80 2F=796920390
E盘:880811820-83888128=796923692扇区=380G 总扇区数: 976773168
硬盘的第一分区表(即MBR)
各字节含义如下:(H表示16进制) 字节位置 内容及含义 第1字节 引导标志。若值为80H激活标记表示活动分区;若值为00H表示非活动分区。 第2、3、4字本分区的起始磁头号、扇区号、柱面号。 节 填上:01或00。填写01 01 00(通用的) 第5字节 分区类型符: 00H——表示该分区未用 06H——FAT16基本分区 0BH——FAT32基本分区 0C—— 大于8.4FAT32分区 05H——扩展分区 07H——NTFS分区 0FH——(LBA模式)扩展分区 83H—— Linux分区 第6、7、8字本分区的结束磁头号、扇区号、柱面号。填上: FE FF FF(通用)或可以00,该节 分区的结束物理地址位置。 第9、10、11、9-12字节关键,系统隐含扇区。本分区之前已用了的扇区数,是十六进制数第 4 页 共 7 页
12字节 LBA=0到DBR之间的距离。 真正的隐含扇区数应该反过来填写! 第13、14、15、本分区的总扇区数,就是C盘的大小。 16字节 因为C盘是从第63个扇区开始,而C盘后面紧接着的是EBR,所以用EBR所在的第一个扇区数减去63就是C盘的大小。
搜索EBR
第 5 页 共 7 页