NTFS文件系统规范.doc
硬件白皮书
NTFS文件系统规范
关键字:Windows NT NTFS 文件系统
NTFS作为Microsoft Windows NT?操作系统的标配文件系统克服了FAT/FAT32文件系统的大量缺点;同时又随着Microsoft Windows 2000?、Microsoft Windows XP操作系统的推广得到越来越广泛的应用。
和FAT/FAT32文件系统相比,NTFS文件系统主要有以下优点。
?支持大容量存储单元(最大支持GB)
?内建数据压缩支持
?支持事务日志文件
?加强数据安全
目录
目录1
基本数据类型3
MFT文件记录3
更新序列号3
虚拟簇号4
逻辑簇号4
数据流描述4
文件属性记录6
属性记录头6
STANDARD_INFORMATION (0x10 常驻属性 len=0x30,0x48)8
ATTRIBUTE_LIST (0x20 len > 26)9
FILE_NAME (0x30 常驻属性 len = 68~578))9
VOLUME_VERSION (0x40 NT)11
OBJECT_ID (0x40 2K)11
SECRUITY_DESCRIPTOR (0x50 )11
VOLUME_NAME (0x60)12
VOLUME_INFORMATION (0x70 len = 0x0c )12
DATA (0x80)12
INDEX_ROOT (0x90)13
索引块头(16 bytes)13
索引项(目录项)13
INDEX_ALLOCATION (0xA0大目录使用)14
IA索引块(INDEX_ALLOCATION指向的外部索引区)14
BITMAP (0xB0 MFT文件或外部索引块使用)15
SYMBOL_LINK (0xC0 NT)15
REPARSE_POINT (0xC0 2K)15
EA_INFORMATION (0xD0 )16
EA (0xE0 )16
PROPERTY_SET (0xF0 NT)16
LOGGED_UNTILITY_STREAM (0x100 2K)16
系统文件16
$MFT18
未命名数据流格式18
$MFTMirr18
未命名数据流格式18
$LogFile18
$Volume19
未命名数据流格式19
$AttrDef19
未命名数据流格式19
整理规则19
$AttrDef Flags20
. (Root Directory)20
$MountMgrDatabase 数据流20
$Bitmap20
$Boot20
引导扇区与BPB21
$BadClus22
$Secure22
$SDS 数据流23
$SDH Index23
$SII Index23
$UpCase24
未命名数据流格式24
$Extend24
$ObjId24
$ObjId:$O24
$Quota25
$Quota:$O25
$Quota:$Q25
$Quota flags26
$Reparse26
$Reparse:$R26
$UsnJrnl27
$UsnJrnl:$J27
$UsnJrnl reason flags27
$UsnJrnl source info flags29
$UsnJrnl:$Max29
NTFS卷初始化29
分区结尾与备份主引导扇区30
目录结构30
基本数据类型
MFT文件记录
文件记录是$MFT文件的基本组成部分,卷中的所有文件都由至少一个文件记录来描述,对于使用多个文件记录的文件,其第一个文件记录叫基本文件记录,其余的叫做扩展文件记录。
文件记录由记录头,数个文件属性和结束标志(0xFFFFFFFF)组成。
文件记录头格式:
名字偏移尺寸描述FR_Sign04记录签名:值为:‘ELIF’FR_USOff42更新序列号的偏移(M) (相对文件记录头)FR_USNSz62更新序列号个数+1(N)FR_LSN88日志文件序列号,该值在记录每次被修改时都会被改动FR_SN0x102重复使用 更新序列号(删除一次加1)FR_LnkCnt0x122目录中记录本文件的引用计数,该值只用于基本文件记录FR_USAOff0x142第一个属性数据的偏移FR_Flags0x162标志,该成员可以是以下各值中之一
0x0001记录被使用
0x0002目录文件FR_Size0x184当前记录的尺寸FR_AllocSz0x1c4当前记录分配的空间的尺寸FR_