1

我已经用 Fat32 格式化了一个拇指驱动器,并将一个文件放在名为 sampleFile.txt 的根目录中,内容为“oblique”。我在 Disk Investigator 中查看了驱动器,发现在 RootDirSector: 扇区 4096 以下

0040  53 41 4D 50 4C 45 7E 31   S A M P L E ~ 1    83  65  77  80  76  69 126  49
0048  54 58 54 20 00 36 81 5B   T X T   . 6 . [    84  88  84  32   0  54 129  91
0050  2E 45 2E 45 00 00 89 5B   . E . E . . . [    46  69  46  69   0   0 137  91
0058  2E 45 03 00 07 00 00 00   . E . . . . . .    46  69   3   0   7   0   0   0

如何找到文件实际数据所在的扇区簇的位置?以下是一些附加信息:

Logical drive: G
Size: 3 Gb (popularly 3 Gb)
Logical sectors: 3889016
Bytes per sector: 1024
Sectors per Cluster: 8
Cluster size: 8192
File system: FAT32
Number of copies of FAT: 2
Sectors per FAT: 1899
Start sector for FAT1: 298
Start sector for FAT2: 2197
Root DIR Sector: 4096
Root DIR Cluster: 2
2-nd Cluster Start Sector: 4096
Ending Cluster: 485616
Media Descriptor: 248
Root Entries: 0
Heads: 255
Hidden sectors: 0
Backup boot sector: 6
Reserved sectors: 298
FS Info sector: 1
Sectors per track: 63
File system version: 0
SerialVolumeID: 4A95395B
Volume Label: NO NAME
4

1 回答 1

2

“短文件名条目”包含文件的起始簇。因为测试文件很小,只需要一个集群磁盘空间。在这种情况下,一个 7 字节的字符串需要 8192 个字节。因此,FAT 无关紧要,因为文件不跨越多个簇。但是,您的文件条目不完整。FAT32 文件名条目的长度为 32 个字节。偏移量 1Ah 包含起始簇(2 字节长度)。如果偏移 14h(2 字节长度)包含一个值,则 1Ah 是起始簇的低字,14h 是高字。

我不确定,但我认为系统区域是按扇区计算的,数据区域是按集群计算的。数据区在 fat2 之后开始。不同寻常的是,您的磁盘的扇区大小为 1024 字节。

于 2015-01-29T14:17:23.770 回答