下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FAT文件系统原——文本结构索引:表格索引:1区表参2展分区表项的内1盘的物理结2winhex下的磁盘3.1MBR扇3winhex给出的MBR参数的意3.2展分4区表类型标4.1关于4.1.1一个4.1.2图6分区表图4.2关于保留7盘的整体结构图表11 4.3FAT表和数4.3.1过4.3.2FAT1613FAT表的取4.3.3FAT32表14FAT32短文件 表15FAT32长文件 硬盘数据是根据电、磁转换原理实现的。硬盘由一个或几个表面镀有路组成(图1),其中盘片和磁头密封在无尘的金属壳中。写电流磁 [[返回索引]片上的每个磁道又被划分为几十个扇区(Sector),通常的容量是512byte,并按照一定规则编号为1、2、3……形成Cylinders×Heads×Sector个扇区。这[[返回索引]MBR(masterbootrecord1BDH),641BEH~偏移1FDH)为DPT(DiskPartitionTable,硬盘分区表),最后的两个字节“55AA”(偏移1FEH~偏移[[返回索引]你的硬盘的MBR引导代码可能并非这样。不过即使不同,所执行的功能大体是我们看DPT部分。操作系统为了便于用户对磁盘的管理。加入了磁盘分区的概念。即将一块磁盘逻辑划分为几块。磁盘分区数目的多少只受限于C~Z的英文字母的数目,在上图DPT64个字节中如何表示多个分区的属性呢?通过的方法解决了这个问题。在DPT共64个字节中,以16空间,一般而言,就是我们所说的扩展分区。这部分的大体说明见表1。12值 6Sector)只用了0~5位。后面的10 还使用了1位来ID(SystemID)6Sector)只0~510Cylinder)除了结束扇区字段最后的两位外,还1组成该柱面值。结束柱面是一个 Sectors)算[[返回索引]注:上表中的超过1字节的数据都以实际数据显示,就是按到地位的方式显示。时是按低位到的。两者表现不同,请仔细看清楚。以后出现[返回索引][返回索引] 而言为值储格式格式(littleendianformat)或称反字节顺序保存下来。低字节的中。例如,相对扇区数字段的值0x3F000000的低字节表示为 F。这个低字节的格式数的十进制数为63常所说的分区粒度。有时候我们分区是输入分区的大小为7000M,分出来却是6997M,就是这个原因。偏移2H6H的扇区和柱面参数中,扇区占6区×256个磁头×512byte= byte。即通常的8.4GB(实际上应该是2^322TB=2048GB,目前对于大多数计算机而言,这已经是协调,也以线性寻址为准。(可能在某些系统中会提示出错)。超过8.4GB的分区结束C/H/S一般填充为FEHFFHFFH。即C/H/S所能表示的最大值。有时候也会用柱面对1024的模来填充。不过这几个字节是什么其实都无关紧要了。[[返回索引](ExtendedBootRecord,EBR),也有人称之为虚拟mbr或扩展mbr,意思是一3263。但是,如果磁盘上没有扩展个逻辑驱动器的EBR。扩展分区表的第三项和第四项都不会被使用。[返回索引][返回索引]关于扩展分区,如图6所示,扩展分区中逻辑驱动器的扩展引导记录是一个[[返回索引]除了扩展分区上最后一个逻辑驱动器外,表2中所描述的扩展分区表的格式第二个项标识了下一个逻辑驱动器的EBR。最后一个逻辑驱动器的扩展分区表2扩展分区表项的内容个逻辑驱动器的EBR的扇区的[[返回索引]的扇区数目。总扇区数字段的值等于从扩展分区表定义的引导扇区到逻辑分区是以1柱面的容量为分区粒度的,那么如果磁盘总空间不是整数个柱面的来现在的磁盘为了更大的利用空间,一般在物理上并不是按照的扇区大于际空间容量不一定正好为整数个柱面的容量吧。关于这点,高见,请告知 [[返回索引][返回索引现在我们着重研究FAT格式分区内数据是如何的。FAT分区格式是FAT表中每个簇链的所占位数(有关概仔细研究图7fat16和fat32分区的组成结构。下面依次解释DBR、FAT1、FAT2、根、数据区、剩余扇区的概念。提到的地址如无特别提示均[返回索引]关于DBR区(DOSBOOTRECORD)即操作系统引导记录区的意思,通常占用分区的512个字节中,其实又是由跳转指令,厂商标志和操作系统版本号,BPB(BIOSParameterBlock),扩展BPB,os引导程序,结束标志几部分组成。以用的最多的FAT32为例说明分区DBR各字节的含义。见图8。[返回索表3 颜色号[[返回索[返回索5.0”,在NTFS磁盘上(关于ntfs,另述),Windows2000记录的是“NTFS”。Windows95OSR2Windows98格式化的磁盘上OEMID字段出现0x0B开始的是一段描述能够使可执行引导代码找到相关参数的信息。通常称之为BPB(BIOSParameterBlock),BPB一般开始于相同的位被封在BPB之中。由于引导扇区的第一部分是一个x86小的调整就可以适应BPB9统的研究,针对图8,将FAT32分区格式的BPB含义和扩展BPB含义释义为表格,见表4和表5。2扇区字节数(BytesPer 1每簇扇区数(SectorsPerFAT32文件系统只能4294296个),因此,通过增加每 、、、64和128。Windows2000的FAT32实现只能创建最大为2000能够由其他操作系统(Windows95、OSR2及其以区2字段的十进制值一般为321FAT(NumberofFAT)值一般为22 2小扇区数(SmallSector)(只须设置为01描述符(Media盘,0xF03.5MS-DOSFAT16磁盘,在22每道扇区数(SectorsPer2磁头数(NumberofHead)本字段INT13h的磁盘1.44MB3.54 隐藏扇区数(HiddenSector)那些在中断13h上可见的有意义。在没有分区的上它必须总是为04总扇区数(LargeSector)本4FAT扇区数(SectorsPer机利用这个数和FAT数以及来决定根从哪里开始。该计算机还可以从中的项数2始计数,而不是1).FAT2文件系统版本(FileystemVersion)FAT324 簇号(RootCluster2SystemInformationFAT32文件系统信息(FileSystemInformation,FSINFO)结构的1。在备份引导扇区(BackupBoot2FAT32[返回索表 1物理驱动器号(PhysicalDriveNumber)BIOSINT13hBIOS11BootSignature)本字段必0x284分区序号(VolumeSerial"NO卷标(VolumeLabel)8ID(SystemID)[[返回索引]DBR0x5A0x0080x00~0x02"EB5890"清楚地指明了OS引导代码的偏移位置。jump58H加上跳转指令所需的位移量,0FAT32动的。如果自己手动设置NTLDR双系统,必须知道这一点。DBR扇区的最后两个字节一般0x55AA的DBR区也需以0x55AA为合法结束标志。[[返回索引]FAT16研究一下,和FAT32大同小异的。38OEM扩展4[[返回索引]表7FAT16BPB2扇区字节数(BytesPerSector)的值为5121每簇扇区数(SectorsPerCluster)一个簇中的扇区大小取决于该分区的大有、 、、64和128。导致簇大于212 32(VolumeLabel),长名称的2小扇区数(SmallSector)16位(<65536)。对大于1Media0xF83.5寸软盘。描述符要Windows2000用2FAT扇区数(SectorsPerFAT)FAT这个数和FAT及隐藏扇区数来决定根在哪里开2每道扇区数(SectorsPer2磁头数(Numberof4 4大扇区数(LargeSector)0,本字段就包含该FAT16[[返回索引]表 1物理驱动器号(PhysicalDriveNumber)与BIOS器被标识为0x00,物理硬盘被标识为0x80,而与物地,在发出一个INT13hBIOS调用之前设置该值,1保留()FAT16分01BootSignature须要有能被Windows20000x282卷序号(VolumeSerial"NO卷标(VolumeLabel)中8文件系统类型(FileSystemType)字段的值可以为FAT、FAT12[[返回索引]有的工具可能会设置63个保留扇区。扇区的原备份替换第0扇区来找回数据。[[返回索引]FAT表和数据的原则一本书,FAT表可以认为相当于,而文件就是各个章节的内容。但FAT表的表示方法却与 行。同时,FAT文件系统将组织数据时使用的也抽象为文件,以简化对数[返回索我们模拟对一个分 间均分成100份,每份1KB。我们来依次这样几个文件:A.TXT(大小10KB),B.TXT(大小53.6KB),C.TXT(大小20.5KB)。 的到,这就像是。为了便于查找,我们假定用第1K的空间来他们的特储单位(为了说明方便,我们把单位叫做“簇”吧。也能少打点字,呵是各自浪费了不到1簇的空间吗?干嘛不让他们紧挨着,不是省地方吗?我的回答是,如果按照这样的方式,中原本只需要记下簇号,现在还需要记下簇内的偏移,这样会增加的量,而且存取没有了规则,也不太4.3.1100KB空占1占10簇 占54簇 占21簇
14 。于是我把1KB再分12004.3.2212004.3.221949:10:12000:3:82005:3:8共文件名(占开始簇(占4个文件大 创建日期、时 修改日期、时间读写属性保留50个字节 字节 节
(占4节
字节统工作吧。先改动个文件,比如A.TXT,呀,虽然块的后面有很多空间,但紧随其后B.TXT的数据还顶着呢?要是图4.3.3, 如图4.3.44.3.3100KB空占1占10簇 空白54簇 占21簇
1412004.3.2212004.3.222000:3:82005:3:8共文件名(占开始簇(占4个文件大 创建日期、时 修改日期、时间读写属性保留50个字节 字节 节
(占4节
字节呢?没有61个连续的空间了, ,如图4.3.5100KB空0簇
簇
12~65
簇
簇22004.3.2222004.3.221949:10:12000:3:82005:3:8共文件名(占开始簇(占4个文件大 创建日期、时 修改日期、时间读写属性保留50个字节 字节 节
(占4节
字节文件分配表和文件就可以达到完全的文件了。我们想到,把文件分配表做成一个数据表,以图4.3.7的形式记录簇与数据的对应。4.3.7文件123123用图4.3.7的组织方式是完全可以实现对文件占有簇的记录的。但还不够效率。比如文件名在文件分配表中记录太多,浪费空间,而实际上 中已变成图4.3.8的组织方式。4.3.8改良后的文件1313目录4a.txt2,2是4,我们就能确定下一簇是4.直到指到第11簇,发现下一个指向是为60.3KBd.txt。利用簇链可以很容易的实现。实现后的磁盘如图4.3.94.3.104.3.9整个100KB空第0
第87~93第1 簇
12~65
1313目录4图 每行100B共10行(这是例子,非Fat系统222004.3.222000:3:82005:3:81999:5:12003:3:2050个字节
4节
(占4
[返回索引]当成整块可分配的区域进行规划,以便于数据的。一般来讲,其划分形式如图7所示。我们把FAT16部分提取出来,详细描述一下:有留有任何保留扇区,其后紧随的便是FAT表。FAT表是FAT16用来记录磁盘数是不变的。簇的大小一般是2n(n为整数)个扇区的大小,像512B,1K,2K,4K,8K,16K,32K,64K。实际中通常不超过32K。之所以簇为单位94.3.12Fat16的组织形1实际情 扇取大小FAT1扇区
始 一[返回索小0MB-133MB-24129MB-8256MB-512MB-1024MB-2048MB-[返回索引]format12FAT16MB个条目使用的空间较少。这就给数据留下较多的空间。所有用FAT12 FAT16DBR参数的偏移0x11处记录了根 所占扇区的数目。偏移0x16FAT16文件系统从根所占的32个扇区之后的第一个扇区开始以簇为单位进行数据的处理,这之前仍以扇区为单位。对于根之后的第一个簇,系统16,FAT160xFFFF(十进制的 情况FAT用相应的取值来描述,见表10含义(16进制)簇簇[[返回索引][[返回索引]FAT表簇链关系。字标出的是FAT扇区每2字节对应的簇号21簇指向,上面写的数据是"FFFF",意即此文件已至尾簇。指引我们到达FAT表的第7簇指向……直到根据FAT链到扇区相对偏移—〉14簇的内容为"FFFF",意即此文件已至尾簇。FAT表记录了磁盘数据文件的链表,对于数据的而言是极其重要看,系统的这个功能在数据恢复时是个。FAT文件系统的结构其实是一颗有向的从根到叶的树,这里提到的有向是指对于FAT分区内的任一文件(包括文件夹),均需从根寻址来找到。可以这样认为:结构的就是根。FAT文件系统根据根来寻址其他文件(包括文件夹),故而根的位置DBRFAT(2FAT232个扇区。根之后便是数据区第2FAT文件系统的一个是把 理,FAT32甚至将根 东西抽象为文件更是这个思想的升华),在FAT16中,虽然根 同。FAT分区中所有的文件夹( 件(文件夹)参数的数据表。所以 有数据的大小,但也不等同于0。通常是占很小的空间的,可以看作 不管32为单位进行文件所占簇的分配。这32个字节以确定的偏移来定义本下表 83属 字节 2224[返回索引][返回索引]、对于短文件名,系统将文件名分成两部分进行,即主文件名+扩展名。0x0~0x7字节记录文件的主文件名,0x8~0xA记录文件的扩展名,取文件名中的ASCII码值。不记录主文件名与扩展名之间的"."主文件名不足8个字符以空白符(20H)填充,扩展名不足3个字符同样以空白符(20H)填充。0x0偏移处的取值若为00H,表明 反映各个属性的不同取值了。如就表示这是个文件,属性是只读、系统中有时也用它来记录修改时间和最近时间。那样其字段的意义和FAT32、0x16~0x17*2048+分钟*32+秒/2160x16字节0~4位是2单位的量值;0x165~70x170~2;0x173~716进制填入即可。也就是:0x180~4位是日期数;0x185~71980~2099,目前高版本的Windows0~127,2107、0x1A~0x1B存放文件或的表示文件的首簇号,系统根据掌握的首簇号在FAT表中找到,然后再簇链直至簇尾,同时用0x1C~0x1F处字节判定有效性。就可以完全无误的文件()了。、普通子的寻址过程也是通过其父中的项来指定的,与数据文件(指非文件)不同的是项偏移0xB41,而数据文件为早的FAT16系统并没有长文件名一说,Windows操作系统已经完全支持在关于长文件名,在FAT32部分再详细作解释。[返回索到今天NTFS铺天盖地袭来的时候,FAT32依然占据着Windows文件系统中重要的地位。FAT32最早是出于FAT16不支持大分区、单位簇容量大以致空间急剧浪费等缺点设计的。实际应用中,FAT32还是成功的。FAT32与FAT16的原理基本上是相同的,图4.3.13标出了FAT32分区的基4.3.13Fat32的组织形1扇31个扇区实际情况取
同 第2 不足一保留扇 数据[[返回索引]的win98或win2000、winXP,其操作系统引导代码并非只占一个扇区了。留有份扇区编号。备份扇区可以让我们在磁盘遭到意外破坏时恢复DBR。进制位的簇链决定了FAT表最大可以寻址2T个簇。这样即使簇的大小为1扇的空间的,随着分区空间大小的增加,FAT表的记录数会变得臃肿,严重及之上的OS32GB的分区格式化成FAT32,WIN98小的限制,FAT3265527用FAT16或FAT12。同样规定了相应的分区空间对应的簇的大小,见表12:8况留FAT32的另一项重大是根 便没有了FAT16中512个 的位置也不再硬性地固定了,可以在分 首簇占簇区顺序上的第1个簇。在图4.3.12中也是按这种情况制作的画的。FAT32对簇的编号依然同FAT16。顺序上第1个簇仍然编号为第2簇,通常为根
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025内外贸一体化认证服务指南-机器人产业
- 2026江苏南京市教育局直属学校招聘教师103人考试备考试题及答案解析
- 2026年黑河市口腔医院招聘非在编人员备考题库及一套参考答案详解
- 2026年毕节市纳雍希鸣高级中学招生工作专项人员招聘备考题库含答案详解
- 2026年郑州新郑天佑中医院(原新郑市中医院)招聘备考题库带答案详解
- 元阳县大坪乡卫生院2026年招聘编外人员备考题库参考答案详解
- 2026年浙江雷博人力资源开发有限公司招聘备考题库(社会招聘)及答案详解一套
- 2026年茂名市茂南区现场公开招聘急需紧缺人才6人备考题库含答案详解
- 2026年霞林学校初中部自主招聘编外教师备考题库及一套完整答案详解
- 临海市教育系统(初中)面向2026年普通高校毕业生公开招聘教师备考题库完整答案详解
- 2024年4月自考00612日本文学选读试题
- 《海上风电场工程岩土试验规程》(NB/T 10107-2018)
- 设备安装施工方案范本
- 地产公司设计部工作总结
- 卫生院副院长先进事迹材料
- 《期权基础知识》课件
- 复发性抑郁症个案查房课件
- 人类学概论(第四版)课件 第1、2章 人类学要义第一节何为人类学、人类学的理论发展过程
- 《功能性食品学》第七章-辅助改善记忆的功能性食品
- 2023秋季学期国开思政课《思想道德与法治》在线形考(专题检测1-7)试题及答案
- 幕墙工程竣工验收报告2-2
评论
0/150
提交评论