了解NTFS文件系统基本构造

Posted bcbobo21cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了了解NTFS文件系统基本构造相关的知识,希望对你有一定的参考价值。

一、Ntfs文件系统在磁盘上的分布
    一个ntfs文件系统由引导扇区、MFT(包含MFT元数据)和数据区组成。
   NTFS中存储了两份MFT备份以防MFT文件损坏,两个MFT备份的具体起始位置都存储在引导扇区中。

二、引导扇区($Boot)
    引导扇区是从NTFS文件系统的第一个扇区开始,以55 AA结尾。我们主要关注前88字节的信息,其中重要的就是“NTFS”标识、扇区大小、每簇扇区数、MFT起始簇以及MFT备份MFTMirr位置这些信息。我们可以根据MFT起始簇信息找到MFT,或者根据MFT备份MFTMirr位置找到MFT的另外一个MFT备份。

三、主文件表 (Master File Table, MFT)
    在NTFS中,整个卷的所有文件信息(包括MFT本身、数据文件、文件夹等等)都存储在MFT。每一个文件在 MFT 中都有一个或多个 MFT 项记录文件属性信息。而且每项大小是固定的(一般为1KB),MFT保留了前16项用于特殊文件记录,称为元数据。
可以根据MFT快速的找到文件的详细信息和具体位置等。

1、MFT项
一个MFT项包括MFT头和关于文件的4条属性,以FF FF FF FF结尾。

......

四、常见问题
(一)如何从NTFS文件系统中找到$MFT文件的起始和总大小
1、从引导扇区找到“MFT起始簇”或者”MFT备份MFTMirr位置“;
2、根据“MFT起始簇”或者”MFT备份MFTMirr位置“找到第一个MFT项(1KB),第一个MFT项就是$MFT的属性内容;
3、在第一个MFT项中找到80H属性,根据80H属性的属性结构找到文件起始和总大小;
4、上面3找到的就是MFT文件的起始和总大小了。

(二)MFT文件和MFTMirr文件的区别
MFT文件是对NTFS中全部MFT(卷上的所有文件,包括文件名、时间戳、流名和数据流所在的群集号列表、索引、安全标识符以及诸如“只读”、“压缩”、“加密”之类的文件属性)的存储,可以根据MFT文件快速的查找卷上的所有文件;而MFTMirr文件是对MFT文件中比较重要项的复制,一般是4KB。

以上是关于了解NTFS文件系统基本构造的主要内容,如果未能解决你的问题,请参考以下文章

什么是NTFS

以程序的方式操纵NTFS的文件权限

文件系统fsd hook 原理

ntfs格式是啥

NTFS 备用数据流

NTFS For Mac系统配置有什么要求