『壹』 windows下,磁盘的文件系统有哪几种简述NTFS系统相对其他文件系统的好处是什
常见的文件系统大多是FAT或NTFS。
一、FAT文件系统:
1、FAT16格式
其中FAT16是自DOS、Windows 3.x以来广泛使用的硬盘分区格式,是传统的16位文件系统。它有极好的兼容性,DOS、Windows 、Windows NT的各种版本,以及其他各类操作系统都支持FAT16。它相对速度快, CPU资源耗用少,所以至今仍是各类机器硬盘常用的分区格式。但是传统FAT16得不支持长文件名,受到8+3,即8个字符的文件名加3个字符扩展名的限制。单个分区的最大尺寸为2GB,单个硬盘的最大容量一般不能超过8GB,所以如果硬盘容量超过8GB,8GB以上空间则因无法利用而浪费。
2、FAT32格式
FAT32是Windows 95 OSR2版开始推出兼容16位的32位文件系统。最大特点为使用较小的簇(每簇仅为4KB)分配文件单元,大大提高硬盘空间利用率,减少了浪费。单个硬盘的最大容量达到2TB(1TB=1024GB),为海量硬盘的使用者提供了方便。它支持长文件名,能很好运行 DOS、Windows 95-2000的各种版本,但系统开销要大于FAT16。这种文件系统的安全性仍然较差。目前,支持这一磁盘分区格式的操作系统有Win 97、Win 98和Win 2000/XP。但是,这种分区格式也有它的缺点,首先是采用FAT32格式分区的磁盘,由于文件分配表的扩大,运行速度比采用FAT16格式分区的硬盘要慢;另外,由于DOS系统和某些早期的应用软件不支持这种分区格式,所以采用这种分区格式后,就无法再使用老的DOS操作系统和某些旧的应用软件了。
二、NTFS文件系统
NTFS具有FAT的所有基本功能,并提供了优于FAT和FAT 32文件系统的特点:
1、更好的文件安全性和更大的磁盘压缩。 支持大磁盘,最大可达2tb(NTFS的最大驱动器容量远远大于FAT的最大驱动器容量,并且随着驱动器容量的增加,NTFS的性能并不下降,这与FAT有很大不同)。
2、可以在安装过程中,将现有的分区转换为NTFS。也可以在安装后的任何时候,通过在命令提示符下使用convert.exe程序,将文件系统从FAT转换为NTFS。但是只有Windows NT/2000/XP才能识别NTFS系统,Windows 9x/Me以及DOS等操作系统都不能支持、识别NTFS格式的磁盘。
3、由于DOS系统不支持NTFS系统,所以最好不要将C:盘制作为NTFS系统,这样在系统崩溃后便于在DOS系统下修复。但是NTFS文件系统存在一个明显的不足,就是如果使用NTFS格式化分区,那么只有Windows 2000可以访问在该分区上创建的文件,其他操作系统不能使用Windows 2000 NTFS分区。
NTFS文件系统也不是全都是优点,有些操作还是需要FAT文件系统中运行的。
『贰』 u盘中FAT32,NTFS,等文件系统是什么意思
FAT32,NTFS都是硬盘分区格式的类型。
FAT32
FAT32指的是文件分配表是采用32位二进制数记录管理的磁盘文件管理方式,因FAT类文件系统的核心是文件分配表,命局塌名由此得来,FAT32只能支持32GB分区,单个文件也只能支持最大4GB。
NTFS
NTFS分区是New Technology File System的缩写,为Windows NT 系列所设计,被用来代替File Allocation Table(FAT)文件系统。
NTFS 提供长文件名、数据保护和恢复,并通过目录和文桐槐圆件许可实现安全性。NTFS 支持大硬盘和在多个硬盘上存储文件(称为卷)。NTFS可以支持的分区(如果采用动态磁盘则称为卷)大小可以达到2TB。
(2)fat文件系统详解扩展阅读
FAT32和NTFS的区别
1、磁盘分区容量区别
NTFS可以支持的分区(如果采用动态磁盘则称为卷)大小可以达到2TB(2048GB),而FAT32支持分区的大小最大为32GB。
2、单个文件容量区别
FAT32在实际运行中不支持单个文件大于4GB的文件,一旦超过容量限制那么系统就会提示磁盘空间不足。NTFS就目前来说已经突破了单个文件4GB的容量限制,目前来说似乎没容量限制,只要硬盘空间容量有多大,那么就NTFS就可以分到多大。
3、安全方面区别明态
FAT32文件安全设置:不支持;NTFS文件安全设置:支持。
『叁』 FAT是什么格式
FAT不是指格式,FAT是文件配置表(全称是File Allocation Table),是一种由微软发明并拥有部分专利的文件系统,供MS-DOS使用,也是所有非NT核心的微软窗口使用的文件系统。
一个FAT文件系统包括四个不同的部分。保留扇区,位于最开始的位置。第一个保留扇区是引导区(分区启动记录);FAT区域,它包含有两份文件分配表,是分区信息的映射表;根目录区域,它是在根目录中存储文件和目录信息的目录表;数据区域,是实际的文件和目录数据存储的区域。
(3)fat文件系统详解扩展阅读:
FAT的最大分区
在FAT16中,采用了16bit宽的簇地址,32bit宽扇区地址。虽然32bit的扇区地址可以寻址2^32*512,约2个TB的容量,但于由规定每簇最大的容量不超过1024*32,所以FAT16文件系统的容量也就限制到了2^16*1024*32,大约2.1GB的空量。
FAT32文件系统使用了32bit宽的簇地址,所以称为FAT32。但在微软件的文件系统中只使用了低28位,最大容量为2^28*1024*32,约8.7TB的空量。
虽然FAT32具有容纳近乎8.7TB的容量,但实际应用中通常不使用超过32GB的FAT32分区。WIN2000及之上的OS已经不直接支持对超过32GB的分区格式化成FAT32,但WIN98依然可以格式化大到127GB的FAT32分区。
『肆』 请简述FAT、FAT32、和NTFS三种文件系统的区别
在推出fat32文件系统之前,通常pc机使用的文件系统是fat16。像基于ms-dos,win
95等系统都采用了fat16文件系统。在win
9x下,fat16支持的分区最大为2gb。我们知道计算机将信息保存在硬盘上称为“簇”的区域内。使用的簇越小,保存信息的效率就越高。在fat16的情况下,分区越大簇就相应的要增大,存储效率就越低,势必造成存储空间的浪费。并且随着计算机硬件和应用的不断提高,fat16文件系统已不能很好地适应系统的要求。在这种情况下,推出了增强的文件系统fat32。同fat16相比,fat32主要具有以下特点:
1.
同fat16相比fat32最大的优点是可以支持的磁盘大小达到2tb(2047gb),但是不能支持小于512mb的分区。基于fat32的win
2000可以支持分区最大为32gb;而基于
fat16的win
2000支持的分区最大为4gb。
2.
由于采用了更小的簇,fat32文件系统可以更有效率地保存信息。如两个分区大小都为2gb,一个分区采用了fat16文件系统,另一个分区采用了fat32文件系统。采用fat16的分区的簇大小为32kb,而fat32分区的簇只有4kb的大小。这样fat32就比fat16的存储效率要高很多,通常情况下可以提高15%。
3.
fat32文件系统可以重新定位根目录和使用fat的备份副本。另外fat32分区的启动记录被
『伍』 一、嵌入式之FAT32文件系统(1)
参考文件
FAT32文件系统有几个基本的几个概念:
先拿一个真实的4G SD卡分析数据:
使用winhex物理方式查看,截一部分图:
全称Master Boot Record,即主引导记录。
主引导记录分为两个部分,一个部分是前446字节,另外一个部分是后64字节。
前446个字节,一般取值为0,不过有的时候也会有其他的设置值。
这部分也叫DPT,全称Disk Partition Table,即磁盘分区表。
磁盘分区表有4个区,每个区有16字节,总体是64字节。因此,MBR字节数为512字节,刚好是一个扇区的数量。
DPT的4个部分,每一个部分的16字节含义如下表:
00 82 03 00 0B E6 DC CA 00 20 00 00 00 E0 ED 00(16进制)
这里,就贴出来上面截图的数据内容。(我们使用的是小字节序)
0x00 :
通常的取值。
0x82 :
开始磁头。
0x03 0x00 :
实际为0x0003,按照2进制编码为0000 0000 0000 0011。
那么开始扇区为:0。
开始柱面为:3。
0x0B :
分区类型,为Win95 FAT32类型。
0xE6 :
结束磁头为230。
0xDC 0xCA:
实际为0xCADC,按照2进制编码为1101 1100 1100 1010。
那么结束扇区为:55。
结束柱面为:220。
0x00 0x20 0x00 0x00 :
实际为:0x00002000,也就是8192,为分区的开始扇区地址。那么我们后面就可以从这里去找DBR。
0x00 0xE0 0xED 0x00 :
实际为:0x00EDE000,也就是15589376,为分区的总扇区数。
从这里其实可以算出SD卡的容量。
也就是:
分区大小:15589376x512 = 7981760512。这个值大约是7.612G。
从物理0地址到起始地址:8192*512 = 4194304
那么总容量为:7981760512+4194304 = 7985954816。
该部分包括一个叫BPB的内容。
先截出DBR部分的实际SD卡上的内容:
在WinHex下使用逻辑磁盘打开FAT32文件系统的存储介质来看,偏移位置与表示的含义有如下表所示:
25字节的分区块(BPB):
扩展分区BPB:
按照定义,将实际的图 MBR.png分析如下:
从偏移为0x0BH地址开始:
00 02 10 96 04 02 00 00 00 00 F8 00 00 3F 00 FF 00 00 20 00 00 00 E0 ED 00 B5 1D 00 00
00 02 :
即0x0200,表示扇区字节数,也就是512字节。
10:
即0x10,每簇扇区数为16。也就是16 512=8 1024=8K。
96 04:
即0x0496,保留扇区数为1174。
02:
即0x02,FAT表份数为2。
00 00:
即0x0000,为保留。
00 00:
即0x0000,为保留。
F8:
即为本地硬盘。
00 00:
即0x0000,为保留。
3F 00:
即0x003F,即每磁道扇区数为63。
FF 00:
即0x00FF,即磁头数为255。
00 20 00 00:
即0x00002000,即隐藏扇区数为8192。
00 E0 ED 00:
即0x00EDE000,即磁盘总扇区数为15589376。
B5 1D 00 00 :
即0x001DB5,即FAT表占用扇区数为7605。
好了,根据这些内容,可以计算出两个参数:
FAT1的开始扇区 = 分区开始扇区+ 保留扇区=8192+1174 = 9366。
FAT2的开始扇区 = FAT1的开始扇区+FAT表占用的大小 = 9366 + 7605 = 16971。
首目录簇 = FAT1的开始扇区+FAT的表份数 x FAT表占用的大小=9366+2*7605 = 24576。
继续追踪,找到首目录簇中的已经新建的文件。
现在,先解析粘贴出来的每个部分的内容的含义。
具体内容下面的FAT中会说。
a.txt部分的解析:
41 20 20 20 20 20 20 20 54 58 54 20 18 8B 2A 90
96 4A A1 4A 00 00 0F 8C A1 4A 03 00 10 00 00 00
41 20 20 20 20 20 20 20:
表示文件名:“A TXT”
20 :
表示的是文件的属性。归档。
18:
为系统保留。
8B:
创建时间的10ms位。也就是1390ms。
2A 90:
也就是0x902A,换成2进制为1001 0000 0010 1010 。表示的是创建时间。
细分如下:
则时间值为:
时:0x12 = 18,
分:0x1 = 1,
秒:0xAx 2s + 1390ms= 10x 2s + (1390ms) = 21s,
所以创建时间为18:01:21。
96 4A:
也就是0x4A96,换成2进制为0100 1010 1001 0110,表示的是创建日期。
细分如下:
则日期值为:
年:1980+0x25 = 2017,
月:0x4 = 4,
日:0x16= 22,
所以,创建日期为2017年4月22日。
A1 4A:
也就是0x4AA1,换成2进制为0100 1010 1010 0001,表示的是最后访问日期。
则日期为:
年:1980+0x25 = 2017,
月:0x5 = 5,
日:0x1= 1,
所以,最后访问日期为2017年5月1日。
00 00:
起始簇高16位。
0F 8C:
也就是0x8C0F,换成2进制为1000 1100 0000 1111,表示的是最近修改时间。
时:0x11 = 17,
分:0x20 = 32,
秒:0xf x 2 = 30s,
所以最近修改时间为17:32:30。
A1 4A:
也就是0x4AA1,换成2进制为0100 1010 1010 0001,表示的是最近修改日期。
则日期为:
年:1980+0x25 = 2017,
月:0x5 = 5,
日:0x1= 1,
所以,最近修改日期为2017年5月1日。
03 00:
即0x0003,表示起始簇低16位,也就是说,起始簇高位与起始簇低位相或,得到0x00000003,起始簇为3。
10 00 00 00:
即0x00000010,表示文件数据长度,也就是16字节。
分析完a.txt,b.txt也一样分析即可。
从而可以得到的是,a.txt的内容位置在:(3-2)*16+24576 = 24592上。
后使用winhex进行验证,确认是正确的。
文件分配表(FAT),是FAT文件系统中用于磁盘数据索引和定位而引进的一种链式结构。在FAT文件系统中,文件的存储依照FAT表制定的簇链式数据结构来进行。同时,FAT文件系统将组织数据时使用的目录也抽象为文件,以简化对数据的管理。
如DBR所述,偏移0EH处存储了保留扇区的个数,而保留扇区数指的就是当前分区内DBR到FAT表之间的所有扇区的个数(包括DBR但不包括FAT表)。据此,可以定位FAT表所在的起始偏移位置了。
如DBR所述,偏移24H处存储了保留扇区的个数,知道FAT2是紧邻FAT1的。那么FAT2表的位置为:FAT1的起始偏移地址+FAT1的大小。
FAT表由一系列大小相等的FAT表项组成,它有如下特性:
在FAT32文件系统中,根目录的位置不再硬性地固定,可以存储在分区内可寻址的任意簇内,不过通常根目录是最早建立的(格式化就生成了)目录表。所以,我们看到的情况基本上都是根目录首簇紧邻FAT2,占簇区顺序上的第1个簇(即2号簇)。同时,FAT32文件系统将根目录当做普通的数据文件来看,所有没有了目录项数的限制,在需要的时候可以分配空簇,存储更多的目录项。
对于短文件名格式的目录项:
注意:*表示此字段在段文件目录项中,不可取值0FH。若取值为0FH,目录段为长文件名目录段。
0BH字段取值如下:
FAT32的一个重要的特点是完全支持长文件名。长文件名依然是记录在目录项中的。为了低版本的OS或程序能正确读取长文件名文件,系统自动为所有长文件名文件创建了一个对应的短文件名,使对应数据既可以用长文件名寻址,也可以用短文件名寻址。不支持长文件名的OS或程序会忽略它认为不合法的长文件名字段,而支持长文件名的OS或程序则会以长文件名为显式项来记录和编辑,并隐藏起短文件名。
长文件名的实现有赖于目录项第12字节属性字节,当此字节的值为0FH时,支持长文件名的系统会将其当做长文件名的依据,而只支持短文件名的系统会认为是异常而忽略掉。系统将长文件名以13个字符为单位进行切割,每一组占据一个目录项。所以可能一个文件需要多个目录项,这时长文件名的各个目录项按倒序排列在目录表中,以防与其他文件名混淆。
长文件名中的字符采用unicode形式编码,每个字符占据2字节的空间。其目录项定义如: