




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、硬盘数据恢复常识硬盘数据恢复常识数据恢复一直以来都是我们关注的问题,因为你的电脑 数据每天都在受着诸如病毒、恶意代码、黑客、误操作等的威胁!那么如何才 能恢复你的数据呢?希望本文能对你有所帮助!一、理论篇要深入学习数据恢复,并非是一件容易的事,要想成为一个数据恢复专家, 没有深厚的理论知识是不可能的,你必须了十分了解磁盘的逻辑结构,就让我 们来看看需要学习的理论知识吧。当我们对文件进行访问时,你有没有想过,操作系统是如何对文件进行操 作的呢?这些文件又是如何存放在磁盘当中的呢 ?先来看看硬盘的总体结构,在 介绍硬盘总体结构之前有必要介绍一下硬盘的参数,硬盘是以磁头(Heads),柱面(Cyli
2、nders),扇区(Sectors)进行访问的。其中:磁头数(Heads)表示硬盘总 共有几个磁头,也就是有几面盘片,最大为255(用8个二进制位存储);柱面数 (Cylinders)表示硬盘每一面盘片上有几条磁道,最大为1023(用10个二进制位 存储);扇区数(Sectors)表示每一条磁道上有几个扇区,最大为63(用6个二进 制位存储).每个扇区一般是512个字节,学习过汇编语言的朋友可能想到了, BIOS中断13H的入口参数中,CH是磁道号其值为0HFEH(ft多255个磁道), CL中低6位为扇区号,其值为1H3FH俄多63个扇区),DH为磁头号的低位, CL中的高2位为磁头号的高位
3、,也就是说,磁头号最多由10位二进制数表示,(1111111111)2=(1023)10 ,也就是说最多可以表示的磁头数为 1024个。请大家 记住这些在我们以后的学习中还会用到的,由此可以看出基于这种访问方式我 们最大能访问的磁盘容量为:255*1023*63*512 字节=8414461440/1048576=8024.66 M只有大约8G的空间,这是因为早期磁盘还很小,想想当年你拥有一块 200M硬盘时的喜悦心情吧!就好象当年的科学家们以为1K内存已经很大了一样,让电脑用户很长一段时间都为配置 DOST的内存而烦恼。而今,你肯定拥有一块大于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 Partition Tab
6、le简称DPT和结束标识三部分组成。其结构如下:1、偏移0H1BDHt弓I导程序(占446个字节,但实际可能并没有到这么多 的字节)2、偏移1BEH1FD硬盘分区表(占64个字节,每个分区项占16个字节, 最多可容纳4个分区项)3、偏移1FEH1FF附束标识(占2个字节,结束标志,总为 55H AAH)主引导程序我在此就不分析了,需要注意的是在主引导程序中有一些出错 信息,一些引导型病毒往往会覆盖这些信息来将自己嵌入到主引导程序中去, 并将主引导程序开始的几个字节改为一条跳转指令,通过观察主引导程序的变 化,往往可以让我们看出自己的电脑是否有引导型病毒,一旦发现异常,我们 可以用FDISK/M
7、B限令来覆盖原有的MBR结束标识的两个字节总是 55H AAH 该标识只是用于判断这个扇区是否是有效的主引导扇区,如果主引导程序发现 没有这个结束标识,将会认为操作系统丢失,并显示 "Missing Operating System"。硬盘分区表:从偏移1BEH1FDHfi 64个字节存放的是硬盘分区表,其中最多包含 4个分 区项,每个分区项由16个字节构成,具结构如下:1、1BEH1CDH区项 1 2、1CEH1DDH区项 2 3、1DBH1EDH区项 3 4、 1EFH1FDHb区项 4注意:没有用到的分区项上的记录总是 16个十六进制码00H我们再来看看每个分区项的详
8、细含义,假设我们的一个分区占用的16个字节被标为00H0FH其结构如下:00H引导标识字节,其值只能为00H或80H,为00H时表示该分区不可引导, 为80H时表示该分区可用于引导。在许多诸如 BOOT MAGIC类的软件都是利用 了这一原理,实现多操作系统引导的,了解了这一原理,你也可以写出你自己 的多操作系统引导程序了。01H分区起始磁头号02H其高2位为分区起始柱面号的高位,底 6位为分区起始扇区号03H分区起始柱面号的低位04H分区系统标志,当该值为00H时,表示此分区为不可识别的系统;为 04H时该分区为FAT1的区;为05H或0FH该分区为扩展分区;为 0B时该分区 为FAT32分
9、区;为83H时表示该分区为Linux分区,为07时该分区为NTF的区 等等。一些如PQMAGI磁盘软件在隐藏分区操作时就是将此字节的内容保存后 在把它改为00Ho05H分区结束磁头号06H其高2位为分区结束柱面号的高位,底 6位为分区结束扇区号07H分区结束柱面号的低位08H0BHb匕4个字节为在线性寻址方式下的分区的扇区地址。当分区大于 8G时,扩展INT13H是通过该信息进行寻址的,我们可以发现在这种方式下寻 址最多可访问的空间为:FFFFFFFF加*512B/扇=2048G也就是说我们用扩展 INT13H最大可以访问的空间为2048G这个数字现在对我们来说是非常大的, 但谁都不能想象计算
10、机的发展之快,到时到底要如何来突破这个限制呢?现在谁也不知道。注意:此4个字节是从高位到低位排列的!例如我的分区表第一个 分区项此4字节的内容为"3FH 00H 00H 00H”,它代表该分区是从 0000003 FH 开始的,也就是从线性地址 63扇开始的(线性地址把硬盘的第一个扇记为 0H扇)0CH0FHt 4个字节为以扇区为单位的该分区大小(总扇区数),此4个字 节同样是从高位到低位排列的!(二)引导扇区(Boot sector) 的结构:当主引导程序找到了带有引导标识为 80H的分区后,就会将该分区的引导 扇区读入到内存地址为 0000: 7c00处,并把控制权交给引导扇区中
11、的引导程序,让我们来看看其中一些需要 了解的地方:1、0H02H-条跳转指令,指针指向后面的引导程序2、03H0AHT商名和系统版本3、0BH0CHf扇字节数,一般为 512字节4、0DH®簇扇区数(有关簇的概念我们在后面会详细介绍),对于FAT32的 磁盘该字节一般为08H,既每簇为8H*512B=4K5、0EH0FHR留扇区数6、10H磁盘FAT的个数,一般为2个7、11H12H寸于FAT16的磁盘为根目录的最大目录项,对于 FAT32的磁盘 该值总为"00H 00H"8、13H14印寸于软盘或早期小硬盘该处为分区总扇区数,对于硬盘一般此 值为"00
12、H 00H"9、15H介质描述,对于1.44软盘此处长为“F0H”,对于硬盘此处长为"F8H"10、16H17H寸于软盘或早期小硬盘该处为每个 FAT占用的扇区数,对于 硬盘一般此值为"00H 00H"11、18H19K道扇区数,一般为"3FH 00H",即每道有63个扇区12、1AH1BHg头数,一般为"FFH 00H",即每个柱面有255个磁头13、1CH1F粮含扇区数14、20H23H寸于大硬盘来说该处存放的是该分区占用的扇区数15、24H27H寸于大硬盘来说该处存放的是每个 FAT占用的扇区数16
13、、40H该处为磁盘BIOS信息,第一块硬盘为"80H", 一般软盘为"00H"17、47H51Hg户设置的卷标,如果没有卷标此处常为字符串 "NO NAME"18、52H59HC件系统,对于 FAT32文件系统此处常为"FAT32"19、1FEH1FF结束标识,和上文提到的主引导区的结束标识一样为 "55H AAH"以上是引导扇区的一些信息,在上面我们可以获得一些有用的信息,我们 也可以想象一下为什么当我们在分区上单击右键在分区属性中可以看到一些分 区信息,比如分区大小,文件系统等等,知道原理,
14、你也可以直接调用这些参 数了。(三)磁盘文件分配表(FAT)在介绍FAT之前,我们要先了解有关簇的概念,簇(Cluster)是文件数据区 被划分成的具有大小相等的区域用于磁盘文件的计量分配单位。一个簇可能有 1、2、4、8、16、32、64或128(必须是2的幕)个扇区构成,但对于一种磁盘 系统是其值往往是一定的,比如 FAT16中每簇一般为32K(占64个扇),FAT32 中每簇一般为4K(占8个扇)。要理解操作系统为什么要用簇对磁盘进行管理,还是得学习 FAT, FAT32磁 盘中在系统引导区之后有一些保留未用的扇区,再后面有一个以 F8H FFH FFH 0FH开始的FAT表,(对于FA
15、T16是以F8H FFH开始的),每个FATK占32位(4 个字节),FAT16的每个FAT项占16位(2个字节),不同的FAT值有不同的含义:FAT12的表项值FAT16的表项值FAT32的表项值值的含义000H 0000H 00000000 H 未用的空簇001HFEFH 0001HFFEFH 00000001 H0FFFFFEtH已使用的簇FF0HFF6H FFF0HFFF6H 0FFFFFF0H0FFFFFF6H 留簇FF7H FFF7H 0FFFFFF7 H簇FFF8HFFFH FFF8HFFFFH 0FFFFFF8H0FFFFFFFH勺最后一簇注意:在FAT表项中的16进制码总是从
16、高向底排列的。我们再来看看系统是如何利用 FAT表来管理和访问文件的。系统在创建一 个新文件时,逐一扫描FAT,跳过已经分配的簇,将该簇分给文件,具簇号作 为该文件的起始簇号被放在该文件的文件目录项中 (关于文件目录项我们将在后 面详谈),如果此文件的大小只需要一个簇就可以放下的话,在该簇对应的 FAT 项中将放文件最后一簇的标志(一般是FFH FFH FFH F0H即其值为0FFFFFFFH) 如果文件大小一个簇放不下,系统就会在继续寻找FAT表中未用的簇,找到后将该簇的簇号写到上一簇对应的 FAT项中,如果此时已经可以存下该文件的数 据,系统就会在此簇对应的FAT中记上最后簇的标志,否则就
17、继续找下一空簇.也就是说FAT和簇是对应的关系,对于 FAT32的FAT来说每4个字节 为1个FAT项(对于FAT16的FAT每2个字节为一个FAT项),从0Nj FAT项 分别对应0N个簇,在我们对文件进行访问时,总是先访问文件的目录项,找 到首簇簇号,冉找到该簇号对应的 FAT项,在其中找到下一簇的簇号,冉在下 一簇对应的FAT项中找到再下一簇的簇号.一直到在FAT项中找到有文件最后一 簇的标志,我们对该文件的查找才结束。(当然也可能在首簇对应的FAT中该文 件就结束了)这样就形成了一个链,我们把它称为盘簇链。简要介绍一下FAT12系统,FAT12现在只用于软盘,因为是每个 FAT占12
18、位所以是每2个字节含有3个FAT项,我们来看看FAT12系统在寻找簇链的过 程:将10进制簇号*1.5并取整,该值为FAT相对位移,在该处存放的是下一 簇的簇号,以此类推。一个问题:到底每簇占多少扇区合适?文件所占簇数为:文件占用的簇数=文件长度/每簇所占空间取整+1文件在最后一个簇存放的时候不可能刚好放满,没有放满的空间就浪费了 (就好象我们打电话不可能每个电话都打到 X分59.99秒,即使你通话时间为X 分1秒你也要付出X+1分的电话费),我们可以来计算一下你的FAT系统磁盘空 间浪费的大小:浪费的空间大小=文件个数/2*每簇字节数(平均每个文件浪费半个簇的空间)这样看来好象簇越小浪费的空
19、间也越小,但是有个矛盾的地方是簇越小FAT所用的空间就会越大,同时簇小了,簇链就越长,访问文件的时间就会加 长,这又是一种资源上的浪费,因此,簇的大小应该是以提高文件的访问时间 和充分利用磁盘空间为原则的。(三)目录项的结构在第2个5人丁表(系统一般有两个同样的FAT表)后我们可以找到该分区的 根目录区,在上面有许多目录项(注意:目录项并非根目录才有),让我们先来 复习一下FAT16的目录项各个字节的含义:由32个字节构成:00H07Ht件的文件名,其中00H为以下值时有些特定含义:00H表项为空表项E5H文件已被删除05H实际该字节为的值为E5H 08H0AHe件的扩展名0BH文件属性8位文
20、件属性字节含义如下:B7B6未用B5归档位B4子目录(代表该文件是一个目录或叫文件夹)B3卷标(卷标也解释为一种特殊的文件)B2系统文件B1隐藏文件B0只读文件0CH15H FAT16C统保留未用16H17H(统最后修改时间,其中:16H字节的04位是以2秒为增量的秒16H字节的57位和17H字节的02位是分钟17H字节的37位是小时18H19Ht件最后修改的日期,其中:18H字节04位是天号18H字节57位和19H字节0位是月份19H字节的17位为年号,0119分别代表19802099 1AH1BHC件的起始 簇号(我们在之前已经介绍了)1CH1FHC件的长度(单位为字节)我们知道用在FAT
21、16系统下的文件名有一些弊端,如:文件名最多只能有 8个字符(或4个汉字),扩展名最多有3个字符,不分大小写,不能用一些特 殊字符等。在FAT32系统这些问题已经得到解决,我们来看看 FAT32系统是如 何解决长文件名问题的。假如在你的电脑中有一个文件名为 abcdefghijklmnopqrstuvwxyz 111111.txt的文件名,那么该文件在磁盘目录中就占用了 4个已32字节为单位的目录项,其中有3个目录项是用来描述长文件名的,有1个目录项是用来兼容老的FAT系统的,我们来看看例子中前3个用于 描述长文件名的目录项:43H 31H 00H 31H 00H 31H 00H 31H 00
22、H 31H 00H 0FH 00H 27H 31H 00H 2EH 00H 74H 00H 78H 00H 74H 00H 00H 00H 00H 00H FFH FFH FFH FFH 02H 6EH 00H 6FH 00H 70H 00H 71H 00H 72H 00H 0FH 00H 27H 73H 00H 74H 00H 75H 00H 76H 00H 77H 00H 78H 00H 00H 00H 79H 00H 7AH 00H 01H 61H 00H 62H 00H 63H 00H 64H 00H 65H 00H 0FH 00H 27H 66H 00H 67H 00H 68H 00
23、H 69H 00H 6AH 00H 6BH 00H 00H 00H 6CH 00H 6DH 00H不难看出描述长文件名的目录项中的一些规则:在每个目录项的32个字节中,(1)、偏移0H处:代表了长文件描述目录项 的序号,其中高4位如果为0100则表示此项为最后一个目录项,低 4位表示此 长文件名的目录项的序号。如果此长文件名描述目录只用到了1个目录项,则此值为41H,如果此值为E5H代表此文件已被删除;(2)、偏移0BH0CHt:其 值总为0FH 00H; (3)、偏移0D处:该长文件目录项的标号,同一个长文件目 录的不同目录项该值总相同(比如本例中3个目录项该值都为27H); (4)、偏移 1AH1BHt:该值总为00H 00H; (5)从偏移01H1FHB过前4项提到的字节, 总是一个文件名的ASCII码接一个00H排列的,如果文件名的ASCII码在一个 目录项还未写完,则会接到下一个目录项(实际上这些目录项都是从高到低排列 的)同样的位置继续写,如果已经写完,则系统会在最后一个ACSII码后写00H,最多写3个00H,如果3个00H写完后,目录项还有空余位置,则系统会把这 些位置全部写上FFH同时FAT32系统还有一个类似
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 业务合作框架协议书
- 楼上住房渗水协议书
- 试验检测分包协议书
- 委托拖车协议书样本
- 重庆珠宝回购协议书
- 商户进场物业协议书
- 买房赔偿协议书范本
- 酒店聘请经理协议书
- 离婚调解协议书离婚
- 驻厂工人安全协议书
- 2025版《保障中小企业款项支付条例》学习解读课件
- 2025年浙江安防职业技术学院单招职业技能测试题库必考题
- 奔驰事故留修专员年终总结
- 2025电工(高级技师)技能鉴定精练考试指导题库及答案(浓缩500题)
- 患者隐私保护培训课件
- 《校园安全教育(第二版)》 课件全套 项目1-8 走进安全教育 -确保实习安全
- 2025年人民法院信息技术服务中心招聘应届高校毕业生高频重点模拟试卷提升(共500题附带答案详解)
- GB/T 45159.2-2024机械振动与冲击黏弹性材料动态力学性能的表征第2部分:共振法
- 2025年全球及中国财务报表审计服务行业头部企业市场占有率及排名调研报告
- 2025年浙江金华市轨道交通集团招聘笔试参考题库含答案解析
- 2023年高考化学试卷(河北)(解析卷)
评论
0/150
提交评论