FBWF(File Based Write Filter),基于文件的写保护过滤:
FBWF是微软在Windows XP Embedded FP2007及以后版本的XPE开发工具中推出的最新写保护技术。在FBWF开启的状态下,如果有写入操作,FBWF将重定向写操作到内存上的一个区域中,我们通常称之为覆盖层。覆盖层类似于原始磁盘的一个投影,对原始磁盘做的任何写操作都将映射到覆盖层中,而我们看到的最终文件内容则是原始磁盘和覆盖层的总和。当覆盖层被删除的时候,例如重新启动计算机,原始磁盘上的数据将保持不变。从下图中我们可以看到FBWF重定向写操作的过程:
FBWF和EWF的对比:
FBWF和EWF技术都是以写入过滤为目的的磁盘和文件保护技术。所不同的是EWF保护的是某一个或者某几个磁盘分区,它可操作的最小单位是磁盘分区。而FBWF保护的最小单位则是文件,也就是说我们可以设置一个磁盘分区上的某一个或者某几个文件夹可以写入,而该磁盘分区上的其他文件夹则是只读状态。在大多数情况下,FBWF由于其灵活性,是更好的选择。然而,只有EWF能够完全的支持NTFS文件格式,以下几项NTFS的特性就是仅在EWF中支持而不能在FBWF中支持的:
  • 文件锁定及解锁 
  • NTFS中的文件ID 
  • Reparse points
  • 文件配额
  • Hard links
  • Opportunistic lock
  • 文件加密
另外,只有使用EWF的状态下,才可以使用Hibernate Once Resume Many (HORM) - 一次休眠,多次启动。而如果启用了FBWF,HORM则不可用。
同时,FBWF也不能够提供以下的EWF功能:
  • 支持多个覆盖层
  • 支持基于磁盘的(DISK)的覆盖层模式
  • 不需要重启,立即提交覆盖层内容和禁用 (-commitanddisable -live)
当然,FBWF技术也有很多优点。
FBWF的优势:
像EWF一样,FBWF将对一个或多个卷提供写保护操作, 并将针对这些卷的写操作重定向到基于内存的覆盖层中。但是因为FBWF提供了文件级的写保护操作,而不同于EWF提供的分区级的写保护操作,它提供了一些EWF中没有的特性:
  • 透明的文件和目录管理 
  • 可选择的写入操作 
  • 可选择的提交和恢复操作 
  • 改进的基于内存的覆盖层使用