首页 > 编程知识 正文

u盘exfat格式转fat32,exfat格式化fat32

时间:2023-05-03 09:17:07 阅读:112441 作者:602

1.FAT16 FAT16根据其特点和作用可分为MBR区、DBR区、FAT区、DIR区和DATA区5个部分。 让我分别介绍一下:

(1) MBR区域(主引导扇区) )。

MBR(mainbootrecord )字面上主要读取记录区域,位于整个硬盘的0柱面0磁头1扇区中。 然而,在总共512字节的主引导扇区中,MBR仅使用其中的446字节(偏移0--偏移1BDH )和剩下的64字节(偏移1BEH--偏移1FDH )作为DPT )磁盘帕rtth

DPT总共有四个64字节,每个分区表条目有16字节,每个字节的含义如下:

偏移长度表示的含义

0字节分区状态:例如0--非活动分区

80--活动分区

1字节此分区的开头(HEAD )。

双字此分区的开始扇区和开始柱面

4字节此分区类型:例如82-- Linux本机分区

83-- Linux Swap分区

将此分区的末端(HEAD )设置为5字节

6字此分区的结束扇区和结束气缸

8双字此分区绝对开始分区

c将此分区的扇区数定为两个字符

现在,让我们举一个例子,更直观地理解主引导记录。

示例: 80010100 bfebffc 3f 00000007 e 86 bb00

其中,最前面的“80”是分区的激活标志,指示系统可以引导。 ' 01 01 00 '表示分区开头的头号为01,开头的扇区号为01,开头的气缸号为00; “0B”表示分区的系统类型为FAT32,其他比较常用的是04(fat16 )、07 (NTFS ); " FE BF FC "表示分区结束的头号为254,分区结束的扇区号为63,分区结束的柱面号为764; " 3F 00 00 00 "表示第一扇区相对扇区号为63; “7E 86 BB 00”表示总扇区数为12289622。

)2) DBR区域

DBR(dosbootrecord )是操作系统引导记录区域的含义。 这通常位于硬盘的0磁道1柱面1扇区中,是操作系统可以直接访问的第一个扇区,称为引导装载器和BPB(BIOSparameterblock )的分区参数记录引导程序的主要任务是在MBR传递系统控制权时,确定此分区和目录中的前两个文件是否为操作系统的引导文件。 例如,对于DOS,为Io.sys和Msdos.sys。 确认存在后,读入内存,将控制权传递给该文件。 BPB参数块记录了本分区的第一个扇区、结束扇区、文件存储格式、硬盘介质描述符、根大小、FAT数、分配单元的大小等重要参数。

)3) FAT区域

DBR后面是我们熟悉的文件分配表(fat )区域。

在说明文件分发表的概念之前,先谈谈集群(cluster )的概念吧。 如果文件占用磁盘空间,则基本单位是群集而不是字节。 群集的大小与磁盘的规格有关。 软盘通常每个群集一个扇区,而硬盘的每个群集的扇区数与硬盘的总容量大小有关。 可能是4、8、16、32、64……

正如我们已经知道的那样,同一文件中的数据并不一定完全存储在磁盘的连续区域中,它们通常像链条一样分成几个段进行存储。 这种存储方法称为文件的链存储。 硬盘上的文件经常执行创建、删除、扩展和缩短等操作。 这样做越多,磁盘上的文件就越可能碎片化。 每个段至少是一个群集。 然而,由于硬盘存储了段和段之间的连接信息,即FAT,所以操作系统在读取文件时总是能够正确地找到并正确地读取每个段的位置。 但是,这种以簇为单位的记忆法也有缺点。 这主要表现在空间的利用上。 每个文件中的最后一个群集可能有未完全使用的空间(称为尾群集空间)。 一般来说,如果文件数较多,则每个文件平均浪费一半集群的空间。

好了,言归正传吧。 为了实现文件的链式存储,必须在硬盘上准确记录哪个群集被文件使用。 此外,对于使用的每个群集,必须指定存储后续内容的下一个群集的群集号,并且对于文件中的最后一个群集,必须指定此群集没有后续群集。 所有这些都由FAT表保存,表中有许多表条目,每个条目都记录群集的信息。

FAT对文件管理很重要,因此有一个在原始FAT之后重建相同FAT的备份。 最初创建的FAT中的所有项目都显示为“未占用”,但如果磁盘存在局部损坏,格式化程序将检测到损坏的群集,将相应的项目标记为“故障群集”,并在以后保存文件时不再使用此群集FAT的条目数相当于硬盘上的总集群数,需要存储集群编号,因此每个条目消耗的字节数也必须与总集群数相对应。

FAT的格式有很多种,最常见和读者熟悉的是FAT16和FAT32。 其中,FAT16表示文件分配表使用了16位数字。 因为16位分配表最多可以管理65536个,即2的16次方个

簇,也就是所规定的一个硬盘分区。由于每个簇的存储空间最大只有32KB,所以在使用FAT16管理硬盘时,每个分区的最大存储容量只有(65536×32 KB)即2048MB,也就是我们常说的2G。

现在的硬盘容量是越来越大,由于FAT16对硬盘分区的容量限制,所以当硬盘容量超过2G之后,用户只能将硬盘划分成多个2G的分区后才能正常使用,为此微软公司从Windows 95 OSR2版本开始使用FAT32标准,即使用32位的文件分配表来管理硬盘文件,这样系统就能为文件分配多达4294967296(即2的32次方)个簇,所以在簇同样为32KB时每个分区容量最大为2的47次方bit,即128T,另外还有MBR的限制(最大为2T,参见下一节FAT32),但是不同的操作系统会做限制,比如限制为32G,128G等。

此外使用FAT32管理硬盘时,每个逻辑盘中的簇长度也比使用FAT16标准管理的同等容量逻辑盘小很多。由于文件存储在硬盘上占用的磁盘空间以簇为最小单位,所以某一文件即使只有几十个字节也必须占用整个簇,因此逻辑盘的簇单位容量越小越能合理利用存储空间。所以FAT32更适于大硬盘。

(4)DIR区(根目录区)
DIR(Directory)是根目录区,紧接着第二FAT表(即备份的FAT表)之后,记录着根目录下每个文件(目录)的起始单元,文件的属性等。定位文件位置时,操作系统根据DIR中的起始单元,结合FAT表就可以知道文件在硬盘中的具体位置和大小了。

(5)数据(DATA)区
数据区是真正意义上的数据存储的地方,位于DIR区之后,占据硬盘上的大部分数据空间。

 

FAT16(Windows):支持最大分区2GB,最大文件2GB。通过上面的FAT16的fat区的概念可以算出来

 

2.FAT32

FAT32是FAT16的升级版,也是由MBR区、DBR区、FAT区、DIR区和DATA区五部分组成,不过FAT区使用了32bit宽的簇地址,所以称为FAT32。但在微软件的文件系统中只使用了低28位。

FAT32(Windows):支持最大分区128GB,最大文件4GB。这是为什么呢?

首先说最大分区,按照FAT16的计算方法,FAT32支持最大2的32次方个簇,即使微软只是用低28位,也支持2的28次方个簇,以每簇32字节来算,也就是2的15次方bit,单分区最大为2的28次方乘以2的15次方,即2的43次方bit(8T).如果单分区最大为2的32次方乘以2的15次方,得到2的47次方bit(128T)。但是MBR区也有一个单分区的所能包含的最大的扇区数的限制,在MBR区中的每一个DPT项为16字节,表示每个分区的扇区数占4个字节(参见第一节FAT16的内容),则每个分区的最大扇区数就是2的32次方,每个扇区为512字节(即2的9次方bit),可知每个分区最大为2的32次方乘以2的9次方,得2的41次方bit(即2T)。所以FAT32采用MBR引导时最大支持的单分区大小为2T,要想突破2T就得使用GPT引导。MBR与GPT的区别请自行查阅。

2T只是理论上的值,不同的操作系统又会做限制,微软就会针对不同版本的操作系统限制为32G,128G等。

 

其次说说最大文件为什么是4G ?  按照FAT16的算法,即使微软做了限制,不是2T,也应该是32G或128G,那为什么是4G呢?

因为FAT32文件系统里,表示文件长度信息的内容是保存在一个4字节的数值里的,4字节二进制能表示的最大数就是4294967295,这个数正好是4GB-1字节。

下图是一个FAT32文件系统目录项的截图:

 

 

黄框表示文件名,红色框是文件尺寸,可以看到文件尺寸一共就4个字节,所以最多能表示的数字就是4GB-1,再大就变成0了。

 

机械硬盘的基本支持参见这篇文章 https://www.cnblogs.com/zoneofmine/p/6373468.html

关于FAT32格式详细内容可以参考这篇文章 https://blog.csdn.net/marcosun_sw/article/details/84586379 此文章我认为有诸多错误,可以批判的学习吸收

 

3.NTFS

NTFS是微软开发的一套私有文件系统,因为不开源所以资料很少,可以参考这篇文章进行学习http://www.360doc.com/content/15/1018/23/27952349_506612064.shtml

4.exFAT

exFAT(Extended File Allocation Table File System,扩展FAT,即扩展文件分配表)是Microsoft在Windows Embeded 5.0以上(包括Windows CE 5.0、6.0、Windows Mobile5、6、6.1)中引入的一种适合于闪存的文件系统,为了解决FAT32等不支持4G及其更大的文件而推出。对于闪存,NTFS文件系统不适合使用,exFAT更为适用。对于磁盘,NTFS文件系统更适合使用,exFAT不适用。

5.ReFS

ReFS(Resilient File System,弹性文件系统) 是在Windows Server 2012中新引入的一个文件系统。只能应用于存储数据,还不能引导系统,并且在移动媒介上也无法使用。

ReFS是与NTFS大部分兼容的,其主要目的 是为了保持较高的稳定性,可以自动验证数据是否损坏,并尽力恢复数据。如果和引入的Storage Spaces(存储空间)联合使用的话则可以提供更佳的数据防护。同时对于上亿级别的文件处理也有性能提升。

 

下面请看ReFS、exFAT、NTFS、FAT32分区的比较

分区格式

FAT32

NTFS

exFAT

ReFS

操作系统

Win 95 OSR2之后

Windows 2000之后

Windows CE 6/Vista SP1/Windows 7之后

Windows Server 2012之后

最小簇

512bytes

512bytes

512bytes

4096bytes

最大簇

64KB

64KB

32768KB

64KB同一目录最大文件数655354294967295279620218446744073709551615

最大单一文件

4GB(2^32-1bytes,4294967295bytes)

256TB(2^48-1bytes,281474976710655bytes)

16EB(2^64-1bytes,18446744073709551615bytes)

16EB(2^64-1bytes,18446744073709551615bytes)

最大格式化容量

2TB(但NT内核系统限制为32GB)

2TB~256TB(受MBR影响,GPT分区格式可以更大)

64ZB(理论值,目前支持到128PB)

1YB(2^80bytes)

档案数量

4194304

至少可以大于1000

 

tips:

FAT32(Windows):支持最大分区128GB,最大文件4GB。

NTFS(Windows):支持最大分区2TB,最大文件64GB。

FAT16(Windows):支持最大分区2GB,最大文件2GB。


HPFS(OS/2):支持最大分区2TB,最大文件2GB。


Ext3(LINUX) Filesystem:

Block 大小1KB2KB4KB最大单一档案大小16GB256GB2TB最大文件系统总容量2TB8TB16TB

JFS(AIX):支持最大分区4P(block size=4k),最大文件4P。

XFS(IRIX):这是个正经的64位的文件系统,可以支持9E(2的63次方)的分区。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。