Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > NTFS(NT文件系统)简介
【标  题】:NTFS(NT文件系统)简介
【关键字】:NTFS,NT
【来  源】:http://blog.csdn.net/killerzhu/archive/2006/06/07/777884.aspx

NTFS(NT文件系统)简介

Your Ad Here


         NTFS
被设计成比FAT文件系统具有更好的性能、可靠性和通用性,它不仅可以完成标准的文件读写、搜索等功能,还能提供文件系统恢复、容错,以及数据访问控制等高级功能。

将一个分区格式化为NTFS格式会自动创建若干系统文件,以及一个主文件表(MFT,包含该分区上所有文件和目录的信息),并且会在分区的起始部分创建一个分区启动扇区(从第0号扇区开始,最多可有16个扇区)。如图:

一、分区启动扇区(partition boot sector

当分区被格式化成NTFS格式时,程序会自动将分区最初的扇区作为启动扇区。注意,该部分是NTFS的核心,所有访问均依赖该扇区的描述,损坏会造成该分区的无法正常使用。其格式如下:

偏移量

域长(字节)

描述

0x00

3

跳转指令

0x03

8

OEM ID

0x0B

25

BPB

0x24

48

扩展BPB(用于在启动时定位MFT

0x54

426

Bootstrap Code

0x01FE

2

扇区结束标识

以下是BPB和扩展BPB域的格式:

偏移量

域长(字节)

描述

0x0B

2

每扇区字节数

0x0D

1

每簇扇区数

0x0E

2

保留扇区

0x10

3

0

0x13

2

未被NTFS使用

0x15

1

媒介描述符

0x16

2

0

0x18

2

每磁道扇区数

0x1A

2

磁头数

0x1C

2

隐藏扇区

0x20

4

未被NTFS使用

0x24

4

未被NTFS使用

0x28

8

该分区扇区数

0x30

8

$MFT文件的逻辑簇数

0x38

8

$MFTMirr文件的逻辑簇数

0x40

4

每文件记录段簇数

0x44

4

每索引块簇数

0x48

8

分区逻辑序列号

0x50

4

校验和

二、主文件表(master file table

NTFS分区上的所有文件都是由在MFT中的一条记录来表示的。其中,前16条记录是NTFS保留用于存放特殊信息(系统文件),从第17条记录开始记录分区上所有文件和目录的信息。MTF记录的结构如下:



MFT为每条文件记录分配一定的空间,其中记录有文件的属性等信息。小型文件和小型目录(通常指小于1500字节的)可以被完全的放入到MFT记录中,从而可以加快访问速度;大型目录被组织成B-树的结构,存放在MFT外部。

MFT中存储的16条系统文件记录信息如下:

文件名

MFT记录号

描述

$Mft

0

包含分区上所有文件和记录信息的目录

$MftMirr

1

MFT上前4项记录的镜像

$LogFile

2

包含所有操作的信息(用于恢复),最大可为4MB

$Volume

3

包含分区信息

$AttrDef

4

包含属性的名称、标识符和描述等

$

5

根目录

$Bitmap

6

记录被使用的簇

$Boot

7

BPB结合使用,加载启动代码

$BadClus

8

分区中的坏簇

$Secure

9

所有文件的安全描述符

$Upcase

10

将小写字符转为Unicode大写字符

$Extend

11

用于各种可选扩展


12–15

保留为将来使用

三、文件属性

NTFS将每个文件都看成是属性的集合,其中,所有可以在MFT中表示的称为resident信息,否则称为nonresident信息。目前,NTFS已经定义的标准文件属性包括:标准信息属性列表(列出所有无法在MFT中表示的属性的位置)、文件名(最长可达255Unicode字符)、安全描述符(文件的所有者及可以访问文件的用户)、数据(可有一个未命名的数据属性与多个已命名的数据属性)、标识符(分区唯一的文件标识,用于Distributed Link Tracking Service不是所有文件都要有标识符)、日志工具流(用于EFS,将操作记录到日志文件)、Reparse Point(用于分卷加载点)、索引根(用于实现目录和其他索引)、索引分配(用于实现目录和其他索引)、位图(用于实现目录和其他索引)、分卷信息(仅在$Volume文件中被使用,包含分卷版本)、分卷名(仅在$Volume文件中被使用,包含卷标号)。

四、多数据流

NTFS支持多数据流,其中流名是该文件的一个新数据属性。每个数据流都可以通过一个句柄来标识,这样就可以将一个数据流视为一个独立的文件属性的集合。数据流有独立的文件锁和大小等,但具有通用的访问许可。这项属性使得数据可以被作为一个单独的单位进行操作,即一个文件可以被多个应用程序同时使用。

注意:当从NTFS将文件拷贝到FAT上时,数据流和其他不被FAT支持的属性将会被丢失。

五、压缩文件

NTFS上使用NTFS压缩功能进行压缩的文件可以被任何基于Windows的应用程序使用,而不用首先对其显示解压,而在结束使用时又会自动将其压缩。所有NTFS上的文件都会有一个属性来标识其是否被压缩。

六、加密文件系统(EFS

加密文件系统(EFS)来在NTFS分区上存放加密的文件,保护敏感文件不被非法访问。类似于压缩文件系统,EFS对用户来说是透明的,会自动加、解密文件和文件夹。相比第三方加密软件而言,EFS有如下优点:

1、对用户和应用程序透明。

2、具有强壮的密钥。

3、所以加、解密的过程都在内核中进行,从而密钥不会暴露在页面文件中。

4EFS提供了一个数据还原的机制。

C#屏蔽Alt+F4:【上一篇】
ASP.NET中如何实现同一时间只有一人能够修改系统数据:【下一篇】
【相关评论】
没有相关评论
【发表评论】
姓名:
邮件:
随机码*
评论*
      
|  首 页  |  版权声明  |  联系我们   |  网站地图  |
CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.