FAT32最大分区大小和胖表大小?

问题描述

我对fat32有两个疑问,

一个如果我想使用32KB块大小的fat32格式化分区,我认为我可以得到的最大分区大小是:

=ROW(index(sheet!A2:A,max(row(sheet!A2:A)*(sheet!A2:A<>""))))-1

但是为什么我看到他们列出它,因为每个参考中最大分区大小为2TB,而Windows将其限制为仅32 GB?!

第二个问题,如果我想知道内存中FAT表的大小(要知道内存消耗),并假设我使用32 GB分区大小和32 KB块大小,该如何计算?!

这是我所知道的,但不确定:

  • 首先,我必须知道条目数2^28 * 32 = 8TB
  • 第二,我必须找到32GB/32KB=1,048,576的表的大小 (或者我应该乘以28)

以上计算正确吗?!

致谢

解决方法

Microsoft“支持”的最大FAT32分区大小为32 GB。您可以将它们放大,但在某些情况下Windows会随意删除它们。我遇到了这种情况,对此感到不满意,所以我查了一下为什么,大概是2005年。

它们可能更大,但是如果驱动器可能连接到Windows,那是不安全的。使用NTFS / exfat或不使用Windows。 FAT32相对较新,我记得读过一些Microsoft文档,其中谈到了其好处,并给出了更大的理论上限。

除了某些实用程序之外,我不认为FAT通常会存储在内存中。如果您正在读取或写入文件,那么在准备好下一个扇区之前,不知道下一个扇区的偏移量并没有很大的优势。 FAT就像一个查询表。如果空间零散,它将变慢,将其保留在内存中可能会有所帮助。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...