下载此文档

高中信息技术教学论文 探索ntfs.doc


文档分类:中学教育 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
用心爱心专心1探索NTFSNTFS是WindowsNT引入的新型文件系统,它具有许多新特性。本文旨在探索NTFS的底层结构,所叙述的也仅是文件在NTFS卷上的分布。NTFS中,卷中所有存放的数据均在一个叫$MFT的文件中,叫主文件表(MasterFileTable)。而$MFT则由文件记录(FileRecord)数组构成。FileRecord的大小一般是固定的,通常情况下均为1KB,这个概念相当于Linux中的inode。FileRecord在$MFT文件中物理上是连续的,且从0开始编号。$MFT仅供FileSystem本身组织、架构文件系统使用,这在NTFS中称为元数据(Metadata)。以下列出Windows2000Release出的NTFS的元数据文件(我将要给出的示例代码的部分输出结果)。FileRecord(inode)FileName--------------------------0$MFT1$MFTMirr2$LogFile3$Volume4$$Bitmap7$Boot8$BadClus9$Secure10$UpCase11$ExtendWindows2000中不能使用dir命令(甚至加上/ah参数)像普通文件一样列出这些元数据文件。实际上FileSystemDriver()维护了一个系统变量NtfsProtectSystemFiles用于隐藏这些元数据。默认情况下,这个变量被设为TRUE,所以使用dir/ah将得不到任何文件。知道这个行为后使用i386kd修改NtfsProtectSystemFiles后即可以列出元数据文件:kd>xntfs!NtfsProtect*fe213498Ntfs!tfs!NtfsProtectSystemAttributeskd>ddntfs!NtfsProtectSystemFilesl2fe2134980000000100000001kd>edntfs!NtfsProtectSystemFiles0kd>ddntfs!NtfsProtectSystemFilesl2fe2134980000000000000001kd>D:\>ver用心爱心专心2MicrosoftWindows2000[]D:\>dir/ah$*驱动器D中的卷是W2KNTFS卷的序列号是E831-9D04D:\的目录2000-04-2719:3136,000$AttrDef2000-04-2719:310$BadClus2000-04-2719:3167,336$Bitmap2000-04-2719:318,192$Boot2000-04-2719:31<DIR>$Extend2000-04-2719:3113,139,968$LogFile2000-04-2719:3127,575,296$MFT2000-04-2719:314,096$MFTMirr2000-04-2719:31131,072$UpCase2000-04-2719:310$Volume9个文件40,961,960字节1个目录51,863,,所以在打开NtfsProtectSystemFiles后,如果使用ReadFile等产生IRP_MJ_READ等IRP包时将会导致PageFault(详见GaryNebbett的《WindowsNT/2000NativeAPIReference》)。以上的讨论均是基于$MFT文件而讨论的,即基于$MFT中的FileRecord(inode)讨论的。为更好的继续以下的讨论,这儿我列出FileRecordHeader的结构:typedefstruct{ULONGType;USHORTUsaOffset;USHORTUsaCount;USNUsn;}NTFS_RECORD_HEADER,*PNTFS_RECORD_HEADER;typedefstruct{NTFS_RECORD_HEADERNtfs;USHORTSequenceNumber;USHORTLinkCount;USHORTAttributesOffset;USHORTFlags;//0x0001=InUs用心爱心专心3e,0x0002=DirectoryULONGBytesInUse;ULONGBytesAllocated;ULONGLONGBaseFileRecord;USHORTNextAttributeNumber;}FILE_RECORD_HEADER,*PFILE_RECORD_HEADER;下面我将讨论如何定位$MFT。稍微有点操作系统知识的人都会知道引导扇区(BootSector),其物理

高中信息技术教学论文 探索ntfs 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人tggwft
  • 文件大小46 KB
  • 时间2016-09-23