谈fat32文件系统

上传人:j****9 文档编号:45025119 上传时间:2018-06-14 格式:DOC 页数:27 大小:67KB
返回 下载 相关 举报
谈fat32文件系统_第1页
第1页 / 共27页
谈fat32文件系统_第2页
第2页 / 共27页
谈fat32文件系统_第3页
第3页 / 共27页
谈fat32文件系统_第4页
第4页 / 共27页
谈fat32文件系统_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《谈fat32文件系统》由会员分享,可在线阅读,更多相关《谈fat32文件系统(27页珍藏版)》请在金锄头文库上搜索。

1、FAT32 文件系统简介Windows95 OSR2 和 Windows 98 开始支持 FAT32 文件系统,它是对早期 DOS 的 FAT16 文件系统的增强,由于文件系统的核心-文件分配表 FAT 由 16 位扩充为 32 位,所以称为 FAT32 文件系统。在一逻辑盘(硬盘的一分区)超过 512 兆字节时使用这种格式,会更高效地存储数据,减少硬盘空间的浪费,一般还会使程序运行加快,使用的计算机系统资源更少,因此是使用大容量硬盘存储文件的极有效的系统。本人对Windows 98 下的 FAT32 文件系统做了分析实验,总体上与 FAT16 文件系统变化不大,现将有关变化部分简介如下:(一

2、)FAT32 文件系统将逻辑盘的空间划分为三部分,依次是引导区(BOOT 区)、文件分配表区(FAT 区)、数据区(DATA 区)。引导区和文件分配表区又合称为系统区。(二)引导区从第一扇区开始,使用了三个扇区,保存了该逻辑盘每扇区字节数,每簇对应的扇区数等等重要参数和引导记录。之后还留有若干保留扇区。而 FAT16 文件系统的引导区只占用一个扇区,没有保留扇区。 (三)文件分配表区共保存了两个相同的文件分配表,因为文件所占用的存储空间(簇链)及空闲空间的管理都是通过 FAT 实现的,FAT如此重要,保存两个以便第一个损坏时,还有第二个可用。文件系统对数据区的存储空间是按簇进行划分和管理的,簇

3、是空间分配和回收的基本单位,即,一个文件总是占用若干个整簇,文件所使用的最后一簇剩余的空间就不再使用,而是浪费掉了。从统计学上讲,平均每个文件浪费 0.5 簇的空间,簇越大,存储文件时空间浪费越多,利用率越低。因此,簇的大小决定了该盘数据区的利用率。FAT16 系统簇号用 16 位二进制数表示,从 0002H 到 FFEFH 个可用簇号(FFF0H 到 FFFFH 另有定义,用来表示坏簇,文件结束簇等),允许每一逻辑盘的数据区最多不超过 FFEDH(65518)个簇。FAT32 系统簇号改用 32 位二进制数表示,大致从 00000002H 到 FFFFFEFFH 个可用簇号。FAT 表按顺序

4、依次记录了该盘各簇的使用情况,是一种位示图法。每簇的使用情况用 32 位二进制填写,未被分配的簇相应位置写零;坏簇相应位置填入特定值;已分配的簇相应位置填入非零值,具体为:如果该簇是文件的最后一簇,填入的值为 FFFFFF0FH,如果该簇不是文件的最后一簇,填入的值为该文件占用的下一个簇的簇号,这样,正好将文件占用的各簇构成一个簇链,保存在 FAT 表中。0000000H、00000001H 两簇号不使用,其对应的两个 DWORD 位置(FAT 表开头的 8 个字节)用来存放该盘介质类型编号。FAT 表的大小就由该逻辑盘数据区共有多少簇所决定,取整数个扇区。(四)FAT32 系统一簇对应 8

5、个逻辑相邻的扇区,理论上,这种用法所能管理的逻辑盘容量上限为 16TB(16384GB),容量大于 16TB 时,可以用一簇对应 16 个扇区,依此类推。FAT16 系统在逻辑盘容量介于128MB 到 256MB 时,一簇对应 8 个扇区,容量介于 256MB 到 512MB 时,一簇对应 16 个扇区,容量介于 512MB 到 1GB 时,一簇对应 32 个扇区,容量介于 1GB 到 2GB 时,一簇对应 32 个扇区,超出 2GB 的部分无法使用。显然,对于容量大于 512MB 的逻辑盘,采用 FAT32 的簇比采用 FAT16 的簇小很多,大大减少了空间的浪费。但是,对于容量小于 512

6、MB 的盘,采用 FAT32 虽然一簇 8 个扇区,比使用 FAT16 一簇 16 个扇区,簇有所减小,但 FAT32 的 FAT 表较大,占用空间较多,总数据区被减少,两者相抵,实际并不能增加有效存储空间,所以微软建议对小于 512M 的逻辑盘不使用 FAT32。另外,对于使用 FAT16 文件系统的用户提一建议,硬盘分区时,不要将分区(逻辑盘)容量正好设为某一区间的下限,例:将一逻辑盘容量设为 1100M(稍大于 1024M),则使用时其有效存储容量比分区为 950M 的一般还少,因其簇大一倍,浪费的空间较多。还有,使用 FDISK 等对分区指定容量时,由于对 1MB 的定义不一样(标准的

7、二进制的 1MB 为1048576B,有的系统将 1MB 理解为 1000000B,1000KB 等),及每个分区需从新磁道开始等因素,实际分配的容量可能稍大于指定的容量,亦需注意掌握。(五)根目录区(ROOT 区)不再是固定区域、固定大小,可看作是数据区的一部分。因为根目录已改为根目录文件,采用与子目录文件相同的管理方式,一般情况下从第二簇开始使用,大小视需要增加,因此根目录下的文件数目不再受最多 512 的限制。FAT16 文件系统的根目录区(ROOT 区)是固定区域、固定大小的,是从 FAT 区之后紧接着的 32个扇区,最多保存 512 个目录项,作为系统区的一部分。(六)目录区中的目录

8、项变化较多,一个目录项仍占 32 字节,可以是文件目录项、子目录项、卷标项(仅跟目录有)、已删除目录项、长文件名目录项等。目录项中原来在 DOS 下保留未用的 10 个字节都有了新的定义,全部 32 字节的定义如下: (1) 0- 7 字节 文件正名。 (2) 8-10 字节 文件扩展名。 (3) 11 字节 文件属性,按二进制位定义,最高两位保留未用,0 至 5 位分别是只读位、隐藏位、系统位、卷标位、子目录位、归档位。 (4) 12-13 字节 仅长文件名目录项用,用来存储其对应的短文件名目录项的文件名字节校验和等。 (5) 14-15 字节 24 位二进制的文件建立时间,其中的高 5 位

9、为小时,次 6 位为分钟。 (6) 16-17 字节 16 位二进制的文件建立日期,其中的高 7 位为相对于1980 年的年份值,次 4 位为月份,后 5 位为月内日期。 (7) 18-19 字节 16 位二进制的文件最新访问日期,定义同(6)。(8) 20-21 字节 起始簇号的高 16 位。(9) 22-23 字节 16 位二进制的文件最新修改时间,其中的高 5 位为小时,次 6 位为分钟,后 5 位的二倍为秒数。 (10)24-25 字节 16 位二进制的文件最新修改日期,定义同(6)。(11)26-27 字节 起始簇号的低 16 位。 (12)28-31 字节 32 位的文件字节长度。

10、 其中第(4)至(8)项为以后陆续定义的。 对于子目录项,其(12)为零;已删除目录项的首字节值为 E5H。在可以使用长文件名的 FAT32 系统中,文件目录项保存该文件的短文件名,长文件名用若干个长文件名目录项保存,长文件名目录项倒序排在文件短目录项前面,全部是采用双字节内码保存的,每一项最多保存十三个字符内码,首字节指明是长文件名的第几项,11 字节一般为 0FH,12 字节指明类型,13 字节为校验和,26-27 字节为零。 (七)以前版本的 Windows 和 DOS 与 FAT32 不兼容,不能识别FAT32 分区,有些程序也依赖于 FAT16 文件系统,不能和 FAT32 驱动器一

11、道工作。将硬盘转换为 FAT32,就不能再用双引导运行以前版本的 Windows(Windows 95 Version 4.00.950、Windows NT 3.x、Windows NT 4.0 和 Windows 3.x)。 CIH 破坏后的硬盘修复 摘要: 本文记述了 CIH 病毒发作后破坏后的状况及 CIH 的破坏原理,讨论了修复的可能性,针对全盘修复作了讨论,对磁盘原理进行了分析,并对分区表及第一个分区的修复方法作了较为深刻的探讨。最后介绍了一下用此原理编制的程序 FixDriveC。关键字:CIH 病毒 修复 磁盘结构一、CIH 的破坏4 月 26 日,隐藏在数十万台计算机中的 C

12、IH 病毒突然发作,造成全国大面积的计算机瘫痪,损失十分惨重。病毒发作的机器 BIOS(基本输入输出系统)被改写,硬盘数据被损坏,造成机器无法启动,重要数据丢失。据有关调查表明,在上月 26 日 CIH 病毒的大规模发作中,我国受到损害的计算机总量为 36 万台,造成的直接、间接经济损失超过 10 亿元。调查还表明,这次 CIH 病毒发作中全国受到侵害的计算机中主板受损的比例为15%,造成的直接经济损失为 0.8 亿元,间接经济损失超过 10 亿元。二、CIH 病毒简介CIH 病毒是台湾大学生陈英豪编制的,起初据称只是为了“使反病毒软件公司难堪”,但后来由于病毒传染力强,迅速扩散到了世界各个国

13、家的计算机系统上。以至于造成现在的严重情况。CIH 病毒属文件型病毒,其别名有 Win95.CIH、Spacefiller、Win32.CIH、PE_CIH,它主要感染Windows95/98 下的可执行文件,目前的版本不感染 DOS 以及 WIN3.X 下的可执行文件,并且在 WinNT 中不能发作。其发展过程至现在公认经历了v1.0,v1.1、v1.2、v1.3、v1.4 五个版本,目前最流行的是 v1.2 版本。其中 1.0 版时间较早,没有破坏作用;1.1 版被感染文件大小不变,没破坏力;1.2 版加入破坏硬盘和 BIOS 的程序,在每年的 4 月 26 日发作;1.3版修正了部分感染

14、自解压文件时的出错问题,而且将发作日期改为每年 6月 26 日;1.4 版对于所有的 Winzip 自解压文件都不感染,并会在每个月的 26 日发作。三、CIH 发作分析CIH 发作时将会把部分 5V 电压的 Flash ROM 重写,填入杂乱的数据,使机器无法启动,同时从第一个硬盘的第一个扇区开始以 2048 个字节为单位将内存中不相关的数据填入硬盘。IOS_SendCommand 是 Win95 的一个非常底层的 VXD 调用,通常是用作对 IO 设备的低层操作,如:读,写,加锁,格式化等等。一般情况下只能在 Ring 0 和虚拟机中使用。CIH 病毒先构造一个 IOR,再使用 IOS_S

15、endCommand 调用,完成 IOR 所指定的功能。 病毒指定第一次写的磁盘为第一个磁盘,位置为 0,即 0 柱面 0 磁头 1 扇区,指定一次写的长度为 2048 个字节,然后调用 IOS_SendCommand 进行一次写操作。如果成功,将继续重复写操作,直到将所有的扇区全部写完,然后转到第二个硬盘继续写。病毒理想的情况是将所有硬盘全部写完。但由于写盘的速度比较慢,加之 Flash ROM 在硬盘破坏之前被破坏,因此很可能导致死机或被用户 Reset 复位,所以病毒不会将所有的数据破坏掉,通常只能破坏硬盘前部的几百个至上千个扇区。而现在的硬盘都比较大,病毒并没有破坏到数据区,这就给恢复

16、提供了先决条件。四、磁盘结构综述1.硬盘结构硬盘的内部是由圆形金属片堆叠起来的,每个盘片的两面都有一个磁头(Head)负责读写这个磁面(Side),在每个磁面上划分了一圈一圈的同心圆,叫做柱面(Cylinder)对于软盘通常称之为磁道,在每个柱面中又划分了若干段,称之为扇区(Sector)。由于技术的发展,硬盘的密度越来越大,使得硬盘的实际盘片数越来越少,对磁盘操作的柱面、磁头、扇区被硬盘控制器内部转换,已经不是实际的柱面、磁头、扇区了。由于最早时磁盘存取系统估计不足,传输数据时只给扇区留了 6 位,柱面留了 10 位,磁头留了 8 位。也就是说,柱面最大只能为 1023。但是大硬盘的柱面远大于这个数,所以后来就采用将柱面数减少,将磁头数增加的方式来满足磁盘寻址的要求,对于实际地址的转换在 BIOS 中进行,这叫逻辑块寻址方式(Logical Block Addressing,LBA)硬盘中有关柱面、磁头、扇区的数据都是以此为基准的。2.分区结构众多的文件数据存放在磁盘上,需要有组织,这就形成了文件系统。但是各个操作系统的文件系统都不尽相同,为了划分管理文

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

当前位置:首页 > 生活休闲 > 科普知识

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