免费咨询电话:800-8199166
   
 
   
 
NTFS文件系统概述
NTFS-FILE
$MFT
$MFTMirr
$LogFile
$AttrDef
$Volume
$.(Root Directory)

NTFS-FILE

概述

  在 NTFS 卷使用“文件”来描述所有存储在它之上的数据。这些数据可分为两类: 元数据文件和常规文件。元数据文件包含了这个 NTFS 卷的相关信息,常规文件则包含用户数据。

卷的结构:
  下面是一个 Win2k 卷的文件列表

表项

文件名

操作系统

描述

0

$MFT

主文件表 – 卷上每一个文件的索引

1

$MFTMirr

MFT 表前四个表项(记录)的备份

2

$LogFile

事务日志文件

3

$Volume

序列号,创建时间, dirty flag ?

4

$AttrDef

属性定义

5

. (dot)

卷(分区)的根目录

6

$Bitmap

包含卷的簇图(已经使用的和空闲的)

7

$Boot

卷的引导记录

8

$BadClus

列出在卷上的坏簇

9

$Quota

NT

配额信息

9

$Secure

2K

卷所用的安全描述符

10

$UpCase

校对用大写字母表

11

$Extend

2K

一个目录,包含 $ObjId, $Quota, $Reparse, $UsnJrnl

12-15

<Unused>

标为已使用但是空的

16-23

<Unused>

标为未使用

Any

$ObjId

2K

分配给每一个文件的唯一标识( ID )

Any

$Quota

2K

配额信息

Any

$Reparse

2K

再分解点信息

Any

$UsnJrnl

2K

加密日志

> 24

A_File

一个普通文件

> 24

A_Dir

一个普通目录

...

...

...

注意:

  未用的表项

  在一个刚格式化的卷上,从 0x0B 到 0x0F 的表项被标为已使用用,但实际上是空的。从 0x10 到 0x17 表项被标为空闲,没有被占用。只有这个卷在重负荷下运行时这种情况才会改变。

  当 $MFT 文件有很多碎片而无法放进一个文件记录时则需要一个扩展记录。如果此新记录被简单地分配在这个 $MFT 文件尾时就会出现问题,为什么呢?因为描述这个新记录位置的 $DATA 属性本身就在这个新记录里面。因此这个新记录就会从 0X0F 表项往后分配。因为 $MFT 文件最少占 16 个文件记录,所以一直存在。如果从 0X 0F 到 0X17 表项也被用完,那么更后面的,未作保留的表项将会被占用。

  这个结果也许不会限制到 $MFT 文件,但是我们需要更多证明。

其它信息:

  由于某些原因, $ObjId, $Quota, $Reparse and $UsnJrnl 表项序号不在 24 以下,这一点它们跟其它的元数据文件不一样。还有,每一个系统文件的序号总是等于它们的 MFT 表项序号,从不更改。


  感谢:特别感谢开放源代码项目 Linux-NTFS Project 众多的 Linux 爱好者们,正因为他们多年来的不懈努力才使得 NTFS 文件系统的面纱被慢慢的揭开,并且通过开放源代码的威力让更多的编程爱好者在本文档的基础上编写了丰富的开源数据恢复及系统恢复等灾难拯救项目,你可以通过以下网址访问本项目位于 sourceforge.net 的原英文站点(http://linux-ntfs.sourceforge.net)
此版中文译本翻译、校正、注释并首发于补天时代 http://www.iqwork.com


Copyright © 2004 上海明珠数据恢复中心, All Rights Reserved. Map
  上海数据恢复中心
地址:上海市恒丰路120号 一天下大厦14C02室
电话:021-61103752 021-28502580
电邮:webmaster@by-and-by.com
北京数据恢复中心
地址:北三环北太平桥东南角 有研大厦B座215室
电话:010-51652340 010-62055476
电邮:help@butianshi.com