ImageVerifierCode 换一换
格式:DOCX , 页数:77 ,大小:1.78MB ,
资源ID:4164262      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4164262.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(NTFS文件系统若干技术研究.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

NTFS文件系统若干技术研究.docx

1、NTFS文件系统若干技术研究NTFS文件系统若干技术研究作者: Beiyu主页: 电子邮箱: beiyuly日期: 2007-4-26Research on Some Technique of NTFSAuthor: BeiyuHome Page: Email: beiyulyDate: 2007-4-26目录NTFS文件系统若干技术研究 1Research on Some Technique of NTFS 1目录 2表目录 4图目录 5摘 要 6第一章 NTFS介绍 71.1现状 71.2 NTFS特点 91.2.1优点 91.2.2 NTFS的不足 111.3 NTFS未来 12第二章

2、NTFS相关概念理论 142.1 RAID 简介 142.2 NTFS文件系统分区 142.2.1 基本分区 142.2.2 动态分区 142.3 NTFS参数结构介绍 142.3.1 NTFS的DBR 152.3.2 NTFS文件空间分配 162.3.3 NTFS元文件 172.3.4 元文件和DBR参数关系 212.3.5 NTFS的文件和目录 232.3.6 常驻属性与非常驻属性 252.3.7 MFT文件记录结构分析 292.3.7.1基本概念 292.3.7.2文件记录头分析 312.3.7.3标准属性分析 322.3.7.4文件名属性分析 342.3.7.5数据流属性分析 372.

3、3.7.6 位图属性分析 372.3.7.7 $MFT结构总结 382.3.8 $Boot元文件介绍 392.3.9 NTFS索引与目录 402.4 EFS 43第三章 NTFS文件基本操作 46第四章 NTFS文件系统数据恢复研究 474.1数据恢复原理 474.2常见数据恢复工具 484.3 NTFS数据技术基础 504.3.1基础概念 504.3.1.1硬盘数据结构 504.3.1.2硬盘分区方式 514.3.1.3数据存储原理 524.3.1.4系统启动流程 534.3.2硬盘数据恢复方案分析 544.4数据恢复技术实现 574.5数据恢复经验介绍 574.5.1几个常识性问题 574

4、.5.2技术来源 574.5.3硬盘修复需要理解的基本概念 584.6数据备份介绍 60第五章 NTFS相关领域技术介绍 615.1 RH8下最简单编译NTFS模块的方法 615.2 Ubuntu下安全读写NTFS分区格式文件 615.3在Fat32中读写NTFS分区的数据 635.4 DOS下访问NTFS 63第六章 结论 65参考文献 66附录A dos下访问ntfs分区,查找指定文件的源代码 67附录B Windows下ntfs文件恢复源代码 71后记 83表目录表格 一2文件系统比较 7表格 一1NTFS文件系统组织 9表格 二1 BPB参数 15表格 二2 NTFS的缺省簇的大小 1

5、6表格 二3从头部开始的偏移长度描述 30表格 二4常驻属性从头部开始的偏移描述 30表格 二5非常驻属性从头部开始的偏移描述 30表格 二6标准索引头的结构 41表格 二7常用索引列表 42图目录图表 一1操作系统和文件系统支持表 7图表 一2NTFS文件属性示意图 10图表 二1RAID性能比较 14图表 二2 NTFS目录 17图表 二3 NTFS元文件 18图表 二4 MFT空间分配 20图表 二5 NTFS DBR结构 21图表 二6 NTFS BPB结构 22图表 二7 $MFT和DBR关系 23图表 二8 小文件和目录的MFT 23图表 二9 $MFT存储情况 24图表 二10

6、NTFS常用属性 25图表 二11 小文件示意图1 26图表 二12 小文件示意图2 26图表 二13 小文件的文件记录 27图表 二14 小目录的MFT记录 27图表 二15 存储在两个运行中的非常驻属性 28图表 二16 大目录的MFT记录 28图表 二17 非常驻数据属性的VCN 28图表 二18 非常驻数据属性的VCN-LCN映射 29图表 二19 $MFT文件记录头部结构 32图表 二20标准属性头结构 33图表 二21标准属性的属性结构 33图表 二22 文件属性的含义 34图表 二23文件名属性头结构 35图表 二24文件名属性结构 35图表 二25标志含义图 36图表 二26常

7、见的命名空间 36图表 二27数据流属性头结构 37图表 二28位图属性头 38图表 二29 $MFT的结构示意图 39图表 二30 $Boot元文件属性 40图表 二31 $Boot元文件未命名数据流含义 40图表 二32根目录文件索引 41图表 二33索引项结构示意图 42图表 二34 EFS加密过程 44图表 二35 EFS解密过程 45摘 要 随着以NT为内核的Windows 2000/XP的普及,很多个人用户开始用到了NTFS。因此NTFS受到了越来越多的重视。本文主要介绍NTFS的基本概念,基于NTFS的文件基本操作,NTFS文件数据恢复,NTFS相关领域技术。关键字:NTFS,文

8、件操作,数据恢复,Windows,DOS第一章 NTFS介绍NTFS(New Technology File System)是一个比FAT复杂的多的文件系统,微软Windows NT内核的系列操作系统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计的磁盘格式。1.1现状随着以NT为内核的Windows 2000/XP的普及,很多个人用户开始用到了NTFS。NTFS也是以簇为单位来存储数据文件,但NTFS中簇的大小并不依赖于磁盘或分区的大小。簇尺寸的缩小不但降低了磁盘空间的浪费,还减少了产生磁盘碎片的可能。NTFS支持文件加密管理功能,可为用户提供更高层次的安全保证。Windows

9、NT/2000/XP/2003以上的Windows版本能识别NTFS系统,Windows 9x/Me以及DOS等操作系统都不能直接支持、识别NTFS格式的磁盘,访问NTFS文件系统时需要依靠特殊工具。图表 一1操作系统和文件系统支持表下面对目前Windows常用的文件系统作一个比较:表格 一2文件系统比较比较标准NTFS5NTFSFAT32FAT16适用操作系统Windows 2000、XPWindows NT、2000、XPWindows 98、Me、2000、XPDOS、Windows所有版本磁盘管理限制最大分区尺寸2TB2TB理论上2TB2GB分区中做多文件数目接近无限接近无限接近无限小

10、于65000最大文件尺寸决定于文件存放分区的尺寸决定于文件存放分区的尺寸4GB2GB最大簇数几乎无限几乎无限26843545665535最大文件名长度255个英文字符255个英文字符255个英文字符8.3文件名标准,VFAT中为255个英文字符文件系统特征Unicode(统一代码)文件命名由Unicode字符设定由Unicode字符设定由系统字符设定由系统字符设定系统记录镜像MFT镜像文件MFT镜像文件FAT文件表的第二拷贝FAT文件表的第二拷贝引导扇区位置第一和最后的扇区第一和最后的扇区第一扇区第一扇区文件属性标准属性加自定义属性标准属性加自定义属性标准属性设定标准属性设定交替数据流支持支持

11、支持不支持不支持数据压缩支持支持支持不支持不支持数据加密支持支持不支持不支持不支持对象标识支持支持支持不支持不支持磁盘配额支持支持不支持不支持不支持稀疏文件支持支持不支持不支持不支持重装入点支持支持不支持不支持不支持卷装入点支持支持不支持不支持不支持性能概述安全性构造支持支持不支持不支持可恢复性支持支持不支持不支持性能在大分区上(500MB)性能很高但在有非常多小文件的小分区上性能较低在大分区上(500MB)性能很高但在有非常多小文件的小分区上性能较低在小分区上(500MB)性能较低在小分区上(convert 需要转换的盘符 /FS:NTFS。如系统E盘原来为FAT16/32,现在 需要转换为

12、NTFS,可使用如下格式:D:convert e: /FS:NTFS。所有的转换将在系统重新启动后完成。NTFS支持磁盘数据加密,加密文件系统(Encrpyted File Sysetm,EFS)是NTFS支持的重要特性。由于NTFS文件分区格式具有良好的安全性,如果你不希望自己在硬盘中的文件被其他人调用或查看,使用权限控制方式加密是非常有效的方法。设置方法非常简单:以系统管理员身份登录,使用鼠标右键单击需要加密的文件夹,选择“Properties”,切换到“Security”选项卡。在“Group of user names”项中设置允许访问的用户只有Administrator和自己。删除其

13、他的所有用户。保存设置退出即可。此后,其他用户将不能访问该文件夹。使用这项功能需要注意的是:一定要保证只有你一个人知道Administrator密码,并且设置其他用户不能属于Administrator。此外,你还可以详细的给每个用户设置权限,包括设置读取权限、写入权限、删除权限等,这样使用起来就更加灵活。你还可以设置权限,控制一个磁盘,或者磁盘分区只为自己使用,这样其他人就不能看到你的任何东西了。表格 一1NTFS文件系统组织分区引导扇区MFT表系统文件文件区域NTFS的索引非常详细,尽管很利于查找文件,但相当于小型数据库的索引方式对硬件有较高的硬件要求,而且对于较小的分区上存放较多小文件的情

14、况而言,这种检索方式可能反而没有简单的链式快。最常见的情况就是笔记本用户,特别是前两年,笔记本硬盘的速度很慢,硬盘容量又小,而笔记本的性能又普遍低于台式机很多,所以这种情况下如果采用NTFS分区就可能会感觉慢。笔者个人认为,要想体现NTFS分区的性能优势,至少和FAT持平的话,电脑要有如下水准:硬盘的转速最好为7200r/s, CPU主频不低于700MHz,内存不少于 256MB,单个分区不小于5GB。前两年有不少台式机都有某些指标不能达到这个水平,难怪有人抱怨NTFS不好了。但就目前的硬件水平而言,NTFS的优势会越来越明显。1.2 NTFS特点1.2.1优点NTFS的四大优点:1、具备错误

15、预警的文件系统 在NTFS分区中,最开始的16个扇区是分区引导扇区,其中保存着分区引导代码,接着就是主文件表(Master File Table,以下简称MFT),但如果它所在的磁盘扇区恰好出现损坏,NTFS文件系统会比较智能地将MFT换到硬盘的其他扇区,保证了文件系统的正常使用,也就是保证了Windows的正常运行。而以前的FAT16和FAT32的FAT(文件分配表)则只能固定在分区引导扇区的后面,一旦遇到扇区损坏,那么整个文件系统就要瘫痪。 但这种智能移动MFT的做法当然并非十全十美,如果分区引导代码中指向MFT的部分出现错误,那么NTFS文件系统便会不知道到哪里寻找MFT,从而会报告“磁

16、盘没有格式化”这样的错误信息。为了避免这样的问题发生,分区引导代码中会包含一段校验程序,专门负责侦错。2、文件读取速度更高效!恐怕很多人都听说NTFS文件系统在安全性方面有很多新功能,但你可否知道:NTFS在文件处理速度上也比FAT32大有提升呢?对DOS略知一二的读者一定熟悉文件的各种属性:只读、隐藏、系统等。在NTFS文件系统中,这些属性都还存在,但有了很大不同。在这里,一切东西都是一种属性,就连文件内容也是一种属性。这些属性的列表不是固定的,可以随时增加,这也就是为什么你会在NTFS分区上看到文件有更多的属性,如下图所示:图表 一2NTFS文件属性示意图NTFS文件系统中的文件属性可以分

17、成两种:常驻属性和非常驻属性,常驻属性直接保存在MFT中,像文件名和相关时间信息(例如创建时间、修改时间等)永远属于常驻属性,非常驻属性则保存在MFT之外,但会使用一种复杂的索引方式来进行指示。如果文件或文件夹小于1500字节(其实我们的电脑中有相当多这样大小的文件或文件夹),那么它们的所有属性,包括内容都会常驻在MFT中,而MFT是Windows一启动就会载入到内存中的,这样当你查看这些文件或文件夹时,其实它们的内容早已在缓存中了,自然大大提高了文件和文件夹的访问速度。 小提示!为什么FAT的效率不如NTFS高?FAT文件系统的文件分配表只能列出了每个文件的名称及起始簇,并没有说明这个文件是

18、否存在,而需要通过其所在文件夹的记录来判断,而文件夹入口又包含在文件分配表的索引中。因此在访问文件时,首先要读取文件分配表来确定文件已经存在,然后再次读取文件分配表找到文件的首簇,接着通过链式的检索找到文件所有的存放簇,最终确定后才可以访问。3、磁盘自我修复功能NTFS利用一种“自我疗伤”的系统,可以对硬盘上的逻辑错误和物理错误进行自动侦测和修复。在FAT16和FAT32时代,我们需要借助Scandisk这个程序来标记磁盘上的坏扇区,但当发现错误时,数据往往已经被写在了坏的扇区上了,损失已经造成。NTFS文件系统则不然,每次读写时,它都会检查扇区正确与否。当读取时发现错误,NTFS会报告这个错

19、误;当向磁盘写文件时发现错误,NTFS将会十分智能地换一个完好位置存储数据,操作不会受到任何影响。在这两种情况下,NTFS都会在坏扇区上作标记,以防今后被使用。这种工作模式可以使磁盘错误可以较早地被发现,避免灾难性的事故发生。4、“防灾赈灾”的事件日志功能在NTFS文件系统中,任何操作都可以被看成是一个“事件”。比如将一个文件从C盘复制到D盘,整个复制过程就是一个事件。事件日志一直监督着整个操作,当它在目标地D盘发现了完整文件,就会记录下一个“已完成”的标记。假如复制中途断电,事件日志中就不会记录“已完成”,NTFS可以在来电后重新完成刚才的事件。事件日志的作用不在于它能挽回损失,而在于它监督

20、所有事件,从而让系统永远知道完成了哪些任务,那些任务还没有完成,保证系统不会因为断电等突发事件发生紊乱,最大程度降低了破坏性。5、附加功能其实,NTFS还提供了磁盘压缩、数据加密、磁盘配额(在“我的电脑”中右击分区并并行“属性”,进入“配额”选项卡即可设置)、动态磁盘管理等功能,这些功能在很多报刊杂志上介绍的比较多了,这里不再详细介绍。NTFS提供了为不同用户设置不同访问控制、隐私和安全管理功能。如果你的系统处于一个单机环境,比如家用电脑,那么这些功能对你意义不是很大。小提示!从FAT转换过来的NTFS,性能有折扣如果分区是从FAT32转换为NTFS文件系统的(使用命令为“CONVERT 驱动

21、器盘符 /FS:NTFS”),不仅MFT会很容易出现磁盘碎片,更糟糕的是,磁盘碎片整理工具往往不能整理这各分区中的MFT,严重影响系统性能。因此,建议将分区直接格式化为NTFS文件系统1.2.2 NTFS的不足知道了FAT和NTFS的组织结构后,很容易理解正是因为不同的组织管理方式,导致了完全不同的文件操作方式,从而决定了最终的性能差异。例如当访问一个文件时,由于FAT文件系统的文件分配表只列出了每个文件的名称及起始簇,并没有说明这个文件是否存在,而需要通过其所在文件夹的记录来判断,而文件夹的入口又包含在文件分配表的索引中。因此首先要读取文件分配表来确定文件已经存在,然后再次读取文件分配表找到

22、文件的首簇,最后通过链式的检索找到文件所有的存放簇,最终确定后才可以访问。而在NTFS文件系统中,由于任意文件都在MFT中有详细的记录,所以只要读取MFT中的相关记录文件马上可以使用。这就是NTFS在文件操作性能上要好于FAT的根本原因。事实上, NTFS不断引入的新特性,如综合索引等,仍在进一步拉大这种差距。从技术角度来说这个差距是巨大的,但为何有些人无法感觉到这种差异甚至有相反的感觉呢?原因也很简单,绝大多数人的计算机应用环境简单,其磁盘操作主要是单文件的操作。再加上很多人的硬盘远不够大,并发操作量也远不够多,因此NTFS与FAT的单个文件操作速度差异往往仅在毫秒之间根本无法察觉,但如果是

23、在大型的网络服务器上,访问量很多,文件操作频繁,还存在大量并发操作,这种性能差异就会相当惊人。另一方面随着100GB以上容量的硬盘逐渐成为主流,再加上个人使用电脑同时执行多个任务的机会不断增加,这种差距也会越来越明显。那么觉得 NTFS 文件系统更慢的原因是什么呢?NTFS的索引非常详细,尽管很利于查找文件,但相当于小型数据库的索引方式对硬件有较高的硬件要求,而且对于较小的分区上存放较多小文件的情况而言,这种检索方式可能反而没有简单的链式快。最常见的情况就是笔记本用户,特别是前两年,笔记本硬盘的速度很慢,硬盘容量又小,而笔记本的性能又普遍低于台式机很多,所以这种情况下如果采用NTFS分区就可能

24、会感觉慢。笔者个人认为,要想体现NTFS分区的性能优势,至少和FAT持平的话,电脑要有如下水准:硬盘的转速最好为7200r/s, CPU主频不低于700MHz,内存不少于 256MB,单个分区不小于5GB。前两年有不少台式机都有某些指标不能达到这个水平,难怪有人抱怨NTFS不好了。但就目前的硬件水平而言,NTFS的优势会越来越明显。1.3 NTFS未来无论是FAT还是NTFS ,用户访问某个文件都必须通过层次型的目录树结构到达其保存位置,如果不知道文件保存位置,那就只能使用操作系统的搜索功能了。不知道你有没有想过:我们需要的是文件,而不是它的位置,即然如此,为什么要我们必须记住这些“无用”的信

25、息?为解决这个问题,微软将在下一代操作系统中(内部代号Longhorn)中推出传说中的WinFS (windows Future Storage , windwos未来存储)服务,也就是被人们误以为是文件系统的那个东西。事实上,NTFS将是“Longhorn”的唯一文件系统,WinFS服务可以看作是在NTFS的基础上增加了一个数据库层,这个数据库层以即将出现的SQL Server的“Yukon”版为基础。对于WinFS来说,文件除了我们熟悉的属性,诸如文件名称、大小、日期外,还将通过诸如作者名、图像大小之类的元数据建立索引。系统底层的目录结构仍将存在,但用户使用的将是一个相似文件构成的库(Li

26、brary)。每个库由一组通过查询WinFS数据库获得的文件构成。如果WinFS确实能将查找文件的依据改变为它是什么,而不是它在哪里的话,无疑这将是基于NTFS文件系统的一个突破。第二章 NTFS相关概念理论2.1 RAID 简介RAID(Redundent Array of Inexpensive Disks)由美国加州伯克利分校的D.A.Patterson教授在1988年提出。图表 二1RAID性能比较WindowsNT/2000XP/2003种的RAID5是一种软RAID。2.2 NTFS文件系统分区2.2.1 基本分区2.2.2 动态分区2.3 NTFS参数结构介绍本节主要介绍NTFS

27、的参数概念。2.3.1 NTFS的DBRNTFS的DBR和FAT32的DBR作用相同,由MBR得到DBR,再由DBR引导操作系统。在Windows NT/2000/XP/2003上,由DBR调入NTLDR,由NTLDR启动操作系统。NTFS的引导扇区完成引导和定义分区参数。FAT分区中,即使文件不正确,而BOOT记录正常,分区会显示没有错误。和FAT分区不同,而NTFS分区的BOOT记录不是分区正确与否的充分条件。因为必须MFT中的系统记录(如$MFT等)正常,该分区才能正常访问。NTFS的BPB参数如下表所示:表格 二1 BPB参数字节偏移长度常用值意义0x0B字0x0002每扇区字节数0x

28、0D字节0x08每簇扇区数0x0E字0x0000保留扇区0x103字节0x000000总为00x13字0x0000NTFS未使用,为00x15字节0xF8介质描述0x16字0x0000总为00x18字0x3F00每磁道扇区数0x1A字0xFF00磁头数0x1C双字0x3F000000隐含扇区0x20双字0x00000000NTFS未使用,为00x288字节0x4AF57F0000000000扇区总数0x308字节0x0400000000000000$MFT的逻辑簇号0x388字节0x54FF070000000000$MFTMirr的逻辑簇号0x40双字0xF6000000每MFT记录簇数0x4

29、4双字0x01000000每索引簇数0x488字节0x14A51B74C91B741C卷标0x50双字0x00000000检验和MFT中的文件记录大小一般是固定的,不管簇的大小是多少,均为1KB。文件记录在MFT文件记录数组中物理上是连续的,且从0开始编号,所以,NTFS是预定义文件系统。MFT仅供系统本身组织、架构文件系统使用,这在NTFS中称为元数据(metadata,是存储在卷上支持文件系统格式管理的数据。它不能被应用程序访问,只能为系统提供服务)。其中最基本的前16个记录是操作系统使用的非常重要的元数据文件。这些元数据文件的名字都以“$”开始,所以是隐藏文件,在Windows 2000/XP中不能使用dir命令(甚至加上/ah参数)像普通文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1