为早期版本 Windows 移植 Windows Vista SP1/Server 2008 的 exFAT 驱动

exFAT(Extended File Allocation Table)是一种专为移动存储设计的扩展 FAT 文件系统,它是在 NTFS 对移动存储而言过于复杂、FAT32 又因为自身的限制使移动存储存在诸多不便的情况下,填补移动存储文件系统的空缺而设的。相比而言,exFAT 应用于移动存储领域拥有如下六大优点:

  1. 有效满足移动存储日益增长的空间需求,支持最大 32MB 的簇(恐怖,NTFS 才 64KB)以及 32GB 以上的移动存储;
  2. 支持在一个文件夹中存放上千个文件;
  3. 加速移动存储的数据分配与调度;
  4. 突破 FAT32 单个文件不能超过 4GB 的限制;
  5. 具有对各种操作系统的良好协同兼容性;
  6. 包含可使 OEM 厂商为特定设备自定义文件系统参数的扩展性支持。

因此 exFAT 更适合成为移动存储的首选文件系统。

目前只有包含了 SP1 的 Windows Vista/Server 2008(6.01.18000)原生提供对 exFAT 的支持,它们不仅可以访问 exFAT 移动存储器,而且可以使用 FORMAT /FS:exFAT 命令将移动存储器格式化为 exFAT 文件系统。早期版本的 Windows(包括 Windows XP/Server 2003、Windows Vista RTM 等)均不支持 exFAT,但是我们可以手动将 Windows Vista SP1/Server 2008 中的 exFAT 驱动移植到早期版本的 Windows,使其支持 exFAT。在此以 Windows XP 为例。

首先从 Windows Vista SP1 或者 Windows Server 2008 系统(这两个操作系统文件版本是一样的,都是 6.01.18000,Windows Server 2008 本身即自带 SP1,参见《闲话 Windows Client & Windows Server -合久必分、分久必合》一文)提取 exFAT 驱动程序文件 Windowssystem32UEXFAT.DLL 与 Windowssystem32driversEXFAT.SYS,将它们复制到 Windows XP 的上述文件夹。

然后将下列文件保存为 .REG 注册表文件,双击导入注册表:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesexfat]
"Description"="exFAT File System Driver"
"DisplayName"="exFAT File System Driver"
"ErrorControl"=dword:00000001
"Group"="Boot File System"
"Start"=dword:00000002
"Type"=dword:00000002

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogSystemexfat]
"EventMessageFile"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,49,00,6f,00,4c,00,6f,00,67,00,4d,00,73,00,67,00,2e,00,64,00,6c,00,6c,00,00,00
"TypesSupported"=dword:00000007

上述三个文件可以从本文结尾处的附件下载。

重新启动 Windows XP,即可完成 exFAT 驱动的移植。

但是,这个 exFAT 驱动移植仅限于读取 exFAT 移动存储器,不支持以 exFAT 文件系统执行格式化。而且,在访问 exFAT 移动存储器时,不要试图使用 Windows XP 的 CHKDSK 对 exFAT 移动存储器执行扫描。

http://cid-560842b1bee145bd.skydrive.live.com/embedrowdetail.aspx/Soft/exFAT.ZIP

原文来自:http://blogs.itecn.net/blogs/alexis/archive/2008/11/28/_3A4EE9651F6748722C678476_-Windows-_FB790D69_-Windows-Vista-SP1_2F00_Server-2008-_8476_-exFAT-_719AA852_.aspx