成功案例

Windows文件系统简介

2018-10-16 11:54:03

南宁英彬达数据恢复中心,您身边的数据恢复专家。以下是一些数据恢复知识,希望对各位新老客户又帮助:


1 Windows FSD(文件系统驱动程序)体系结构

Windows 2000/XP的FSD(File System Driver,文件系统驱动程序)分为本地FSD和远程FSD。
     本地FSD:允许用户访问本地计算机上的数据
——本地FSD负责向I/O管理器注册自己,当开始访问某个卷时,I/O管理器调用FSD来进行卷识别。
——完成卷识别后,本地FSD创建一个设备对象以表示所装载的文件系统。
——I/O管理器通过卷参数块(VPB)在存储管理器创建的卷设备对象和FSD创建的卷设备对象之间建立连接。此连接将I/O管理器的I/O请求转交给FSD设备对象。
      远程FSD:允许用户通过网络访问远程计算机上的数据。
由两部分组成:客户端FSD和服务器端FSD。
——客户端FSD首先接收来自应用程序的I/O请求,并转换为网络文件系统协议命令,然后通过网络发送给服务器端FSD。
——服务器端FSD监听网络命令,接收网络文件系统协议命令并转交给本地FSD去执行。
      FSD与文件系统操作
    Windows文件系统的有关操作都是通过FSD完成的:
    ——显示文件I/O:应用程序通过I/O接口函数如CreateFile,ReadFile,WriteFile等来访问文件。
    ——高速缓存延迟写:此线程定期对高速缓存中已被修改的页面进行写操作。
    ——高速缓存提前读:此线程负责提前读数据。
    ——内存脏页写:此线程定期清洗缓冲区。

    ——内存缺页处理


2 Windows 2000/XP支持的文件系统
2.1 CDFS与UDF
      CDFS(CDROM File System)即只读光盘文件系统。现已被UDF标准取代。
——特点:文件和目录名长度必须少于32个字符;目录树深度不能超过8层。
——Windows 2000/XP通过\Winnt\System32\Drivers\Cdfs.sys实现CDFS的支持。
      UDF(Universal Disk Format)即通用磁盘格式。
——特点:文件名可以区分大小写;文件名可以有255字符长;最长路径为1023个字符。
——Windows 2000/XP通过\Winnt\System32\Drivers\Udfs.sys实现UDF的支持。
2.2  FAT12、FAT16、FAT32
Windows 2000/XP通过\Winnt\System32\Drivers\Fastfat.sys提供FAT(File Allocation Table,文件分配表)文件系统驱动程序。
      FAT12和FAT16
——FAT文件系统用数字来标识磁盘上簇号的位数。FAT12簇标识为12位,FAT16簇标识为16位。
——FAT12是5.25英寸和3.5英寸软盘的标准格式。
——FAT卷分为几个区域:引导区、文件分配表(包含一个卷上所有簇的条目,并保留备份)、根目录(FAT12和FAT16最多只能存放256个文件或目录)、其他目录和文件。
——FAT16优点:可以被多种操作系统访问。缺点:不支持长文件名;不支持系统容错特性;不支持内部安全特性。
      FAT32
——文件分配表簇标识扩充为32位,主要应用于Windows 9x和Windows Me中。
——优点:1)具有强大的寻址能力,能比FAT16更有效的管理磁盘;
2)根目录下的文件数目不受最多256的限制;
3)引导记录扩展为包含重要数据结构的备份,因而分区不易受单点的错误影响;
4)支持长文件名格式
——缺点:同样不支持系统容错特性和内部安全特性。
2.3 NTFS(New Technology File System)
2.3.1 NTFS优点
——支持文件系统数据的可恢复性、安全性、数据冗余和数据容错;
——具有其他高级特性:多数据流、完全支持Unicode、通用索引机制、动态坏簇重新映射(热修复)、完全支持POSIX(可移植操作系统接口)、支持文件数据的压缩、日志记录、支持用户磁盘限额、硬链接与软链接(硬链接允许从多个路径指向同一文件和目录,软链接允许重定向一个目录)、链接跟踪、加密、碎片整理等。
1. NTFS可恢复性支持
      NTFS通过日志记录来实现文件系统的可恢复性。
      所有改变文件系统的子操作在磁盘上运行之前,先被记录在日志文件中。在恢复阶段,NTFS根据记录在日志文件中的文件操作信息,对那些部分完成的事务进行重做或撤销,以保证磁盘上文件系统的一致性。这种技术称为“预写日志记录”。
2. NTFS坏簇恢复支持
      Windows 2000/XP卷管理功能分别通过用于基本磁盘的FtDisk和用于动态磁盘的LDM(Logical Disk Manager)的卷管理工具来实现坏簇的修复。
      NTFS在运行时动态收集有关坏簇的资料,并存储在系统文件中,而在应用程序环境中不必知道坏簇的存在。当扇区发生错误时,容错驱动程序给NTFS发出该扇区是坏的的通知,NTFS将分配一个新簇来取代坏扇区中的簇,并将数据复制到新簇中,NTFS将标记该坏扇区并不再使用它。
3. NTFS安全性支持
      NTFS把文件和目录看成对象和对象的集合,文件和目录对象都带有安全描述符,并作为文件的一部分存储在磁盘上。进程在打开对象句柄前验证该进程是否具有足够的权限。
      NTFS支持加密文件系统(EFS),以阻止非授权用户访问加密文件。
2.3.2   NTFS FSD(文件系统驱动程序)
——I/O管理器将I/O请求送交NTFS FSD执行。
——应用程序通过NTFS FSD创建和存取文件。步骤如下:首先检查使用权限,看是否合法用户的请求;然后I/O管理器将文件句柄转换为文件对象指针;最后NTFS通过文件对象指针来获得磁盘上的文件。
2.3.3  NTFS磁盘结构
1. 卷
      NTFS是以卷为基础的。卷建立在磁盘分区之上。
      分区是磁盘的基本组成部分,是一个能够被格式化和单独使用的逻辑单元。当以NTFS格式来格式化磁盘分区时就创建了NTFS卷。
      一个磁盘可以有多个卷,一个卷也可以由多个磁盘组成。Windows 2000/XP常使用FAT卷和NTFS卷。
2. 簇
      NTFS与FAT一样,使用簇作为磁盘空间分配和回收的基本单位。即一个文件占用若干个整簇,而最后一簇的剩余空间不再使用。
      在内部,NTFS仅引用簇,而不知道磁盘扇区的大小。这样使NTFS保持了与物理扇区大小的独立性,能够为不同大小的磁盘选择合适的簇。
      卷上簇的大小(称为簇因子)是用户使用Format命令或其他格式化程序格式化卷时确定的,它随着卷的大小而不同,但都为物理扇区的整数倍。
      簇的定位可使用逻辑簇号(LCN)和虚拟簇号(VCN)
——LCN对卷中所有的簇从头到尾进行简单编号。簇因子乘以LCN可获得卷上的物理字节偏移量,从而得到物理磁盘地址。
——VCN对属于特定文件的簇从0到m编号,以便引用文件中的数据。VCN不要求在物理上连续,可以映射到卷上任何号码的LCN。
3. 主控文件表(MFT)
      在NTFS中,卷中存放的所有数据,包括用于定位和恢复文件的数据结构、引导程序数据和记录整个卷的分配状态的位图(NTFS元数据),都包含在一个称为主控文件表(MFT)的文件中。
      MFT是NTFS卷结构的核心,是NTFS最重要的系统文件。MFT以文件记录数组实现,每个文件大小为1KB,卷上每个文件(包括MFT本身)都有一行MFT记录。
4. 文件引用号
      NTFS卷中的文件是通过称为“文件引用号”的64位值来标识的。

      文件引用号由文件号(低48位)和文件顺序号(高16位)组成。

 
——文件号对应文件在MFT中的位置
——顺序号随文件记录的重用而增加,从而使得NTFS能完成内部的一致性检查。
5. 文件记录
      NTFS不是将文件仅仅视为一个文本库或二进制数据,而是将文件作为许多属性/属性值的集合来处理。
      除数据属性外,其他文件属性包括文件名、文件时间标记、文件拥有者等。
6. 文件名
      NTFS和FAT路径中的每个文件名/目录名长度可达255个字节,可以包含Unicode字符、多个句点和空格。
      MS-DOS不能正确识别Win32的文件名,因此NTFS自动生成8字符(加3字符扩展名)以内的MS-DOS文件名。
      POSIX子系统需要Windows NT支持的所有应用程序环境中最大的名字空间,因此,NTFS的名字空间等于POSIX的名字空间。POSIX子系统可以创建在Win32和MS-DOS中不可见的名称。
7. 常驻属性和非常驻属性
      若文件的属性值能直接存放在MFT中时,该属性称为常驻属性。
      小文件或小目录的所有属性均可在MFT中常驻。如果属性值直接存放在MFT中,则NTFS只需访问磁盘一次即可获得数据;而FAT文件系统必须先在FAT表中查找文件,再读出连续分配的单元,才能找到文件数据。
8. 文件名索引
      在NTFS中,文件目录仅仅是文件名的一个索引。即为了便于快速访问而用一种特殊的方式组织起来的文件名的集合。
      要创建一个目录,NTFS应对目录中文件的文件名属性进行索引。
9. 数据压缩
      NTFS压缩功能可以对单个文件、整个目录或卷上的整个目录树进行压缩。NTFS压缩只能在用户数据上执行,而不能在文件系统元数据上执行。
      Win32中的GetVolumeInformation函数可以判断一个卷是否已被压缩; GetCompressedFileSize函数可得到一个文件的实际压缩大小;DeviceIoControl函数可检查或改变一个文件或目录的压缩设置。

      数据压缩可减少磁盘使用空间,但每次解压缩需要大量数据运算。如果要拷贝一个压缩文件,过程是解压缩、拷贝、重新压缩拷贝的文件。


 

南宁英彬达数据恢复中心,专业的硬盘数据恢复中心。

办公地址:广西南宁市青秀区星湖路32号广西计算中心工作楼A栋(广西龙赞创投大厦)407号房英彬达数据恢复中心(星湖路加油站正对面)

联系人:黄工

技术QQ:1015519695

数据恢复热线:189781810119(微信同步)!

 

  • 手机:18978181011
  • 邮箱:1015519695@qq.com
  • QQ:1015519695
  • 地址:广西南宁市青秀区星湖路32号广西计算中心工作楼A栋(广西龙赞创投大厦)407号房英彬达数据恢复中心(星湖路加油站正对面)