全面了解NTFS文件系统结构
ntfs详细介绍

上一页下一页2 Windows NT的文件系统1. 概述(1)NTFS为多级目录结构,支持文件别名(符号链接方式);(2)NTFS文件由多个文件属性构成,每个属性由属性名和属性流(stream, 简单字节队列)组成;用户可自定义属性;(3)NTFS支持用户权限管理:有5种权限划分:读、写、运行、删除和修改权限;支持按用户、用户组分配权限;(4)NTFS文件支持数据压缩功能;(5)NTFS卷结构支持容错功能.2. NTFS结构NTFS的结构以卷为单位,卷与磁盘分区相关;卷由一组文件和未分配空间组成.NTFS以簇为基本硬盘分配单位,簇的大小为物理扇区的整数倍,通常为2K倍。
NTFS卷上的所有数据(包括用于引导、定位、空间分配等文件系统管理数据)都以文件的形式保存.NTFS结构由一组元文件构成:(1)主文件表($MFT):文件记录数组,每个记录为1KB;每个文件对应一个或多个文件记录;(2)主文件表副本($MFTMirr):是主文件表中前几项的副本,用于在主文件表不能读取时的元文件定位;(3)卷结构日志($LogFile):记录所有影响NTFS卷结构的操作,用于系统失败后的卷恢复;(4)空间分配位图($Bitmap):标识卷中每个簇的分配状态,即:空闲和已被分配;(5)引导文件($Boot):引导程序代码;(6)坏簇文件($BadClus):记录卷中据有损坏位置;(7)卷文件($V olume):卷名、文件系统版本、卷状态(卷是否被损坏);(8)属性定义表($AttrDef):卷中支持的属性类型列表.文件引用号:在主文件表中每个文件记录有一个64位的文件引用号;它由文件号和顺序号组成,文件号(48位:47~0)是文件在主文件表中的位置序号,顺序号(16位:63~48)在每次重复使用该文件记录时加1;NTFS文件是属性的集合,通常所说的文件内容是指未命名数据属性流.例:我们定义两个数据属性:ntfile(数据)和ntfile:data(自定义数据)。
ntfs文件系统1

一,ntfs文件系统nt文件系的统主要特征是在引导记录了描述的。
这些文件系统从引导扇区的位置开始直至这些磁道加上卷(分区)里的磁道区域。
分区是由簇构成,而且只能是簇(512字节)的整数倍。
每个分区的开始地址是(逻辑)0簇。
任何(软件的磁盘)定位系统都是用簇而不是磁道号。
各种(磁盘)信息储存在文件分配表(MFT)里。
文件分配表的位置在引导扇区的“第一文件分配表”表项里给出。
文件分配表是一个数据库,包含了此分区的所有文件及目录的信息。
每一个表项是1024字节(fat32是4个字节,fat16是2个字节,fat12是1.5个字节)。
每一个表项记录一个文件或目录(包括文件分配表自己),并且有一个记录号等于文件分配表的位置除以1024。
文件分配表的表项由一个表头和表示文件或目录属性的列表组成。
这些属性描述了文件或目录的名称、时间、大小等。
主要的属性如下:10 Standard information: contains time stamps and DOS attributes,30 File name: contains the file's name for different name spaces (usually NT's native Unicode file name and DOS compatible DOS file name),80 Data: if the entry represents a file, this attribute contains the file's data.90 Index root: if the entry is a directory, this attribute describes the root of a binary tree in which the directory entries are located,A0 Index allocation: if the entry is a directory, this attribute contains a list of file names.这些属性表比1024字节大,意味着一些属性必须记录在文件分配表表项外。
了解计算机文件系统NTFSFAT和HFS的区别

了解计算机文件系统NTFSFAT和HFS的区别计算机文件系统是操作系统用来组织和管理计算机存储设备上的文件和目录的一种机制。
在不同的操作系统中,常见的文件系统有NTFS、FAT和HFS。
本文将就NTFS、FAT和HFS三种文件系统进行比较,以帮助大家更好地了解它们之间的区别。
一、NTFSNTFS(New Technology File System)是微软公司开发的一种高性能、可靠性和安全性较强的文件系统。
NTFS首次被引入Windows NT操作系统,并一直沿用至今。
1.1 文件系统结构NTFS采用了一种分层次的文件系统结构。
它包含了主引导记录(MBR)、分区表、文件记录、文件分配表等重要的组成部分。
而数据存储则是通过将文件分割成不同的簇来管理。
1.2 特点和功能NTFS具有许多先进的特点和功能,例如:- 安全性:NTFS支持访问控制列表(ACL)和文件加密,可以对文件和目录进行更细粒度的权限控制。
- 可靠性:NTFS采用了日志和冗余技术,使得文件系统更加稳定和可靠。
- 容量:NTFS最大支持16EB(1EB=1024PB)的存储容量,能够满足大容量存储的需求。
- 文件压缩和加密:NTFS支持文件压缩和加密,可以提高存储效率并保护敏感数据的安全性。
二、FATFAT(File Allocation Table)是一种较早的文件系统,最初是由微软开发的。
FAT文件系统广泛应用于早期的Windows操作系统和一些移动存储设备中。
2.1 文件系统结构FAT文件系统采用了一种比较简单的存储结构,它通过FAT表来管理文件和目录。
FAT表是一个记录簇号和下一个簇号之间对应关系的查找表。
2.2 特点和功能FAT文件系统具有以下特点和功能:- 简单易用:FAT文件系统结构简单,易于实现和维护。
- 兼容性好:FAT文件系统具有较好的兼容性,可以在不同操作系统之间进行文件共享和传输。
- 存储限制:FAT文件系统的文件大小限制为4GB,对于大容量存储设备来说可能不够满足需求。
NTFS文件系统

NTFS文件系统NTFS(New Technology File System,新技术文件系统),是以MFT(Master File Table,主文件表或主索引记录)为核心,将整个分区的系统文件和用户文件有机地组织起来的文件系统。
NTFS最基本的原则:·磁盘上任何对象包括目录都是一种文件,都使用文件记录进行管理。
·所有与文件相关的项目,包括数据都被认为是属性。
·属性分常驻(在记录中)和非常驻两种,非常驻的大文件夹使用B+树结构进行管理。
·簇是NTFS最小的基本单位,一个1字节的文件也要占用一簇的空间。
·流是NTFS最基本的存储单元,是文件属性和属性值的集合。
●MFT文件◇MFT的位置和作用:MFT文件和它的备份,位于NTFS分区中部,前后都是数据区,能更好地受到保护。
与FAT 系统先放文件分配表,后接数据区的做法不同。
XP系统的NTFS分区,大致布局如下图:分区所有的文件,其相关的文件信息都保存在MFT中。
小于1K的小文件(目录),其整个内容都保存在MFT中。
大于1K的大文件(目录),只有它的起始信息保存在MFT中。
在NTFS中,文件通过主文件表MFT定位。
MFT是组织、架构NTFS文件系统最主要的数据库文件,对NTFS分区的性能有着至关重要的影响。
◇ID编号(MFT Entry Value,文件号):分区中的所有文件和目录(包括MFT文件自身),都被系统ID编号(编号0为MFT文件),并将它们的各类属性、起始信息或全部内容,以文件记录的形式,保存在MFT中。
分区高级格式化成NTFS文件系统时,首先建立了一个主文件表MFT。
在MFT文件中,会预先建立16个重要的文件(MFT记录的ID编号固定为0-15)和8个保留文件(MFT记录的ID编号固定为16-23),这24个文件是被称为元文件(Metafiles)或元数据(metadata)的系统文件(具体内容见后面),供系统本身组织、架构文件系统使用。
NTFS文件系统结构分析

NTFS元文件 元文件
• • • • • • $MFT :中的第一个记录是$MFT自身。 $MFTMirr: 主文件表的部分镜像 $LogFile (日志文件),该文件是NTFS为实现可恢复性和安全性而设计。在系统失败时 能恢复NTFS卷。 $Volume(卷文件),它包含卷名、NTFS的版本和一个表明该磁盘是否损坏的标志位。 (NTFS系统以此决定是否需要调用Chkdsk程序来进行修复) $AttrDef:(属性定义表),其中存放着卷所支持的所有文件属性,并指出他们是否可以 被索引和恢复等。 $Root(跟目录),其中保存着该卷跟目录下的所有文件和目录的索引。
NTFS的元文件 的元文件
• NTFS系统中,文件按照簇进行分配,簇大小在格式化的时候由格式化 程序根据卷的大小自动进行分配。 • 文件通过主文件表MFT来确定文件在磁盘上的存储位置。主文件表是一 个对应的数据库,由一系列文件记录组成,卷中每个文件都有一个文件 记录。第一个文件记录称为基本文件记录,其中存储有其他扩展文件记 录的一些信息。文件表本身也有它自己的文件记录。 • MTF中的文件记录大小一般固定为1KB,文件记录在MFT文件记录数组 中物理上是连续的,从0开始编号。
• 1.容错性:NTFS可以自动地修复磁盘错误而不会显示出错信 息. • 2.安全性:NTFS有许多安全性能方面的选项,可以阻止没有授 权的用户访问文件. • 3.EFS提供对存储在NTFS分区的文件进行加密的功能 • 4.用户可以选择压缩单个文件整个文件夹. • 5.磁盘配额:就是管理员可以对本域中的每个用户所能使用 的磁盘空间进行定额限制,即每个用户只能使用最大定额范 围内的磁盘空间.
属性头
• 每个属性又分为属性头和属性内容两部分,属性头给出了该 属性的结构信息。 • 有的属性内容存储在记录项中(如文件名),称为常驻属性。 有的属性内容很大,需要在MFT外另外开辟空间存储(如 文件数据),则称为非常驻属性。 • 有的属性在属性头之后列出了属性名,而有的则没有。
解析ntfs底层结构

解析ntfs底层结构Ntfs是我们经常用的文件系统,不仅在Windows分区中起到了很大的作用。
还在我们经常使用的U盘上也平凡出现,那么我们了解经常使用的ntfs吗?小编就来带大家解析ntfs底层结构。
一、NTFS系统结构NTFS是Windows NT引入的新型文件系统,如果您是一位熟悉FAT磁盘格式的专业人士,可能会觉得NTFS文件系统的思想蹩脚而晦涩,如果您对FAT格式一无所知,那么恭喜您,您会更快的了解这种更有效率的磁盘格式。
NTFS的结构复杂,内容繁多,小编仅对NTFS卷上的底层结构做分析,并提供卷上数据删除的特征状态供大家参考。
现在,我们首先来建立了解NTFS需要的基本数据结构概念。
图一:ntfs1、NTFS的基本数据结构NTFS的数据大体上可分为4个部分(1) Partition boot sector(引导扇区,又称BPB),此部分为所有磁盘格式都共有,占用一个扇区,但是具体的内容当然各不相同(见表3)。
(2) Master File Table(主文件列表,MFT),它是对卷上所有文件的记录,每一个文件对应一个记录项,理论上占用该卷12%的空间。
(3) System files(系统文件),NTFS系统一共有16个系统文件,和8个保留文件。
(4) File area(数据区),留给用户的空间。
Ntfs说起来很复杂,用起来很简单。
我们常常会与其相遇,但都视而不见,以至于mac系统都对它视若无睹。
这是ntfs的悲伤,也是mac的绝情。
mac系统对ntfs格式的磁盘只可以读不可以写入,所以小伙伴们要是心疼ntfs,一直用自己强大的功能默默付出,去无人问津。
就在自己的mac电脑上下载软件ntfs for mac。
帮助ntfs走进mac的心里。
全面了解NTFS文件系统结构

解读NTFSNTFS是一个比FAT复杂的多的文件系统,我们一起努力来把它完整的解读出来NTFS的引导扇区也是完成引导和定义分区参数,和FAT分区不同,FAT分区的B OOT记录正常,就显示分区没有错误,即使文件不正确,而NTFS分区的BOOT不是分区的充分条件,它要求必须MFT中的系统记录如$MFT等正常该分区才能正常访问。
其BPB参数如下表所示。
字节偏移长度常用值意义0x0B 字 0x0002 每扇区字节数0x0D 字节 0x08 每簇扇区数0x0E 字 0x0000 保留扇区0x10 3字节 0x000000 总为00x13 字 0x0000 NTFS未使用,为00x15 字节 0xF8 介质描述0x16 字 0x0000 总为00x18 字 0x3F00 每磁盘扇区数0x1A 字 0xFF00 磁头数0x1C 双字 0x3F000000 隐含扇区0x20 双字 0x00000000 NTFS未使用,为00x28 8字节 0x4AF57F0000000000 扇区总数0x30 8字节 0x0400000000000000 $MFT的逻辑簇号0x38 8字节 0x54FF070000000000 $MFTMirr的逻辑簇号0x40 双字 0xF6000000 每MFT记录簇数0x44 双字 0x01000000 每索引簇数0x48 8字节 0x14A51B74C91B741C 卷标0x50 双字 0x00000000 检验和MFT中的文件记录大小一般是固定的,不管簇的大小是多少,均为1KB。
文件记录在MFT文件记录数组中物理上是连续的,且从0开始编号,所以,NTFS是预定义文件系统。
MFT仅供系统本身组织、架构文件系统使用,这在NTFS中称为元数据(metadata,是存储在卷上支持文件系统格式管理的数据。
它不能被应用程序访问,只能为系统提供服务)。
其中最基本的前16个记录是操作系统使用的非常重要的元数据文件。
6 NTFS文件系统

文件记录
NTFS文件是属性的集合,通常所说的文件内容是指未命名 数据属性流 例:我们定义两个数据属性:ntfile(数据)和ntfile:data(自 定义数据)。在向FAT复制时,自定义属性会丢失
echo test....data >ntfile echo er defined data >ntfile:data more <ntfile more <ntfile:data copy ntfile e:ntfile (E:为NTFS文件系统) copy ntfile c:ntfile (C:为FAT文件系统) more <e:ntfile more <e:ntfile:data more <c:ntfile more <c:ntfile:data
NTFS可恢复性
日志文件服务:一组NTFS驱动程序内的核心态程序 日志记录
更新记录 检查点记录
恢复过程
维护两张表:事务表和脏页表 日志文件进行三次扫描
分析扫描 重做扫描 撤销扫描
NTFS坏簇恢复支持
8. NTFS安全性
NTFS文件加密系统结构
加密文件系统(EFS)可将加密的NTFS文件存 储在磁盘上 EFS使用基于RSA的公共密钥算法进行加密
索引分配
位图
索引缓冲区
文件1 文件2
文件4 文件5 文件6
NTFS目录组织与索引
索引根属性将相应目录中的文件名和子目录名 进行排序 索引分配属性包含了索引缓冲区的VCN到LCN 映射 位图属性跟踪在索引缓冲区中哪些VCN是在使 用而哪些是空闲的
标准信息 文件名 “ \” 索引根 文件4 文件9 文 件 14 其 他 文 件 索引分配 VCN到 LCN转 换 位图 ...
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
解读NTFS
NTFS是一个比FAT复杂的多的文件系统,我们一起努力来把它完整的解读出来
NTFS的引导扇区也是完成引导和定义分区参数,和FAT分区不同,FAT分区的B OOT记录正常,就显示分区没有错误,即使文件不正确,而NTFS分区的BOOT不是分区的充分条件,它要求必须MFT中的系统记录如$MFT等正常该分区才能正常访问。
其BPB参数如下表所示。
字节偏移长度常用值意义
0x0B 字 0x0002 每扇区字节数
0x0D 字节 0x08 每簇扇区数
0x0E 字 0x0000 保留扇区
0x10 3字节 0x000000 总为0
0x13 字 0x0000 NTFS未使用,为0
0x15 字节 0xF8 介质描述
0x16 字 0x0000 总为0
0x18 字 0x3F00 每磁盘扇区数
0x1A 字 0xFF00 磁头数
0x1C 双字 0x3F000000 隐含扇区
0x20 双字 0x00000000 NTFS未使用,为0
0x28 8字节 0x4AF57F0000000000 扇区总数
0x30 8字节 0x0 $MFT的逻辑簇号
0x38 8字节 0x54FF0000 $MFTMirr的逻辑簇号
0x40 双字 0xF6000000 每MFT记录簇数
0x44 双字 0x01000000 每索引簇数
0x48 8字节 0x14A51B74C91B741C 卷标
0x50 双字 0x00000000 检验和
MFT中的文件记录大小一般是固定的,不管簇的大小是多少,均为1KB。
文件记录在MFT文件记录数组中物理上是连续的,且从0开始编号,所以,NTFS是预定义文件系统。
MFT仅供系统本身组织、架构文件系统使用,这在NTFS中称为
元数据(metadata,是存储在卷上支持文件系统格式管理的数据。
它不能被应用程序访问,只能为系统提供服务)。
其中最基本的前16个记录是操作系统使用的非常重要的元数据文件。
这些元数据文件的名字都以“$”开始,所以是隐藏文件,在Windows 2000/XP中不能使用dir命令(甚至加上/ah参数)像普通文件一样列出。
在WINHEX中带有NFI.EXE,用此工具可以显示这些记录与文件的对应关系。
这些元数据文件是系统驱动程序管理卷所必需的,Windows 2000/XP给每个分区赋予一个盘符并不表示该分区包含有Windows 2000/XP可以识别的文件系统格式。
如果主文件表损坏,那么该分区在Windows 2000/XP下是无法读取的。
为了使该分区能够在Windows 2000/XP下能被识别,就必须首先建立Window
s 2000/XP可以识别的文件系统格式即主文件表,这个过程可通过高级格式化该分区来完成。
Windows以簇号来定位文件在磁盘上的存储位置,在FAT格式的文件系统中,有关簇号的指针包含在FAT表中,在NTFS中,有关簇号的指针则包含在$MFT及$MFTMirr文件中。
NTFS使用逻辑簇号(Logical Cluster Number,LCN)和虚拟簇号(Virtual C luster Number,VCN)来对簇进行定位。
LCN是对整个卷中所有的簇从头到尾所进行的简单编号。
用卷因子乘以LCN,NTFS就能够得到卷上的物理字节偏移量,从而得到物理磁盘地址。
VCN则是对属于特定文件的簇从头到尾进行编号,以便于引用文件中的数据。
VCN可以映射成LCN,而不必要求在物理上连续。
在NTFS卷上,跟随在BPB后的数据字段形成一个扩展BPB。
这些字段中的数据使得 Ntld r能够在启动过程中找到主文件表MFT(Master File Tabl )。
在NTFS卷上,MFT并不象在FAT 16卷和FAT 32卷上一样,被放在一个预定义的扇区中。
由于这个原因,如果在MTF
的正常位置中有坏扇区的话,就可以把MFT移到别的位置。
但是,如果该数据被破坏,就找不到MFT的位置,Windows 2000假设该卷没有被格式化。
因此,如果一个ntfs的卷提示未格式化,可能并未破坏MFT,依据BPB的各字段的意思是可以重建BPB的。
NTFS的缺省簇的大小
卷大小每簇的扇区缺省的簇大小
小于等于512MB 1 512字节
513MB~1024MB(1GB) 2 1024字节(1KB)
1025MB~2048MB(2GB) 4 2048字节(2KB)
大于等于2049MB 8 4KB
从上面可以看出,也就是说不管驱动器多大 NTFS 簇的大小不会超过 4KB
NTFS文档:文档属性定义
每个文档属性都由以下部分组成:
一个由该属性的实际值组成的被称为“流”的重要的字节序列,元数据可访问该流。
文件中的每个文件属性都可能会有一个名字:在这种情况下,在命令行方式下可以通过语法“文件名:属性名”来访问该流(这也是文件名中不能使用“:”的原因)。
Windows NT® 使用以下在元数据文件$AttrDef中预定义的文件属性列表(一般会有一个未命名流,为缺省流,未命名流只能有一个,而命名流可以有多个,NTFS支持多流文件):
10 $STANDARD_INFORMATION (标准信息)
20 $ATTRIBUTE_LIST (属性列表)
30 $FILE_NAME (文件名)
40 $VOLUME_VERSION (卷版本)
50 $SECURITY_DEscriptOR (安全描述符)
60 $VOLUME_NAME (卷名)
70 $VOLUME_INFORMATION (卷信息)
80 $DATA (数据)
90 $INDEX_ROOT (索引根)
A0 $INDEX_ALLOCATION (索引分配)
B0 $BITMAP (位图)
C0 $SYMBOLIC_LINK(符号链接)
D0 $EA_INFORMATION (?信息)
E0 $EA
属性流结构
每个文件属性都分为两部分:尽管这两部分属性在文件记录的属性列表中以倒序方式进行记录,但是为了更好的理解它,让我们按下面的顺序进行介绍:
内容部分:
它的结构总是以属性名开始(N字节长),在属性名之后定义该属性是否为常驻属性。
当文。