- 67
- 0
- 约3.12千字
- 约 4页
- 2017-06-08 发布于重庆
- 举报
C盘写保护-EWF原理详解
EWF原理详解
EWF 全称 Enhanced Write Filter 增强型写入过滤 所有热衷于XPE开发的人都知道,基于Compact Flash Cards CF卡 的EWF开发是一个热点问题。我整理了一些关于这方面的相关问题,让我们把这个问题划分为两大方面:如何设置EWF和如何使EWF工作在CF卡上。
首先我们来了解一下,什么是Enhanced Write Filter? 如果你非常熟悉Windows NT Embedded 4.0下的Write Filter功能,那么你需要完全放掉对这个功能的理解,虽然从功能和命名上看Enhanced Write Filter 和 Write Filter 很相似,但是如果你用相同的思维方式理解Enhanced Write Filter和Windows NT Embedded 4.0下的Write Filter功能,你会感到很困惑。 要正确地理解EWF,我需要先介绍一下覆盖层的概念。一个覆盖层理论上是置于被保护卷的上方,所有对保护卷的读写操作都要先经过覆盖层。开启过滤功能后,被保护卷将不能被写入,但是可以读取信息。如果目标信息不在覆盖层上,那么覆盖层可以通过读保护卷的操作,但是将会过滤写入的操作,所有的针对保护卷的写入操作都将记录在覆盖层上。写入数据流程如下图所示:
读取数据流程如下图所示: 因此,覆盖层究竟在哪里呢?在Windows NT Embedded 4.0中,Write Filter隐藏在所有的可用内存中,如果它需要,它会消耗掉很多的内存空间。当内存空间耗尽,出现内存溢出的情况,系统将停止运行 俗称死机 。而EWF则允许它的覆盖层开辟在内存或者磁盘的第二个分区 扩展分区或者自由分区 。这个区别在小的磁盘空间上有明显的作用,覆盖层可以存在于内存上。 基于RAM 内存模式 创建的EWF覆盖层是临时的,它的创建是在每次机器启动的时候,同样,在每次机器重新启动的时候它也会自动消亡,覆盖层上操作也会全部丢失。基于RAM的覆盖层的访问速度是非常快的,这取决于内存和硬盘的读写速度原因。然而,基于RAM的覆盖层的尺寸是受限于内存中的未使用页面的尺寸,这点区别于基于DISK模式。当对保护卷的读写操作非常频繁的时候,内存也会因为覆盖层的不断膨胀而消耗殆尽。 基于DISK 磁盘模式 创建的EWF覆盖层位于物理磁盘的空间上,所以静态信息可以被保存在覆盖层上,即使断电也不会丢失。写入的信息可以从覆盖层提交到被保护卷。DISK模式建立的覆盖层读写速度要比RAM模式建立的覆盖层慢。覆盖层尺寸的设置应该等于被保护分区尺寸的大小,该设置在构建XPE工程的过程中完成(目标设计器Enhanced Write Filter组件的Setting中)。 这两种类型的覆盖层有着一些共性,它们在开启状态下都不允许把信息直接写入到被保护磁盘内。无论EWF的开启或者关闭状态,都允许将更新后的信息提交到被保护分区。你还可以设置多个覆盖层对应每一个分区卷标,同时每一个覆盖层都可以在运行时独立控制。
为什么要使用EWF呢? 如果你想从El Torito CD-ROM引导操作系统的话,你没有选择-你必须用它来提供系统的正常运行 一个正常的Windows操作系统在启动的时候需要简单的写入注册码 。你也可以使用该功能来保证你的引导分区避免不必要的写入,增强系统的健壮性,或者保护你的引导分区避免异常断电带来的损耗! 接下来我们将探讨以下内容,CF卡设备是如何在EWF功能中获得保护的?CF卡具有以下特性-由于频繁的读写操作会使之性能快速降低和坏块急剧增加,使用EWF将过滤所有向Flash存储介质的写操作,以延长CF卡的使用寿命。
如何配置Enhanced Write Filter? 如果要使用EWF,你需要添加Enhanced Write Filter 组件到你的工程配置中去,并且确认在添加该组件后你重新进行了依赖性检查 - 该组件需要EWFLDR组件支持,EWFLDR相当于NTLDR。一旦你添加了Enhanced Write Filter组件,就需要点击该组件下的Settings对他进行设置。如下图所示: 在Settings的设置项中,顶部一半的设置实际上是在设置覆盖层的相关信息,这些包括被保护卷的数量,覆盖层的级别和EWF分区的尺寸。 在Settings的设置项中,底部一半的设置实际上是显示每一个被保护分区的详细信息。你可以在指定的分区上开启或者关闭EWF功能,并且开启缓存写入模式 Enable Lazy Write,EWF缓冲存到磁盘中的一种优化的方式,指定是否受保护卷映射数据写入缓存,以提高性能 。磁盘号、分区号和磁盘类型是非常重要的 - 因为我们需要通过这些设定来确认哪一个磁盘分区将被保护。你也可以指定被保护分区的覆盖层是基于
原创力文档

文档评论(0)