NTFS文件系统初步

来源:互联网 发布:伊斯梅尔史密斯数据 编辑:程序博客网 时间:2024/05/17 01:46

作者:北京北亚数据恢复中心 文章来源:http://www.sjhf.net

 

NTFS文件系统的开发和设计,算得上微软的一大手笔。不管怎么讲,微软在计算机的普及上也是做出了巨大的贡献,虽然有些领域的人对微软的产品并不感冒,但不可否认的事实是,微软在产场开拓和运营方面的确是高手高手高高手,对于这一点,即便是那些对MS嗤之以鼻的人也不得不承认。。。恩?又跑偏了,我可不想当个跑偏的人。。。还是快点进入正题吧,下面我们来了解一下NTFS文件系统的相关结构。

正所谓洪湖水浪打浪,长江后浪推前浪。。。后几句大家都知道了。

NTFS是继FAT32之后出现的文件系统,在文件系统的管理理念上有很大提高,其中自己印象比较深刻的改变是将所有的数据(包括用户使用的普通文件,目录和管理文件系统本身的元数据等)都视为文件进行统一管理,在NTFS文件系统内,即便是DBR和$MFT也都一视同仁。当访问NTFS分区时,要先加载DBR,从DBR中获得总扇区大小,簇大小,$MFT和$MFTMIRR的位置等,在取得$MFT并进行检验后就可以从$MFT从遍历整个文件系统的目录文件,当然这其中也包括$MFT本身和DBR,这相当于一个循环,通过DBR找到$MFT,再由$MFT和第一个FILE项来确定$MFT的大小和分布,当然在整个$MFT前面的几十个FILE项是记录文件系统元数据的,这些元数据是用户通过常规途径完全无法访问的,所有元数据的文件名称均带有一个$前缀,当然这其中也有DBR的指向。对于整个分区的数据来讲,$MFT的重要性不可替代,如果没有它,那么差不多所有文件的文件名称,日期和存储位置将无从所知,一旦$MFT完全丢失或损坏,那么此分区内的所有数据将变成无序的状态。鉴于$MFT的重要性,所以文件系统中对$MFT的前几个(一般情况下均是4个)FILE项做了一个备份,名字叫$MFTMIRR,当两者中有一个出现损坏时,就会进行检验并做修复,当然此时的修复就会有两种截然不同的结果,一种是把错误的校验成正确的,数据一般没太大损坏,还有一种是把正确的校验成错误的,这就会造成比较大的数据的损失。机器嘛,毕竟没有比较明确的鉴别了,只能通过一定的算法来选择最优的,但事实证明,在很多情况下,它的校验都会导致数据丢失。

费了点儿力气,也只才讲了一些NTFS文件系统非常基础的东西,看来要学习的东东还是很多的啊,今天暂述这么多吧,其他相关内容稍后再做些更多的探讨。。。