哪个名称是正确的,exFAT 还是 FAT64?

ran*_*any 42 filesystems fat32 exfat

我进行了快速的谷歌搜索,发现有些人将 exFAT 称为 FAT64。

exFAT 只是 FAT64 的另一个名称吗?

Chr*_*ton 81

没有 FAT64 这样的东西,至少目前没有。有些人将 exFAT 称为 FAT64。

他们为什么这样做呢?文件分配表的历史相当复杂。如今,最常见的实现是FAT32(尽管这越来越不常见)和 ExFAT。FAT32 是对旧 FAT 文件系统的重大改进,允许卷大小高达 2TB(扇区大小为 512 字节)和 16 TB(扇区大小为 64KB)。对于 2016 年的大多数安装来说,这仍然足够大。不幸的是,最大的文件大小是(小于 1 个字节)4GB,现在已经很小了。

exFAT取消了这个 4 GB 的限制,允许文件很好地进入 PB 区域。与卷大小类似。它使用 64 位长度的字段来实现。由于 FAT32 使用 32 位长度的字段,exFAT 自然而然地获得了昵称,FAT64。

所以,是的。FAT64 和 exFAT 是一回事。exFAT 是正确的名称。

  • 但是大小一般不是指“长度字段”,而是指集群枚举的大小。那不是还是32位吗? (5认同)
  • @JDługosz 看起来像。[维基百科给出的限制为 2^32 - 11 个簇](https://en.wikipedia.org/wiki/ExFAT#cite_note-NB_Size_Volume-21) 这与 32 位簇数非常吻合。这与 FAT12(12 位簇号)、FAT16(16 位簇号)和 FAT32(32 位簇号)形成对比,其中常用名称中的数字直接映射到簇号的长度。我很确定在 FAT16 时代我有很多很多大于 2^16 字节的文件。 (3认同)

Rob*_*ich 25

Rany 大部分是正确的。但是 FAT 不是基于长度字段,而是基于索引值的大小。所以,对于软盘,你有 FAT12,其中 FAT 表中的每个单元格是 12 位,然后是 FAT16,然后是 FAT32,大小是 32 位,但只使用了 28 位。exFat 也使用 32 位单元条目,但使用所有 32 位,并允许2^32 个簇,最大簇大小为 32GiB,总文件系统约为 128PiB

文件系统之所以被称为 FAT64,是因为在不知道文件系统的结构的情况下,每个人都假设它是 FAT 从 32 到 64 的两倍,但事实并非如此。exFAT 的创建是为了解决许多问题。文件大小的 4GB 障碍是一个大问题,因为大量高质量高清视频开始播放,其中数小时的视频需要大量存储空间。尤其是运行高高清 (1080P) 和超高 (4K) 时,可以在 10-15 分钟内突破这一障碍。但文件系统也是为性能而构建的,尤其是视频录制。更高的写入速度,更少的开销。为此,FAT 更新较少,引入了位图,连续文件改进,预先分配的文件空间,以减少开销。由于 exFAT 文件系统的改进,exFAT 是 SDXC 存储卡的标准文件系统。

  • “日表”?这是打字错误还是什么? (4认同)
  • @JDługosz 床头柜的战斗机。 (4认同)
  • 你想要更多关于 exFAT 内部的污垢吗?http://www.sans.org/reading-room/whitepapers/forensics/reverse-engineering-microsoft-exfat-file-system-33274 (2认同)

Ro-*_*-ee 13

虽然借用exFAT的FAT的一些概念,存在很大的差异,所以声称的exFAT(基本上)FAT64是完全错误的。

在 FAT12 和 16 之间,仅更改了分配表的大小。FAT32 有一个更大的(每个条目 32 位)分配表,引入了一些新概念(根目录的可变地址、下一个空闲条目的快速查找表、冗余 BPB 等)。(请记住,VFAT,即长文件名等)与 FAT32 没有联系,因为它们只是对目录管理方式的(非常聪明的)黑客攻击)

在编写 exFAT 文件系统时,简单地使用 FAT32 驱动程序并再次扩展分配表将无济于事(仅仅是因为分配表仍然是 32 位宽),但是 exFAT 引入了一个卷位图来快速查找分配的扇区,使用分配表仅用于未存储在一个文件中的文件(否则它仅使用数据运行条目),并且具有完全不同的目录存储格式。


Mát*_*ász 6

是的,exFAT 是官方名称,FAT64 是其同义词。

  • 你有这方面的引文吗? (13认同)
  • 请注意,我坚信这个答案是正确的,并且是在我更深入的答案之前发布的。 (6认同)