遍历fat32文件系统



我用Fat32格式化了一个拇指驱动器,并在根目录中放置了一个名为sampleFile.txt的文件,内容为"倾斜"。我在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

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

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

相关内容

  • 没有找到相关文章

最新更新