The*_*ser 53 memory ntfs metadata filesystems fat32
我把4096 个字符放在一个文本文件中并保存它。由于每个字符是 1 个字节,因此文本文件的大小必须是 4K 字节。如下所示,没关系:

我将闪存连接到计算机。闪存上的可用空间是1,717,518,336字节:

我在闪存中创建了该文件的副本。再看看空闲空间。它有1,717,514,240字节可用空间:

让我们看看有什么区别:
1,717,518,336 - 1,717,514,240 =4096字节
我的问题 :
问题 1:
如上图所示,文件在闪存上占用的唯一空间是其内容 [字符] 的空间。那么元数据文件在哪里?
我的意思是,当我将文件移动到另一台计算机时,它如何理解文件名、文件所有者、创建和修改日期以及......?
它不占任何大小吗?!
问题 2:
我可以看到闪存中的元数据文件吗?

感谢您的时间和考虑。
bja*_*sen 51
是的,元数据占用空间。在 NTFS 上,它占用 1024 字节,具体来说。但是,该信息并未存储在文件中,而是存储在主文件表 MFT 中。特别是在 MFT 记录 #4 中$AttrDef。
有关详细信息,请参阅此 Technet 文章:表 3.5 包含定义的所有 MFT 记录。
使用 NTFS 格式化卷时,会创建主文件表 (MFT) 文件和其他元数据。元数据是 NTFS 用来实现文件系统结构的文件。NTFS 为元数据文件保留 MFT 的前 16 条记录。
NTFS 为每个文件创建一个文件记录,并为在 NTFS 卷上创建的每个目录创建一个目录记录。MFT 包括 MFT 本身的单独文件记录。这些文件和目录记录存储在 MFT 上。文件的属性被写入 MFT 中分配的空间。除了文件属性之外,每个文件记录还包含有关文件记录在 MFT 中的位置的信息。
请注意,其他文件系统可以并且确实以不同的方式处理元数据。
编辑:评论部分已经指出,这个答案没有抓住重点,因为 OP 要求在 FAT32 文件系统上提供元数据,而不是 NTFS。如果我知道如何,我会删除“正确答案”属性。因此,我提供了其他信息来回答有关 FAT32 的问题。
FAT32 在文件或文件夹的父文件夹中的条目中保存简单元数据,例如每个文件和文件夹的可见性或修改时间,从 FS 的根文件夹向下创建树。正如关于 NTFS 所指出的,这不是一个文件,而是保存在文件夹数据结构中。该条目最初是 32 字节大,包含以下属性:
Name (8.3) xxxxxxxx.yyy. (88 bits)
Attribute byte (8 bits of information, described later in this section).
One reserved byte.
Create time (24 bits).
Create date (16 bits).
Last access date (16 bits).
Two reserved bytes.
Last modified time (16 bits).
Last modified date (16 bits).
Starting cluster number in the file allocation table (16 bits).
File size (32 bits).
Run Code Online (Sandbox Code Playgroud)
该列表取自这篇 Microsoft Technet 文章,与 FAT16 相关。由于 FAT32 的簇大小可以是 32 位并且文件名可以长于 8.3,因此该表并不完全准确。为了适应长文件名和更大的磁盘FAT32修改某些行为,可以在维基百科阅读了这里,但基本思路成立。
Red*_*ick 27
它不占任何大小吗?!
是的,但它是大型预分配块中的一个小条目。该块计入磁盘的“已使用”部分。在该块内添加条目不需要扩展该块。
根据文件系统的不同,在添加了大量文件名后,最终会以某种方式填充和扩展块。
我可以看到闪存中的元数据文件吗?
不容易
正如鲁斯兰和布洛格比尔德所说。您可以安装一个十六进制查看器,例如HxD,它允许您查看(和编辑 - 非常小心)原始文件系统数据。但是您必须自己解释哪些字节属于哪些文件系统结构。为此,您需要一些关于闪存盘上使用的特定文件系统的良好文档。FAT32 可能比 NTFS 的许多变体中的任何一个都更容易理解。例如,请参阅了解 FAT32 文件系统。
小智 7
元数据不作为文件存储(也不由通常的文件管理工具报告),它存储在磁盘上的文件系统数据中。
根据文件系统的性质/版本,每个条目将占用一定数量的磁盘空间来表示元数据信息。
此外,除了主文件表中分配的空间外,一些文件系统还会记录有关文件更改的日志(占用额外空间),一些文件系统甚至可以使用包含特殊用途元数据的额外字段进行扩展。
因此,技术上元数据会占用磁盘空间,但大多数文件管理实用程序都没有考虑到它,这些实用程序调用系统的 API 来查询文件系统的文件空间,而不是元数据空间。
而这种抽象只是冰山一角,因为文件系统本身工作在底层物理磁盘空间的抽象上,由低级磁盘例程提供,所以实际上只有磁盘的内部逻辑才能知道有多少实际内存位置可用于更高级别以及有多少被标记为不可靠、保留或用于校验和。
| 归档时间: |
|
| 查看次数: |
7859 次 |
| 最近记录: |