youke1686 / FlyDisk
git clone https://github.com/youke1686/FlyDisk.git
Windows 上的开源硬盘加速器 · Open-source hard drive accelerator for Windows
—
stars, 24h
—
stars, 7 days
+268
stars, 30 days · #965
268
★ total
11
forks · 9 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageC#
License—
Created2026-10-03 (17d ago)
Last push3d ago
Watchers3
OwnerUser
Links
README excerpt
# FlyDisk **简体中文** | English Windows 机械硬盘块级缓存加速器 · 让你的机械硬盘飞起来! > 本项目处于 **Beta 测试阶段**,不保证 100% 稳定,**请勿用于重要数据**。 ## 简介 FlyDisk 是一款面向 **机械硬盘(HDD)** 的加速工具。它会接管你指定的那块 HDD,在它前面铺一层由内存和固态硬盘组成的缓存,把反复读取的「热数据」**留在快盘或内存上**,从而缓解机械盘 **寻道慢、随机读慢** 的老毛病。 它的做法是块级接管,即 **完全接管一整块物理硬盘**:点「启动加速」后,程序把目标盘 **整盘脱机并独占**,再通过本机的 iSCSI 目标把这块盘重新暴露给 Windows。Windows 会像平常一样挂上盘上原有的 NTFS 卷,**原来的盘符也会回来**。此后你对该 iSCSI 盘的读写都会先经过缓存层。 ## ⚠ 使用前请知悉 - 本软件处于 **Beta 测试阶段**,不保证 100% 稳定,**请勿用于重要数据**。对于因此造成的损失,我们不承担任何责任。 - 理论上存在**游戏误封号可能**,虽然可能性极小,但如果用于游戏加速,依旧务必先**新开小号**做**至少一周高强度游戏**的可行性验证。 - 使用 L2 时,停止加速后目标盘会保持脱机、在系统里看不到,这是有意设计:盘归本程序独占,跨重启的缓存才敢采信;未使用 L2 的盘会在停止成功后自动联机。需要手动还盘见菜单「重新联机硬盘」。 - 程序必须 **以管理员身份运行**(安装包已声明,双击时会弹 UAC),否则无法把整盘脱机或独占打开。 ## 快速上手 第一次使用,照下面几步走即可。 1. 双击运行 `FlyDisk`,在 UAC 弹窗点「**是**」(如果有)。主界面出现。 2. 点主界面中间的「**启动加速**」按钮,弹出「**选择要加速的硬盘**」对话框。 3. 在列表里选择你想加速的机械硬盘,点「**确定**」。 4. 程序开始启动,通常只需等待 5 秒左右,日志区会逐步打印进度。 5. 中心按钮显示「停止加速」后,打开「此电脑」,确认盘一切正常。 6. 开始使用你的硬盘,感受 **飞一样的速度**。 7. 使用完成后可以点击「**停止加速**」使硬盘空载,或直接关机(稳定性未充分测试,不是非常推荐),下次再使用时重新进行「**启动加速**」流程。 > **提示**:加速效果取决于你的访问是否「有热点缓存」。反复打开同一个软件、反复读同一批文件时最明显;全盘顺序读写这类没有重复的场景,加速收益有限。 > > 目前不支持开机自启、自动加速。 ## 跑分实测 | 机械硬盘加速前跑分 | 机械硬盘加速后跑分 | 作为对比,固态硬盘跑分 | | :----------------: | :----------------: | :----------------: | | | | | 可以看到,机械硬盘在经过加速后,尽管纯顺序读写性能有所下降,但随机读写性能有了 **25 倍** 左右的显著提升,甚至在低队列情况下接近SSD。 考虑到目前程序主要针对随机读写优化,情有可原,顺序读写方面依旧有很大开发潜力。 但是 ### 作为对比,PrimoCache 加速同一块 HDD 的跑分 性能提升并不是同一个数量级,还是推荐有财力的去买 PrimoCache 吧。 但是 ## 效果实测 | 方法 | 原神启动(至冬堡) | 原神传送(沃雅妮莎聚所) | | --- | --- | --- | | 加速前/冷启动 | 4 分 | 12 秒 | | L2 加速热启动 | 1 分 58 秒 | 10 秒 | | L1 加速热启动 | 1 分 08 秒 | - | | PrimoCache L1 加速热启动 | 1 分 20 秒 | 6 秒 | 可以看到,尽管PrimoCache在跑分方面有显著优势,但在实际使用中(至少在原神中),二者差距并不大。 ## 两级缓存 L1 / L2 FlyDisk 的缓存分两层,术语统一叫 **L1 缓存** 与 **L2 缓存**。 | 层 | 介质 | 特点 | 断电后 | | --- | --- | --- | --- | | **L1 缓存**(内存缓存) | 系统内存 | 最快,容量小,根据整机内存占用自动淘汰 | 不保留 | | **L2 缓存**(硬盘缓存) | 另一块盘(推荐使用 SSD) | 比内存慢但通常容量大,跨重启保留 | 保留 | ### 缓存怎么工作 我们目前只支持读缓存。当系统需要读取硬盘中的数据时: - 系统默认行为:直接从源盘读取(会有少量内存缓存,但通常可以忽略)。 - 我们的行为:优先从 L1 / L2 中读取数据,若 L1 / L2 中均没有对应数据,才回到源盘读取,并同时直接存放到 L1 中,按需存放到 L2 中,以便下次读取到相同数据时的加速。 > **注意**:L2 能跨重启保留,但在上次出现非正常退出、目标盘被手动联机等情况后需要进行全量校验以保证数据不出错。启动时若发现问题,程序会弹窗让你选择。 > **⚠ 警告**:在开启 L2 功能时,你 **有责任避免** 进行手动脱机、使用另一个电脑或双操作系统下的另一个系统使用该硬盘等会 **令 L2 和实际数据不一致** 的操作。这类操作我们的程序无法有效自动察觉,应 **手动触发一轮 L2 校验**。如你不确定你的操作是否会导致上述问题,也应 **手动触发一轮 L2 校验**。 ## 许可证 本项目以 **GNU GPL v3 或更新**(GPL-3.0-or-later)发布,全文见 LICENSE。每个源文件顶部亦带有版权与授权声明。 第三方组件与许可证清单见 THIRD-PARTY-NOTICES.md,随程序分发的许可证全文在 `FlyDisk/Licenses/` 下。 Copyright (C) 2026 youke1686 (https://github.com/youke1686)