开源地址: https://github.com/jqknono/migrate-to-win11-dev-drive
简而言之, COW 功能识别重复文件, 只保存一份, 减少磁盘占用和磁盘写入.
Dev Drive 缓存迁移脚本是一个交互式 PowerShell 工具,旨在帮助开发者将各种开发工具的缓存目录迁移到 Windows 11 的 Dev Drive (ReFS 文件系统) 上,以提高性能、延长硬盘寿命并减少磁盘空间占用。
node_modules
缓存、Python 的 pip 缓存等) 从系统盘移出,可以显著释放宝贵的系统盘空间。Dev Drive 基于 ReFS 文件系统,利用了 Copy-on-Write (COW) 技术。COW 是一种资源管理技术,其核心思想是:当多个调用者同时请求相同资源时,它们最初会共享同一份资源。只有当某个调用者需要修改资源时,系统才会为该调用者创建一份资源的副本,然后让其修改这个副本,而不会影响到其他调用者所使用的原始资源。
在 Dev Drive 的场景中,COW 技术带来了显著的优势:
Windows 11 引入了 Dev Drive ,这是一种专为开发者优化的存储卷。Dev Drive 使用 Resilient File System (ReFS) 作为其文件系统,并启用了专门的优化功能。
ReFS (Resilient File System) 是微软开发的新一代文件系统,相较于传统的 NTFS ,它具有以下优势:
Dev Drive 优化: 在 ReFS 的基础上,Dev Drive 进一步为开发者工作负载进行了优化,例如针对包管理器缓存、构建输出等场景的性能提升。
本脚本提供以下主要功能:
以管理员身份运行 PowerShell 7 (pwsh),然后执行以下命令直接下载并运行最新版本的脚本:
iex "& { $(irm https://raw.githubusercontent.com/jqknono/migrate-to-win11-dev-drive/main/Setup-DevDriveCache.ps1)} -Lang zh"
.\Setup-DevDriveCache.ps1
。 1
idealhs 3 小时 22 分钟前
REFS 这玩意网上评价不太好,不过 Dev Drive 我其实一直在用,没有感觉到太大区别。
|
3
idealhs 2 小时 2 分钟前
@jqknono 兼容性,稳定性,工具链都比较差吧。你搜搜看网上骂的一大把,我估计微软本身也没把这个做多完善就先放出来了。REFS 本身还是面向企业级存储的,而且设计瞄准的是存储池,而不是单机硬盘。不知道为什么 MS 把他作为 Dev Drive 用,也许只是想用一下 COW 特性吧。不论如何,我日常使用下倒没有出现 bug 影响工作。
|
![]() |
4
cheng6563 1 小时 56 分钟前
@jqknono 丢数据
REFS 这玩意全靠 RAID1 保证数据可靠,没有 RAID1 的情况下若校验不过直接会删除文件,让你 chkdsk /f 的机会都没有。btrfs 还能让文件系统只读呢。 家用无 ECC 内存校验的情况下这是迟早的事情。 然后就是 REFS 版本号刷的非常多,出现过升级直接炸盘的先例。 |
5
artiga033 1 小时 50 分钟前 via Android
@idealhs 你看网上骂 win11 、win11 的某次更新、某个补丁的也一大把,幸存者偏差罢了。而且 dev drive 本来就不是给普通用户用的,微软也只推荐放缓存之类的丢了也无所谓的内容,虽然我自己其实把代码也放里面了
dev drive 还有个好处是默认不会被 defender 狂扫,不然 defender 没事就扫两边 node_modules 这种重量级 不过确实看 benchmark ReFS 性能没比 NTFS 高多少,它又不支持自动去重所以这个 CoW 和硬链接也没差,但有总归没有好,比如 uv 就支持在 ReFS 上使用 CoW ,https://docs.astral.sh/uv/reference/settings/#link-mode |