我用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字节。