`

NTFS文件系统的可恢复性

 
阅读更多

     
NTFS是随着Windows NT操作系统而产生的,全称为“NT File System”,中文意为NT文件系统,如今已是windows类操作系统中的主力分区格式了。它的优点是安全性和稳定性极其出色,在使用中不易产生文件碎片,NTFS分区对用户权限作出了非常严格的限制,每个用户都只能按着系统赋予的权限进行操作,任何试图越权的操作都将被系统禁止,同时它还提供了容错结构日志,可以将用户的操作全部记录下来,从而保护了系统的安全。本文主要论述的就是NTFS在系统崩溃或磁盘出现故障后如何安全的恢复文件系统。

NTFS是一个具备错误预警的文件系统。由于NTFS对关键文件系统的系统信息采用了冗余存储,故而当磁盘上的某个扇区损坏时,NTFS仍可以访问卷上的关键数据。NTFS分区的最开始的16个扇区是分区引导扇区,用以保存分区引导代码,接下来是主文件表(MFT),如果MFT所在的磁盘扇区出现损坏,NTFS文件系统会将MFT转移到到硬盘的其他扇区,这样就保证了NTFS文件系统和Windows操作系统的正常运行。比之先前的FAT16和FAT32文件系统的FAT(文件分配表),FAT只能固定在分区引导扇区的后面,一旦该扇区,整个文件系统就会瘫痪,NTFS文件系统显然要先进的多了。不过这种移动MFT的做法却也并非十全十美,如果分区引导代码中指向MFT的部分出现错误,那么NTFS文件系统便会不知道到哪里寻找MFT ,从而会报告“磁盘没有格式化”这样的错误信息。为了避免这样的问题发生,分区引导代码中会包含一段校验程序,专门负责侦错。

NTFS文件系统通过基于事务处理模式的日志记录技术(transaction logging and recovery techniques),成功保证了NTFS卷的一致性,实现了文件系统的可恢复性。在 FAT 或 HPFS 上执行 CHKDSK 时,系统会检查目录、分配和文件表中指针的一致性;但是在 NTFS 下,系统会维护针对这些组件的事务日志,因此,CHKDSK 只需将事务回滚到上一个提交点就可以恢复文件系统中的一致性。事务日志方法需要的系统开销是很小的。NTFS并不是直接在日志文件中存取记录,而是通过LFS来读写。LFS提供了包括打开,写入,向前,向后,更新等操作来帮助NTFS处理日志文件。

我们把每一个具体的对NTFS卷文件的I/O操作看作一个事务,每个事务都是一个原子操作。这样,任何复杂的操作都可以分解成很多个事务。系统面对的就是许许多多的不同的事务。当一个事务开始后,它要么被顺利的完成,要么当遇到某些意外而出错时能回滚到上一个提交点,这时候NTFS卷处于该事务开始前的状态。很多原因都可以导致事务操作失败,如磁盘坏道、内存不足、设备连接错误等等。

为了确保每个事务都能顺利的完成或出错回滚到上一状态,对于每个事务NTFS文件系统都会执行以下步骤:

(1) 把此次事务中的子操作记录到已缓存在内存的日志文件里;

(2) 把实际的子操作数据记录到内存中;

(3) 在缓存于内存的日志文件里把此次事务标记为已提交;

(4) 把日志写入磁盘;

(5) 把数据写入磁盘。

事实上,对于步骤 (4) 和步骤 (5) ,NTFS并不是即时写入磁盘的,而是采用了延迟写(lazy-write)技术,选择在之后一个适当的时机用最佳方式把很多数据批处理到磁盘上。使用延迟写技术大大减少了磁盘操作的频率,从而极大地改善了系统的性能,但是在系统崩溃时有可能导致磁盘的不一致性,有一定风险。在我们自己编写的应用程序中可以通过设定FILE_FLAG_WRITE_THROUGH让系统不通过缓存而讲数据直接写入磁盘中——这时候系统其实仍然会缓存写操作只是没有延迟写入磁盘而已。

NTFS文件系统保证了缓存的日志先于事务中更改的数据存入磁盘。当文件系统更新缓存后,NTFS通过记录在缓存的日志里被标记为已完成的事务来提交这些事务。当缓存的日志刷新到磁盘上时,所有标记为提交的事务都要保证已经被完成了,即使系统可能会在把这些事务对数据的实际变动都存入磁盘之前崩溃掉。

当系统发生错误时,NTFS文件系统的日志中有足够的信息去完成或中断任何出问题的事务。执行恢复操作的时候,NTFS文件系统重做日志里每一个标记为提交的事务;然后文件系统在日志中查找那些在上一次系统崩溃时没有提交的事务,把日志中这些没有提交的事务的子操作统统撤销掉。因为NTFS文件系统在任何数据变动写入硬盘之前已经把这些变动的日志先写入了硬盘,所以NTFS拥有那些在恢复过程中需要回滚的子操作的所有的有效信息。

但是实际上,NTFS用这种事务日志技术来恢复数据也并不是那么保险的。而且,因为系统是通过日志来恢复的,恢复的过程对文件系统的所有数据都有可能造成影响——除非用户在存取数据的时候使用了FILE_FLAG_WRITE_THROUGH标志。如果用户程序没有使用FILE_FLAG_WRITE_THROUGH存取数据,那么在系统崩溃后用户数据很有可能会丢失。有可能系统只恢复出很陈旧的数据,或者恢复出不可意料的错误数据,或者无法恢复任何数据。

硬盘故障的修复

NTFS文件系统利用cluster remapping技术来减小磁盘的坏扇区对NTFS卷的影响。NTFS可以对硬盘上的逻辑错误和物理错误进行自动侦测和修复,但在FAT16和FAT32时代,我们需要借助 Scandisk这个程序来标记磁盘上的坏扇区,但当发现错误时,数据往往已经被写在了坏的扇区上了,损失已经造成。

NTFS 文件系统则不然,每次读写时,它都会检查扇区正确与否。当读取时发现错误,NTFS会报告这个错误;当向磁盘写文件时发现错误, NTFS将会十分智能地 换一个完好位置存储数据,操作不会受到任何影响。在这两种情况下,NTFS都会在坏扇区上作标记,以防今后被使用。这种工作模式可以使磁盘错误可以较早地被发现,避免灾难性的事故发生。

在 FAT 或 HPFS 下,只要位于文件系统的特殊体中的一个扇区失效,简单扇区失效(single sector failure)就会发生。 NTFS 在两方面阻止这种情况的发生:第一,不在磁盘上使用特殊数据体且跟踪并保护磁盘上的所有对象。第二,在 NTFS 下,会保存有多份(数量是由卷的大小决定的)主文件表。

小结:

在系统的可靠性与可恢复性方面,NTFS文件系统比以往的FAT32文件系统体现了极大的优势。自从Windows2000开始,微软开始推荐大家使用NTFS的磁盘格式,其后推出的XP更是要配合这种磁盘格式才能发挥其最大的性能优势。而且实际上随着海量硬盘的发展,使用NTFS的分区格式将越来越必要;在新一代的windows系统中,FAT系统也势必会被NTFS逐渐取代。NTFS的安全性、可靠性与高效性即使与ext3、reiserfs等优秀文件系统相比也毫不逊色,相信如果将来微软能开放更多NTFS技术细节的话,NTFS必将得到更广泛的应用,必将在文件系统世界里大放异彩。

分享到:
评论

相关推荐

    NTFS文件系统扇区存储探秘_扫描完整版

    《NTFS文件系统扇区存储探秘》主要内容包括:介绍NTFS文件系统优越的性能... 《NTFS文件系统扇区存储探秘》可作为从事数据恢复和硬盘维修的技术人员参考用书,也可供研究文件系统和进行扇区数据分析的爱好者参考使用。

    强大的 FAT 和 NTFS 数据恢复工具 R-Undelete 6.5 Build 170927 中文免费版.zip

    数据恢复技术 IntelligentScan,是一款价格合理、简单易用,同时又功能强大的 FAT 和 NTFS 文件系统文件反删除解决方案。R-Undelete 可从软件能识别出的任何逻辑磁盘上恢复软件。此外,原始文件恢复(扫描未知文件...

    Recuva 1.30.435 多国语言版 文件恢复工具

    能直接恢复硬盘、闪盘、存储卡(如 SD 卡,MMC 卡等等)中的文件,只要没有被重复写入数据,无论格式化还是删除均可直接恢复,支持 FAT12,FAT16,FAT32,NTFS 文件系统。软件操作简单,搜索被删除文件的速度极快,...

    恢复被永久性删除文件工具2

    Revival(v3.1)适用于Windows 9x/NT/2000/XP,兼容FAT12/16/32和NTFS磁盘系统,可以最大限度地恢复软盘、硬盘和移动存储设备的文件。Revival扫描整个磁盘,并对每个簇进行分析,来查找每个文件的全部数据,分析文件的...

    飞客数据恢复培训教材

    4.1.5.NTFS文件系统的簇的大小 25 第五章 NTFS文件系统原理 25 5.1.NTFS概述 25 5.2.NTFS的DBR 26 5.3.NTFS的元文件 27 5.4.$MFT文件分析 27 第六章 RAID原理与数码设备 29 6.1.RAID简介 29 ^^^^^

    AppleXsoft数据恢复软件|恢复被刪除文件|硬盘数据恢复v3.3.0.69.exe

    不论这些文件是从命令行、应用程序、资源管理器或回收站中刪除的, 还是被格式化的分区, 丟失的驱动器, 有严重逻辑文件系统错误的驱动器, 或者由于病毒感染,应用程序崩溃, 以及一些不知道的原因它都可以恢复。...

    数据恢复基础知识大全

    2)、不可恢复的情况 2.分区表破坏 3.全盘崩溃和分区丢失 4.文件丢失、误格式化的情况 5.文件损坏 6.硬盘被加密或变换 7.文件加密后密码遗忘 8.系统用户密码遗忘的处理 三.数据备份介绍 1、么东西最该备份 2...

    数据恢复基础技术只是大全

    2)、不可恢复的情况 2.分区表破坏 3.全盘崩溃和分区丢失 4.文件丢失、误格式化的情况 5.文件损坏 6.硬盘被加密或变换 7.文件加密后密码遗忘 8.系统用户密码遗忘的处理 三.数据备份介绍 1、么东西最该备份 2...

    文件恢复软件Recuva 1.49.1019 中文绿色单版

    只要没有被重复写入数据,无论格式化还是删除均可直接恢复,支持 FAT12,FAT16,FAT32,NTFS,exFat 文件系统。 v1.49.1019(2013年11月12日) -增加了多区段UDF支持 -新增Unicode字符处理文件列表出口。 -改进的...

    深入解析Windows操作系统中文.part2.rar

    12.5 NTFS文件系统驱动程序 729 12.6 NTFS在磁盘上的结构 732 卷(volume) 732 簇(cluster) 732 主文件表(MFT) 733 文件引用号 739 文件纪录 740 文件名 742 驻留的和非驻留的属性 744 数据压缩和稀疏文件 747 ...

    易我数据恢复向导.V2.1.0 破解版

    便捷实用的数据恢复软件,使用方法可于网上搜到。 双击“!... 双击“!)卸载.reg”文件,即可完成卸载。删除目录即可。  《易我数据恢复向导》是首款国内自主研发的... 11、能够恢复通过NTFS文件系统加密和加压的文件

    Recuva 1.41.537 简体中文绿色版

    能直接恢复硬盘、闪盘、存储卡(如 SD 卡,MMC 卡等等)中的文件,只要没有被重复写入数据,无论格式化还是删除均可直接恢复,支持 FAT12,FAT16,FAT32,NTFS 文件系统。软件操作简单,搜索被删除文件的速度极快,...

    R-Studio v8.10 Build 173987.zip

    它亦可针对严重毁损或未知的文件系统,使用原始文件恢复(扫描已知的文件类型)。亦可用于本地和网络磁盘,即使已格式化、毁损或删除该分区。弹性参数设置,让您得以全面控制数据恢复过程。软件界面美观简洁、简单全面...

    服务器操作系统维护.docx

    NTFS文件系统可以为单个磁盘分区单独设置访问权限。将敏感信息和服务信息分开存放在不同的磁盘分区。防止非法用户访问服务文件所在磁盘分区后,进一步获取其他磁盘的敏感信息。 服务器的操作系统维护2.及时安装"补丁...

    超级数据恢复软件

    (2)超级反格式化分区恢复算法,对于一个被格式化掉的分区进行扫描的时候,同时扫描FAT/FAT32、NTFS和exFAT文件系统的目录文件,自动在内存中重建原来的分区目录结构进行恢复,无需将分区格回原来的类型。...

    Windows Server 2003系统安全管理

    2.1 NTFS文件系统 2.1.1 文件系统类型 2.1.2.NTFS特性 2.1.3 创建NTFS分区 2.2 安装注意事项 2.2.1 安装注意事项 2.2.2 安装补丁注意事项 2.3 部署防御系统 2.3.1 部署防病毒系统 2.3.2 部署防恶意软件 2.3.3 部署...

    一键还原系统 v4.1.29.1.zip

    软件界面美观简洁、简单全面、实用方便,体积小巧、速度超快可快速上手,轻轻松松完成日常系统备份、还原、重装功能,真正做到简单全面实用。是用户实现系统备份、还原、重装功能的好帮手。 一键还原系统功能 1、...

    EasyRecovery Home易恢复个人版 v11.1.0.0.zip

    电子邮件恢复模块可恢复已经删除的电子邮件。 EasyRecovery功能特色: 1、常规恢复各种文档、音乐、照片、视频等数据 2、易于使用的向导驱动的用户界面 3、支持Windows NTFS系统的压缩和加密文件 4、能够扫描...

    winhex 16进制文件转换器 要的赶紧下

    - 支持 FAT, NTFS, Ext2/3, ReiserFS, Reiser4, UFS, CDFS, UDF 文件系统 - 支持对磁盘阵列 RAID 系统和动态磁盘的重组、分析和数据恢复 - 多种数据恢复技术 - 可分析 RAW 格式原始数据镜像文件中的完整目录结构,...

    rar压缩软件.rar

    自解压分卷压缩文件并对没个卷添加恢复记录: rar a -r -v362 -s -sfx -rr save 因为尾指定文件名,假设为所有文件 (*)。 3) 作为一个特别的例外,如果目录名被作为参数指定并且目录名不包 含文件掩码和以反...

Global site tag (gtag.js) - Google Analytics