NTFS底层结构.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NTFS底层结构

一、NTFS系统结构 NTFS是Windows NT引入的新型文件系统,如果您是一位熟悉FAT磁盘格式的专业人士,您可能会觉得NTFS系统的思想蹩脚而晦涩,如果您对FAT格式一无所知,那么恭喜您,您会更快的了解这种更有效率的磁盘格式。 NTFS的结构复杂,内容繁多,笔者仅对NTFS卷上的底层结构做分析,并提供卷上数据删除的特征状态供大家参考。 ??? 现在,我们首先来建立了解NTFS需要的基本概念。 1.0基本结构及基本概念 在NTFS中,文件以簇的形式分配。最小的单位为扇区,N个扇区为一簇。其中,N的值可以通过BPB(引导扇区)读出(以下会详细介绍)。 1.0.1卷与簇 ? 表1? 卷与簇的关系 卷大小(分区大小) 每簇的扇区 缺省的簇大小 小于等于512MB 1 512字节 513MB~1024MB(1GB) 2 1024字节(1KB)?? 1025MB~2048MB(2GB) 4 2048字节(2KB)??? 大于等于2049MB? 8 4KB? 4表1? 卷与簇的关系 从上面可以看出,也就是说不管驱动器多大NTFS簇的大小不会超过4KB。 1.0.2?NTFS的基本数据结构 NTFS的数据大体上可分为4个部分 (1)?Partition boot sector(引导扇区,又称BPB),此部分为所有磁盘格式都共有,占用一个扇区,但是具体的内容当然各不相同(见表3)。 (2)?Master File Table(主文件列表,MFT),它是对卷上所有文件的记录,每一个文件对应一个记录项,理论上占用该卷12%的空间。 (3)?System files(系统文件),NTFS系统一共有16个系统文件,和8个保留文件。 (4)?File area(数据区),留给用户的空间。 ? Partition boot sector 引导扇区?Master File Table 主文件列表?System files 系统文件?File area 用户文件区(数据区)? 表2? NTFS的磁盘分配情况 1.0.3 NTFS中关于目录的说明 NTFS中目录也是以文件的形式存在的。因此,每一个目录也可以看作一个文件。如果您熟悉FAT,那么此时您可能会觉得很别扭,因为在FAT中,文件是以目录-文件的树型结构联系起来的。但是,您必须相信的是,NTFS将会提供比搜索树更快的读写方式。 1.1 引导扇区 ? 字节偏移?长度(字节)?常用值?意义??? 0X00?3?0XEB5290?JMP指令??? 0X03?4?NTFS?文件系统 ID??? 0X0B?2?0X0002?每扇区字节数??? 0X0D?1?0X08?每簇扇区数??? 0X0E?2?0X0000?保留扇区??? 0X10?3?0X000000?总为0??? 0X13?2?0X0000?NTFS未使用,为0??? 0X15?1?0XF8?介质描述??? 0X16?1?0X0000?总为0??? 0X18?2?0X3F00?每磁道扇区数??? 0X1A?2?0XFF00?磁头数??? 0X1C?4?0X3F000000?隐含扇区??? 0X20?4?0NTFS未使用,为0??? 0X24?4?0NTFS未使用,为0??? 0X28?8?0X4AF57F0000000000?扇区总数??? 0X30?8?0X0400000000000000?$MFT的逻辑簇号??? 0X38?8?0X54FF070000000000?$MFTMirr的逻辑簇号??? 0X40?4?0XF6000000?每MFT记录簇数??? 0X44?4?0X0100000?每索引簇数??? 0X48?8?0X14A51B74C91B741C?卷标??? 0X50?4?0校验和??? 0X54?430?略?引导代码??? 0X1FE?2?0X55AA?签名? 表3? NTFS引导扇区说明 1.2 MFT(主文件表) MFT是一个对应的数据库,由一系列的文件记录组成。卷中每一个文件都有一个文件记录(对于大型文件还可能有多个记录与之相对应)。主文件表本身也有它自己的文件记录。如果您还不胜了解,那么我们来打个比喻。假设一个班有30个人,老师那里有一本花名册,记录了每个人的名字,年龄,每天出勤的情况和科目成绩等等。把每个人看做每一个文件,那么那本花名册就是这里的MFT。 当然,事实往往是复杂而多变的,MFT中包含文件的哪些信息?这些信息又是如何关联的?这些问题,我们会一个个解决。现在首先对MFT做几点必要的说明: (1)实际上,MFT自身也是一个文件,因此,主文件列表的第一个记录就是它自身。所以,刚才的例子其实不太贴

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档