目录项(Directory Entries)
偏移量(offset) |
长度(length) |
描述(description) |
格式(format) |
注释(comments) |
00H |
8字节(8 bytes) |
文件名(filename) |
ASCII码,但如果第一个字节是以下代码则是条件代码:(ASCII chars,or special code if first char:)
00H=名字不曾被使用(name never used)
05H=第一个字节是E5H(first character or name is realy E5H)
E5H=文件被使用过但已被删除。(file was used,but has been erased)
2EH=登入的是一个目录(entry is a directory) |
必须用空格添满(must be padded with spaces to fill field) |
08H |
3字节(3bytes) |
扩展名[file type(extension)] |
ASCII码字符(ASCII chars) |
必须用空格添满(must be padded with spaces to fill field) |
0BH |
1字节(byte) |
文件属性(file attribute) |
每位含义(bit codes):
bit0=只读(read-only)
bit1=隐藏(hidden)
bit2=系统(system)
bit3=卷标(volumn label)
bit4=目录(directory)
bit5=归档(archive)
bit6=备用(unused)
bit7=备用(unused) |
|
0CH |
10字节(10 bytes) |
保留(reserved) |
|
|
16H |
字(word) |
最后一次升级的时间(time file last updated) |
代码意义:(无符号16进制整数)时间=小时*2048+分钟*32+秒+2
[coded word:(unsigned 16 bit-bit integer) time=Hr*2048+Min*32+Sec+2] |
首先必须是有意义的字节(*:least significant byte first) |
18H |
字(word) |
最后一次升级的日期(date file last updated) |
代码意义:(无符号16进制整数)时间=(年份-1980)*512+月份*32+日
[coded word:(unsigned 16 bit-bit integer) time=(Yr-1980)*512+Mon*32+Day] |
首先必须是有意义的字节(*:least significant byte first) |
1AH |
字(word) |
开始簇的号码(starting cluster number) |
单字二进制整数(word binary integer*) |
|
1CH |
双字(dbl word) |
文件大小(file size) |
双字二进制整数(double word binary integer*) |
|
文件属性字节(File attribute byte)
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
当其值为“1”时表示(meaning if set to 1) |
当其值为“0”时表示(meaning if set to 0) |
|
|
|
|
|
|
|
v |
只读文件(read-only file) |
可读写文件(read/write file) |
|
|
|
|
|
|
v |
|
隐藏文件(hidden file) |
可见文件(visible file) |
|
|
|
|
|
v |
|
|
系统文件(system file) |
正常文件(regular file) |
|
|
|
|
v |
|
|
|
卷标(volumn name) |
正常文件(regular file) |
|
|
|
v |
|
|
|
|
目录名(directory name) |
正常文件(regular file) |
|
|
v |
|
|
|
|
|
文件最后一次备分后有变化(file changed since last backup) |
文件最后一次备分后无变化(file unchanged since last backup) |
这里最好结合DOS命令ATTRIB来看。
FAT16结构(FAT16 structure):
Entry |
范例(Example Value) |
用途(Use) |
0 |
FFF8 |
硬盘标示符字节(Disk ID byte) |
1 |
FFFF |
填充物(Filler) |
2 |
0003 |
簇的值解释(Cluster value):
0000 =未用的簇(unused cluster)
0002-ffff=下一簇的号码(next cluster number)
fff0-fff6=保留的簇 (reserved cluster)
fff7 =坏簇标记(cluster marked bad)
fff8-ffff=文件中最后的簇 last cluster in file |
3 |
0004 |
4 |
0005 |
5 |
FFFF |
6 |
0000 |
磁盘引导记录结构(BOOT record layout)
dos3.3 and dos4.0 磁盘引导记录结构(BOOT record layout)
偏移量(offset) |
长度(length) |
描述(description) |
DOS版本(DOS version) |
00 |
3字节(3 bytes) |
JMP to boot code |
|
03 |
8字节(8 bytes) |
OEM商的名称和版本(OEM name and version) |
|
0B |
1字(word) |
每一扇区包含的字节数(bytes per sector) |
|
0D |
1 字节(byte) |
每一簇包含的扇区数sectors per cluster(must be a power of 2) |
|
0E |
1字(word) |
保留扇区[reserved sectors(for Dir,FAT,etc.)] |
|
10 |
1字节(byte) |
文件分配表副本的数字(Number of copies of FAT) |
|
11 |
1字(word) |
根目录的目录最大数个数(Maximum number of root directory entries) |
|
13 |
1字(word) |
在逻辑影象里的扇区总数(Total number of sectors in logical image) |
|
15 |
1字节(byte) |
媒体描述字节(Media descriptor byte) |
|
16 |
1字(word) |
文件分配表的数字(number of sectors in FAT) |
|
18 |
1字(word) |
每条磁轨包含的扇区(number of sectors per track) |
|
1A |
1字(word) |
头部分的数字number of heads |
|
1C |
1字(word) |
隐藏扇区的数字(number of hidden sectors) |
|
1E |
1字(word) |
隐藏扇区的数字(HO number of hidden sectors) |
|
20 |
双字(dbl word) |
逻辑扇区的数字(number of logical sectors) |
|
DOS5.0磁盘引导记录结构 BOOT sector structrure
偏移量(offset) |
长度(length) |
描述(description) |
DOS版本(DOS version) |
1E |
双字(dbl word) |
隐藏部分的大小(number of hidden sectors) |
DOS 5.0 引导扇区格式(boot sector structure) |
22 |
双字(dbl word) |
| |