FAT文件系统数据恢复原理

上传人:大米 文档编号:508058770 上传时间:2023-03-03 格式:DOCX 页数:8 大小:17.14KB
返回 下载 相关 举报
FAT文件系统数据恢复原理_第1页
第1页 / 共8页
FAT文件系统数据恢复原理_第2页
第2页 / 共8页
FAT文件系统数据恢复原理_第3页
第3页 / 共8页
FAT文件系统数据恢复原理_第4页
第4页 / 共8页
FAT文件系统数据恢复原理_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《FAT文件系统数据恢复原理》由会员分享,可在线阅读,更多相关《FAT文件系统数据恢复原理(8页珍藏版)》请在金锄头文库上搜索。

1、FAT 文件系统数据恢复原理FAT 文件系统数据恢复原理一、硬盘的物理构造:硬盘存储数据是依据电、磁转换原理实现的。硬盘由一个或几个外表镀有磁性物质的金属或玻璃等物质盘片以及盘片两面所安装的磁头和相应的把握电路组成 (图 1),其中盘片和磁头密封在无尘的金属壳中。硬盘工作时,盘片以设计转速高速旋转,设置在盘片外表的磁头则在电路把握下径向移动到指定位置然后将数据存储或读取出来。当系统向硬盘写入数据时,磁头中“写数据“电流产生磁场使盘片外表磁性物质状态发生转变,并在写电流磁场消逝后仍能保持,这样数据就存储下来了;当系统从硬盘中读数据时,磁头经过盘片指定区域,盘片外表磁场使磁头产生感应电流或线圈阻抗

2、产生变化,经相关电路处理后复原成数据。因此只要能将盘片外表处理得更平滑、磁头设计得更周密以及尽量提高盘片旋转速度,就能造出容量更大、读写数据速度更快的硬盘,效劳器数据恢复。这是由于盘片外表处理越平、转速越快就能越使磁头离盘片外表越近,提高读、写灵敏度和速度;磁头设计越小越周密就能使磁头在盘片上占用空间越小,使磁头在一张盘片上建立更多的磁道以存储更多的数据。二、硬盘的规律构造。硬盘由很多盘片(platter)组成,每个盘片的每个面都有一个读写磁头。假设有 N 个盘片。就有 2N 个面,对应 2N 个磁头(Heads),从 0、1、2 开头编号。每个盘片被划分成假设干个同心圆磁道(规律上的,是不行

3、见的。)每个盘片的划分规章通常是一样的。这样每个盘片的半径均为固定值 R 的同心圆再规律上形成了一个以电机主轴为轴的柱面(Cylinders),从外至里编号为 0、1、2每个盘片上的每个磁道又被划分为几十个扇区(Sector),通常的容量是 512byte,并依据确定规章编号为 1、2、3形成 CylindersHeadsSector 个扇区。这三个参数即是硬盘的物理参数。我们下面的很多实践需要深刻理解这三个参数的意义。三、磁盘引导原理。3.1 MBR(master boot record)扇区:计算机在按下 power 键以后,开头执行主板 bios 程序。进展完一系列检测和配置以后。开头按

4、 bios 中设定的系统引导挨次引导系统。假定现在是硬盘。Bios 执行完自己的程序后如何把执行权交给硬盘呢。交给硬盘后又执行存储在哪里的程序呢。其实,称为 mbr 的一段代码起着举足轻重的作用。MBR(master boot record),即主引导记录,有时也称主引导扇区。位于整个硬盘的 0 柱面 0 磁头 1 扇区(可以看作是硬盘的第一个扇区),bios 在执行自己固有的程序以后就会 jump 到mbr 中的第一条指令。将系统的把握权交由 mbr 来执行。在总共 512byte 的主引导记录中,MBR 的引导程序占了其中的前 446 个字节(偏移 0H,随后的 64 个字节(偏移 1BE

5、H偏移 1FDH)为 DPT(Disk 偏移 1BDH) PartitionTable,硬盘分区表),最终的两个字节“55 AA“(偏移 1FEH偏移1FFH)是分区有效完毕标志。MBR 不随操作系统的不同而不同,意即不同的操作系统可能会存在一样的MBR,即使不同,MBR 也不会夹带操作系统的性质。具有公共引导的特性。我们来分析一段 mbr。下面是用 winhex 查看的一块希捷 120GB 硬盘的 mbr。你的硬盘的 MBR 引导代码可能并非这样。不过即使不同,所执行的功能大体是一样的。这是 wowocock 关于磁盘 mbr 的反编译,已加了具体的注释,感兴趣可以细细争论一下。我们看 DP

6、T 局部。操作系统为了便于用户对磁盘的治理。参与了磁盘分区的概念。马上一块磁盘规律划分为几块。磁盘分区数目的多少只受限于 CZ 的英文字母的数目,在上图 DPT 共 64 个字节中如何表示多个分区的属性呢?microsoft 通过链接的方法解决了这个问题。在 DPT 共 64 个字节中,以 16 个字节为分区表项单位描述一个分区的属性。也就是说,第一个分区表项描述一个分区的属性,一般为根本分区。其次个分区表项描述除根本分区外的其余空间,一般而言,就是我们所说的扩展分区。这局部的大体说明见表 1。表 1 图 2 分区表第一字段字节位移字段长度字段名和定义0x01BE BYTE 0x80ndica

7、tor)指明该分区是否是活动分区。 引导指示符(Boot I 0x01BF BYTE 0x01开头磁头(Starting Head) 0x01C0 6 位0x01开头扇区(Starting Sector)只用了 05 位。后面的两位(第 6 位和第 7 位)被开头柱面字段所使用0x01C1 10 位0x00开头柱面(Starting Cylinder)除了开头扇区字段的最终两位外,还使用了 1位来组成该柱面值。开头柱面是一个 10 位数,最大值为 1023 0x01C2 BYTE 0x07系统 ID(System ID)定义了分区的类型,具体定义,请参阅图 4 0x01C3 BYTE 0xFE

8、完毕磁头(Ending Head) 0x01C4 6 位0xFF第 6、7 位)被完毕完毕扇区(Ending Sector)只使用了 05 位。最终两位( 柱面字段所使用0x01C5 10 位0x7B完毕柱面(Ending Cylinder)除了完毕扇区字段最终的两位外,还使用了 1位,以组成该柱面值。完毕柱面是一个 10 位的数,最大值为 1023 0x01C6 DWORD 0x 0000003F相对扇区数(Relative Sectors)从该磁盘的开头到该分区的开头的位移量,以扇区来计算0x01CA DWORD 0x00DAA83D总扇区数(Total Sectors)该分区中的扇区总数

9、注:上表中的超过 1 字节的数据都以实际数据显示,就是按高位到地位的方式显示。存储时是按低位到高位存储的。两者表现不同,请认真看清楚。以后消灭的表,图均同。也可以在 winhex 中看到这些参数的意义:说明:每个分区表项占用 16 个字节,假定偏移地址从 0 开头。如图 3 的分区表项 3。分区表项 4 同分区表项 3。1、0H 偏移为活动分区是否标志,只能选 00H 和 80H。80H 为活动,00H 为非活动。其余值对 microsoft 而言为非法值。2、重说明一下(这个格外重要):大于 1 个字节的数被以低字节在前的存储格式格式(little endian format)或称反字节挨次

10、保存下来。低字节在前的格式是一种保存数的方法,这样,最低位的字节最先消灭在十六进制数符号中。例如,相对扇区数字段的值 0x3F 000000 的低字节在前表示为 0x 0000003F。这个低字节在前的格式数的十进制数为 63。3、系统在分区时,各分区都不允许跨柱面,即均以柱面为单位,这就是通常所说的分区粒度。有时候我们分区是输入分区的大小为 7000M,分出来却是6997M,就是这个缘由。偏移 2H 和偏移 6H 的扇区和柱面参数中,扇区占 6 位(bit),柱面占 10 位(bit),以偏移 6H 为例,其低 6 位用作扇区数的二进制表示。其高两位做柱面数 10 位中的高两位,偏移 7H

11、组成的 8 位做柱面数 10 位中的低 8位。由此可知,实际上用这种方式表示的分区容量是有限的,柱面和磁头从 0 开头编号,扇区从 1 开头编号,所以最多只能表示 1024 个柱面63 个扇区256 个磁头512byte=8455716864 byte。即通常的 8.4GB(实际上应当是 7.8GB 左右)限制。实际上磁头数通常只用到 255 个(由汇编语言的寻址存放器打算),即使把这 3 个字节按线性寻址,照旧力不从心。在后来的操作系统中,超过 8.4GB 的分区其实已经不通过 C/H/S 的方式寻址了。而是通过偏移 CH偏移 FH 共 4 个字节 32 位线性扇区地址来表示分区所占用的扇区

12、总数。可知通过 4 个字节可以表示 232 个扇区,即2TB=2048GB,目前对于大多数计算机而言,这已经是个天文数字了。在未超过8.4GB 的分区上,C/H/S 的表示方法和线性扇区的表示方法所表示的分区大小是全都的。也就是说,两种表示方法是协调的。即使不协调,也以线性寻址为准。(可能在某些系统中会提示出错)。超过 8.4GB 的分区完毕 C/H/S 一般填充为 FEH FFH FFH。即 C/H/S 所能表示的最大值。有时候也会用柱面对 1024 的模来填充。不过这几个字节是什么其实都无关紧要了。虽然现在的系统均承受线性寻址的方式来处理分区的大小。但不行跨柱面的原则照旧没变。本分区的扇区

13、总数加上与前一分区之间的保存扇区数目照旧必需是柱面容量的整数倍。(保存扇区中的第一个扇区就是存放分区表的 MBR 或虚拟 MBR 的扇区,分区的扇区总数在线性表示方式上是不计入保存扇区的。假设是第一个分 区,保存扇区是本分区前的全部扇区。附:分区表类型标志如图 4 3.2 扩展分区:扩展分区中的每个规律驱动器都存在一个类似于 MBR 的扩展引导记录(Extended Boot Record,EBR),也有人称之为虚拟 mbr 或扩展 mbr,意思是一样的。扩展引导记录包括一个扩展分区表和该扇区的标签。扩展引导记录将记录只包含扩展分区中每个规律驱动器的第一个柱面的第一面的信息。一个规律驱动器中的

14、引导扇区一般位于相对扇区 32 或 63。但是,假设磁盘上没有扩展分区,那么就不会有扩展引导记录和规律驱动器。第一个规律驱动器的扩展分区表中的第一项指向它自身的引导扇区。其次项指向下一个规律驱动器的 EBR。假设不存在进一步的规律驱动器,其次项就不会使用,而且被记录成一系列零。假设有附加的规律驱动 器,那么其次个规律驱动器的扩展分区表的第一项会指向它本身的引导扇区。其次个规律驱动器的扩展分区表的其次项指向下一个规律驱动器的 EBR。扩展分区表的第三项和第四项永久都不会被使用。通过一幅 4 分区的磁盘构造图可以看到磁盘的大致组织形式。如图 5:关于扩展分区,如图 6 所示,扩展分区中规律驱动器的

15、扩展引导记录是一个连接表。该图显示了一个扩展分区上的三个规律驱动器,说明白前面的规律驱动器和最终一个规律驱动器之间在扩展分区表中的差异。除了扩展分区上最终一个规律驱动器外,表 2 中所描述的扩展分区表的格式在每个规律驱动器中都是重复的:第一个项标识了规律驱动器本身的引导扇区,其次个项标识了下一个规律驱动器的 EBR。最终一个规律驱动器的扩展分区表只会列出它本身的分区项。最终一个扩展分区表的其次个项到第四个项被使用。表 2 扩展分区表项的内容扩展分区表项分区表项的内容第一个项包括数据的开头地址在内的与扩展分区中当前规律驱动器有关的信息其次个项有关扩展分区中的下一个规律驱动器的信息,包括包含下一个

16、规律驱动器的EBR 的扇区的地址。假设不存在进一步的规律驱动器的话,该字段不会被使用第三个项未用第四个项未用扩展分区表项中的相对扇区数字段所显示的是从扩展分区开头到规律驱动器中第一个扇区的位移的字节数。总扇区数字段中的数是指组成该规律驱动器的扇区数目。总扇区数字段的值等于从扩展分区表项所定义的引导扇区到规律驱动器末尾的扇区数。有时候在磁盘的末尾会有剩余空间,剩余空间是什么呢?我们前面说到,分区是以 1 柱面的容量为分区粒度的,那么假设磁盘总空间不是整数个柱面的话,不够一个柱面的剩下的空间就是剩余空间了,这局部空间并不参与分区,所以一般无法利用。照道理说,磁盘的物理模式打算了磁盘的总容量就应当是整数个柱面的容 量,为什么会有不够一个柱面的空

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

当前位置:首页 > 资格认证/考试 > 自考

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