数据恢复初步

上传人:s9****2 文档编号:496202328 上传时间:2023-07-03 格式:DOC 页数:16 大小:97KB
返回 下载 相关 举报
数据恢复初步_第1页
第1页 / 共16页
数据恢复初步_第2页
第2页 / 共16页
数据恢复初步_第3页
第3页 / 共16页
数据恢复初步_第4页
第4页 / 共16页
数据恢复初步_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《数据恢复初步》由会员分享,可在线阅读,更多相关《数据恢复初步(16页珍藏版)》请在金锄头文库上搜索。

1、数据恢复初步(1)数据恢复一直以来都是我们关注的问题,因为你的电脑数据每天都在受着诸如病毒、恶意代码、黑客、误操作等的威胁!那么如何才能恢复你的数据呢?希望本文能对你有所帮助! 一、理论篇要深入学习数据恢复,并非是一件容易的事,要想成为一个数据恢复专家,没有深厚的理论知识是不可能的,你必须了十分了解磁盘的逻辑结构,就让我们来看看需要学习的理论知识吧。当我们对文件进行访问时,你有没有想过,操作系统是如何对文件进行操作的呢?这些文件又是如何存放在磁盘当中的呢?先来看看硬盘的总体结构,在介绍硬盘总体结构之前有必要介绍一下硬盘的参数,硬盘是以磁头(Heads),柱面(Cylinders),扇区(Sec

2、tors)进行访问的。其中: 磁头数(Heads)表示硬盘总共有几个磁头,也就是有几面盘片, 最大为 255 (用 8 个二进制位存储); 柱面数(Cylinders) 表示硬盘每一面盘片上有几条磁道,最大为 1023 (用 10 个二进制位存储); 扇区数(Sectors) 表示每一条磁道上有几个扇区, 最大为 63(用 6 个二进制位存储). 每个扇区一般是 512个字节,学习过汇编语言的朋友可能想到了,BIOS中断13H的入口参数中,CH是磁道号其值为0HFEH(最多255个磁道),CL中低6位为扇区号,其值为1H3FH(最多63个扇区),DH为磁头号的低位,CL中的高2位为磁头号的高位

3、,也就是说,磁头号最多由10位二进制数表示,(1111111111)2=(1023)10,也就是说最多可以表示的磁头数为1024个。请大家记住这些在我们以后的学习中还会用到的,由此可以看出基于这种访问方式我们最大能访问的磁盘容量为:255 * 1023 * 63 * 512字节=8414461440/1048576=8024.66M只有大约8G的空间,这是因为早期磁盘还很小,想想当年你拥有一块200M硬盘时的喜悦心情吧!就好象当年的科学家们以为1K内存已经很大了一样,让电脑用户很长一段时间都为配置DOS下的内存而烦恼。而今,你肯定拥有一块大于8G的硬盘了,你能够用她,应该多亏了一种较新的硬盘访

4、问技术扩展 Int13H 技术。采用线性寻址方式存取硬盘, 所以突破了 8 G的限制, 而且还加入了对可拆卸介质(如活动硬盘)的支持,因为是谈数据恢复不是谈编程,关于扩展INT13H技术我在此就不详述了。硬盘数据(基于FAT结构)总体结构如下:1、主引导扇区(Master boot sector) (占用一个扇区)2、第一个分区的引导扇区(Boot sector)(占用一个扇区)3、第一个分区的FAT1 (占用空间由磁盘大小和FAT类型来定)4、第一个分区的FAT2 (占用空间由磁盘大小和FAT类型来定)5、第一个分区的根目录区6、第一个分区数据区 (用来存放各种文件的数据)7、扩展分区表 (

5、占用一个扇区 )8、第二个分区的引导扇区(Boot sector)(占用一个扇区)9、第二个分区的FAT1 (占用空间由磁盘大小和FAT类型来定)10、第二个分区的FAT2 (占用空间由磁盘大小和FAT类型来定)11、第二个分区的根目录区12、第二个分区数据区 (用来存放各种文件的数据)13、扩展分区表注意:当你的硬盘没有扩展分区的时候,你就没有扩展分区表了;当你只有一个硬盘分区的时候你的硬盘结构到6就完了。(一)主引导扇区(Master boot sector)的结构:它是硬盘的第一个扇区, 由主引导程序(MasterBoot Record简称MBR),硬盘分区表(Disk Partitio

6、n Table简称DPT )和结束标识三部分组成。其结构如下:1、偏移0H1BDH 主引导程序(占446个字节,但实际可能并没有到这么多的字节)2、偏移1BEH1FDH 硬盘分区表(占64个字节,每个分区项占16个字节,最多可容纳4个分区项)3、偏移1FEH1FFH 结束标识 (占2个字节,结束标志,总为55H AAH)主引导程序我在此就不分析了,需要注意的是在主引导程序中有一些出错信息,一些引导型病毒往往会覆盖这些信息来将自己嵌入到主引导程序中去,并将主引导程序开始的几个字节改为一条跳转指令,通过观察主引导程序的变化,往往可以让我们看出自己的电脑是否有引导型病毒,一旦发现异常,我们可以用FD

7、ISK/MBR命令来覆盖原有的MBR。结束标识的两个字节总是55H AAH,该标识只是用于判断这个扇区是否是有效的主引导扇区,如果主引导程序发现没有这个结束标识,将会认为操作系统丢失,并显示“Missing Operating System”。硬盘分区表:从偏移1BEH1FDH的64个字节存放的是硬盘分区表,其中最多包含4个分区项,每个分区项由16个字节构成,其结构如下:1、1BEH1CDH 分区项1 2、1CEH1DDH 分区项2 3、1DBH1EDH 分区项3 4、1EFH1FDH 分区项4 注意:没有用到的分区项上的记录总是16个十六进制码00H 我们再来看看每个分区项的详细含义,假设我

8、们的一个分区占用的16个字节被标为00H0FH,其结构如下: 00H 引导标识字节,其值只能为00H或80H,为00H时表示该分区不可引导,为80H时表示该分区可用于引导 。在许多诸如BOOT MAGIC之类的软件都是利用了这一原理,实现多操作系统引导的,了解了这一原理,你也可以写出你自己的多操作系统引导程序了。 01H 分区起始磁头号 02H 其高2位为分区起始柱面号的高位,底6位为分区起始扇区号 03H 分区起始柱面号的低位 04H 分区系统标志,当该值为00H时,表示此分区为不可识别的系统;为04H时该分区为FAT16分区;为05H或0FH该分区为扩展分区;为0B时该分区为FAT32分区

9、 ;为83H时表示该分区为Linux分区, 为07时该分区为NTFS分区等等。一些如PQMAGIC磁盘软件在隐藏分区操作时就是将此字节的内容保存后在把它改为00H。 05H 分区结束磁头号 06H 其高2位为分区结束柱面号的高位,底6位为分区结束扇区号 07H 分区结束柱面号的低位 08H0BH 此4个字节为在线性寻址方式下的分区的扇区地址。当分区大于8G时,扩展INT13H是通过该信息进行寻址的,我们可以发现在这种方式下寻址最多可访问的空间为:FFFFFFFFH扇*512B/扇=2048G,也就是说我们用扩展INT13H最大可以访问的空间为2048G,这个数字现在对我们来说是非常大的,但谁都

10、不能想象计算机的发展之快,到时到底要如何来突破这个限制呢?现在谁也不知道。注意:此4个字节是从高位到低位排列的!例如我的分区表第一个分区项此4字节的内容为“3FH 00H 00H 00H”,它代表该分区是从0000003FH开始的,也就是从线性地址63扇开始的(线性地址把硬盘的第一个扇记为0H扇) 0CH0FH 此4个字节为以扇区为单位的该分区大小(总扇区数),此4个字节同样是从高位到低位排列的!(未完待续)数据恢复初步(2)(二)引导扇区(Boot sector)的结构: 当主引导程序找到了带有引导标识为80H的分区后,就会将该分区的引导扇区读入到内存地址为0000:7C00处,并把控制权交

11、给引导扇区中的引导程序,让我们来看看其中一些需要了解的地方: 1、0H02H 一条跳转指令,指针指向后面的引导程序 2、03H0AH 厂商名和系统版本 3、0BH0CH 每扇字节数,一般为512字节 4、0DH 每簇扇区数(有关簇的概念我们在后面会详细介绍),对于FAT32的磁盘该字节一般为08H,既每簇为8H*512B=4K。 5、0EH0FH 保留扇区数 6、10H 磁盘FAT的个数,一般为2个 7、11H12H 对于FAT16的磁盘为根目录的最大目录项,对于FAT32的磁盘该值总为“00H 00H” 8、13H14H 对于软盘或早期小硬盘该处为分区总扇区数,对于硬盘一般此值为“00H 0

12、0H” 9、15H 介质描述,对于1.44软盘此处长为“F0H”,对于硬盘此处长为“F8H” 10、16H17H 对于软盘或早期小硬盘该处为每个FAT占用的扇区数,对于硬盘一般此值为“00H 00H” 11、18H19H 每道扇区数,一般为“3FH 00H”,即每道有63个扇区 12、1AH1BH 磁头数,一般为“FFH 00H”,即每个柱面有255个磁头 13、1CH1FH 隐含扇区数 14、20H23H 对于大硬盘来说该处存放的是该分区占用的扇区数 15、24H27H 对于大硬盘来说该处存放的是每个FAT占用的扇区数 16、40H 该处为磁盘BIOS信息,第一块硬盘为“80H”,一般软盘为

13、“00H” 17、47H51H 用户设置的卷标,如果没有卷标此处常为字符串“NO NAME ” 18、52H59H 文件系统,对于FAT32文件系统此处常为“FAT32 ” 19、1FEH1FFH 结束标识,和上文提到的主引导区的结束标识一样为“55H AAH” 以上是引导扇区的一些信息,在上面我们可以获得一些有用的信息,我们也可以想象一下为什么当我们在分区上单击右键在分区属性中可以看到一些分区信息,比如分区大小,文件系统等等,知道原理,你也可以直接调用这些参数了。 (三)磁盘文件分配表(FAT) 在介绍FAT之前,我们要先了解有关簇的概念,簇(Cluster)是文件数据区被划分成的具有大小相

14、等的区域用于磁盘文件的计量分配单位。一个簇可能有1、2、4、8、16、32、64或128(必须是2的幂)个扇区构成,但对于一种磁盘系统是其值往往是一定的,比如FAT16中每簇一般为32K(占64个扇),FAT32中每簇一般为4K(占8个扇)。 要理解操作系统为什么要用簇对磁盘进行管理,还是得学习FAT,FAT32磁盘中在系统引导区之后有一些保留未用的扇区,再后面有一个以 F8H FFH FFH 0FH 开始的FAT表,(对于FAT16是以F8H FFH开始的),每个FAT项占32位(4个字节),FAT16的每个FAT项占16位(2个字节),不同的FAT值有不同的含义: FAT12的表项值 FA

15、T16的表项值 FAT32的表项值 值的含义 000H 0000H 00000000H 未用的空簇 001HFEFH 0001HFFEFH 00000001H0FFFFFEFH 文件已使用的簇 FF0HFF6H FFF0HFFF6H 0FFFFFF0H0FFFFFF6H 系统保留簇 FF7H FFF7H 0FFFFFF7H 坏簇 FFF8HFFFH FFF8HFFFFH 0FFFFFF8H0FFFFFFFH 文件的最后一簇 注意:在FAT表项中的16进制码总是从高向底排列的。 我们再来看看系统是如何利用FAT表来管理和访问文件的。系统在创建一个新文件时,逐一扫描FAT,跳过已经分配的簇,将该簇分给文件,其簇号作为该文件的起始簇号被放在该文件的文件目录项中(关于文件目录项我们将在后面详谈),如果此文件的大小只需要一个簇就可以放下的话,在该簇对应的FAT项中将放文件最后一簇的标志(一般是FFH FFH FFH F0H,即其值为0FFFFFFFH),如果文件大小一个簇放不下,系统就会在继

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号