NTFS文件系统规范(三)

系统文件

不同于FAT/FAT32分区固定的数据块布局,NTFS卷中所有的数据都以文件的方式保存,包括引导记录与目录等卷重要数据(在NTFS卷中重要数据块被称为系统文件),这样就允许将卷重要数据存放到卷中的任何地方(除了引导记录),并且对于所有重要数据都有一个标准的方法对其进行操作。这个特性使得任意改变卷尺寸十分方便(在卷位图文件后加上或减去增减的扇区信息就行了),而且也可以很容易地避免了FAT/FAT32卷中FAT表部分有物理损坏则卷中就会有很大部分空间使用的问题。 

对应于重要数据的种类,NTFS分区共有16个系统文件,他们分别是:

记录号
名字
OS
描述
0
$MFT
 
Master File Tab 主文件表。该文件记录了卷中所有的文件(包括$MFT自己)的描述信息,通过$MFT文件可以访问卷中的所有信息。$MFT文件由多个文件记录(FRS)组成。每个文件的描述信息占用一个或多个文件记录。对于每一个文件,$MFT用一套被称为属性(Attributes)的记录来保存其信息。$MFT中前12个文件信息分别记录了12个系统文件的信息,从12-23号记录保留,从24号记录起记录其他文件的信息。
1
$MFTMirr
 
Mirror of $MFT $MFT文件中前4个文件($MFT、$MFTMirr、$LogFile、$Volume)的描述的备份。本文件主要用于卷数据损坏时恢复卷。
2
$LogFile
 
卷事务的日志信息文件。
3
$Volume
 
卷基本信息,包括卷名,序列号等信息。
4
$AttrDef
 
属性定义,该文件定义了本卷中可用的属性类型。
5
.(Root Directory)
 
NTFS卷的根目录。
6
$Bitmap
 
记录卷中所有分配单元的使用情况。本文件中每一个Bit数据对应一个簇。
7
$Boot
 
引导记录,通过本文件的代码系统才能从NTFS卷中启动。本文件是NTFS卷中唯一一个位置固定的文件,必须置于卷的第一个扇区处。
8
$BadClus
 
记录卷中坏簇的信息,本文件是稀疏文件,只包含坏簇的信息。
9
$Qutoa
NT
 
9
$Secure
2K
记录卷中用到的安全描述符信息。
10
$UpCase
 
本记录Unicode编码下的所有字符的大写的代码,用于比较和排序文件名。
11
$Extend
2K
本文件是一个目录,扩展元数据目录,其中记录了卷中的对象的GUID及配额等信息。$ObjId, $Quota, $Reparse, $UsnJrnl
12
$Extend\$Reparse
2K
重解析点文件       11~15 标记为使用
13
$Extend\$UsnJrnl
2K
变更日志文件
14
$Extend\$Quota
2K
配额管理文件
15
$Extend\$ObjId
2K
对象ID文件
16~23
 
 
保留,                标记为未使用
>24
A File
 
一般文件
>24
A Dir
 
一般目录
 
 

文件至少含有$STANDARD_INFORMATION , $FILE_NAME属性 

$MFT 

在MFT 文件的属性记录集

Type
Description
Name
0x10
$STANDARD_INFORMATION
 
0x30
$FILE_NAME
$MFT
0x80
$DATA
[Unnamed]
0xB0
$BITMAP
[Unnamed]

 未命名数据流格式 

Inode
Filename
Description
0
$MFT
Master File Table -An index of every file
1
$MFTMirr
A backup copy of the first 4 records of the MFT
2
$LogFile
Transactional logging file
3
$Volume
Serial number, creation time, dirty flag
...
...
...
 
 
 该文件是$MFT文件的备份,存放了$MFT中前4个文件的文件记录。该文件的作用就是当$MFT文件被损坏时恢复卷中的数据。
 
 在MFT 文件的属性记录集
Type
Description
Name
0x10
$STANDARD_INFORMATION
 
0x30
$FILE_NAME
$MFTMirr
0x80
$DATA
[Unnamed]
 
 

Inode
Filename
Description
0
$MFT
Master File Table -An index of every file
1
$MFTMirr
A backup copy of the first 4 records of the MFT
2
$Logfile
Transactional logging file
3
$Volume
Serial number, creation time, dirty flag
4
...
If present, further FILE records from the MFT (see $MFT)

$LogFile  

在MFT 文件的属性记录集

Type
Description
Name
0x10
$STANDARD_INFORMATION
 
0x30
$FILE_NAME
$LogFile
0x80
$DATA
[Unnamed]
 
 
在MFT 文件的属性记录集

Type
Description
Name
0x10
$STANDARD_INFORMATION
 
0x30
$FILE_NAME
$Volume
0x50
$SECURITY_DESCRIPTOR
 
0x60
$VOLUME_NAME
 
0x70
$VOLUME_INFORMATION
 
0x80
$DATA
[Unnamed]

  未命名数据流格式

0 字节长

 
在MFT 文件的属性记录集

Type
Description
Name
0x10
$STANDARD_INFORMATION
 
0x30
$FILE_NAME
$AttrDef
0x50
$SECURITY_DESCRIPTOR
 
0x80
$DATA
[Unnamed]

  

Offset
Size
Description
0x00
128
Label in Unicode
0x80
4
Type
0x84
4
Display rule
0x88
4
Collation rule
0x8C
4
Flags
0x90
8
Minimum size
0x98
8
Maximum size

Flag
Description
0x00
Binary
0x01
Filename
0x02
Unicode String
0x10
Unsigned Long
0x11
SID
0x12
Security Hash
0x13
Multiple Unsigned Longs

 
 
本站域名:www.mrtlab.com | QQ交流群:250649022 | 使用条款 | 备案:鄂ICP备2020023514号
MRT数据恢复网,专业的硬盘固件维修与数据恢复技术资料提供站!
Copyright 2003-2020 Powered By MrtLab