跳到正文
发现
WinFsp:Windows 用户态文件系统框架
桌面应用开发者工具

WinFsp:Windows 用户态文件系统框架

让开发者在 Windows 上用用户态程序编写自己的文件系统,无需了解内核编程,相当于 Windows 版的 FUSE。

admin
发布于 2026-10-28
浏览
4
访问
0
下载
0
版本
v2.1
平台
Windows
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。

详细介绍

项目简介

WinFsp(Windows File System Proxy)是一个面向 Windows 的自定义文件系统开发与运行时支持平台。通常任何信息或存储都可以通过 WinFsp 组织并呈现为一个文件系统,其好处是这些信息可以被任何 Windows 应用程序通过标准 Windows 文件 API 访问。

WinFsp 的核心由两部分组成:一个内核态文件系统驱动(FSD)和一个用户态 DLL。FSD 与 Windows 内核交互,处理以文件系统驱动身份出现所需的全部工作;DLL 与 FSD 交互并提供 API,用于实现文件系统的各项功能。例如当应用程序尝试打开文件时,文件系统会收到一个带有必要信息的 Open 调用。

它与 Linux 及其他类 UNIX 系统上的 FUSE(Filesystem in Userspace)相似,开发者可以像写普通用户态程序一样编写「Windows 盘符」。

主要功能

  • 易于开发:为 Windows 开发内核态文件系统出了名地困难,WinFsp 让文件系统开发相对轻松,官方提供 Tutorial 说明如何构建文件系统。
  • 稳定性:没有已知的内核态崩溃、资源泄漏等问题,这得益于其 Design 与严格的 Testing Regime。
  • 正确性:力求文件系统正确性以及与 NTFS 的兼容,详见 Compatibility 文档。
  • 性能:在许多文件系统场景下,其性能可与 NTFS 相当甚至超过 NTFS,详见 Performance。


  • 广泛支持:支持 Windows 7 到 Windows 11,以及 x86、x64、ARM64 架构。
  • 灵活的 API:包含 Native、FUSE2、FUSE3 和 .NET API。
  • Shell 集成:提供让用户态文件系统与 Windows Shell 集成的设施,参见 Service Architecture 文档。
  • 自包含:软件自包含,没有外部依赖。
  • 使用广泛:被众多开源和商业应用采用,装机量达数百万(估算值,WinFsp 项目并不跟踪其用户)。
  • 灵活的许可:以 GPLv3 许可发布,并对自由/开源软件提供特别例外;同时提供商业许可。

安装与使用

下载并运行 WinFsp 安装程序。安装时选择安装「Developer」文件,其中包含 MEMFS 示例文件系统,以及可用于开发自己的用户态文件系统的头文件和库文件。

也可以通过 Chocolatey 安装:choco install winfsp。

启动文件系统进行测试

可以通过命令行启动 MEMFS 来测试 WinFsp:

billziss@xps ⟩ ~ ⟩ net use X: \\memfs64\test
The command completed successfully.

billziss@xps ⟩ ~ ⟩ X:
billziss@xps ⟩ X:\ ⟩ echo "hello world" > hello.txt
billziss@xps ⟩ X:\ ⟩ dir

    Directory: X:\

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         6/12/2022   5:15 PM             28 hello.txt

billziss@xps ⟩ X:\ ⟩ type hello.txt
hello world
billziss@xps ⟩ X:\ ⟩ cd ~
billziss@xps ⟩ ~ ⟩ net use X: /delete
X: was deleted successfully.

MEMFS(以及所有按 Service Architecture 文档使用 WinFsp Launcher 的文件系统)也可以在资源管理器中通过「映射网络驱动器」功能启动。

注意事项

  • 本项目主要面向 Windows 平台,需先安装 WinFsp 运行时/驱动后,用户态文件系统程序才能运行。
  • 若要自行开发文件系统,安装时务必勾选「Developer」文件选项,否则不会安装示例、头文件和库文件。
  • 许可为 GPLv3 并附带自由/开源软件的特别例外;商业使用可另行获取商业许可,详情需联系作者。

本作品整理自 GitHub 开源项目 winfsp/winfsp,原作者 @winfsp。中文介绍由 AI 根据项目 README 整理,以原仓库为准。

更新记录

  1. v2.1当前版本

    修复与部分杀毒软件(如 Trend Micro)的兼容问题;修复 Windows 11 近期版本上的若干罕见蓝屏;修复网络驱动器上 NtCreateFile 相对打开的问题及 FSD 启动竞争问题。

评论