You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git在ReFS格式D盘初始化失败:提示无法写入配置文件

Git在ReFS分区执行git init失败问题排查与解决建议

问题现象

  • 系统环境:Windows Server 2022,C盘为NTFS格式,D盘为ReFS格式
  • Git版本:2.49.0.windows.1
  • 异常表现:C盘执行git init可正常完成,D盘执行GIT_TRACE=1 git init时报错:
22:20:20.276107 exec-cmd.c:266          trace: resolved executable dir: C:/Program Files/Git/mingw64/bin
22:20:20.281110 git.c:476               trace: built-in: git init
error: could not write config file D:/test/.git/config: Function not implemented
fatal: could not set 'core.repositoryformatversion' to '0'
  • 补充说明:C、D盘权限一致,可手动在D盘创建配置文件,暂未明确报错中“未实现的功能”具体指向。

排查过程与关键发现

2025/05/14 更新

通过SysInternals Process Monitor追踪到,Git在处理D:\blah\.git\config.lock文件时,执行SetRenameInformationEx操作返回“NOT SUPPORTED”,该操作携带的标记为:

  • FILE_RENAME_REPLACE_IF_EXISTS
  • FILE_RENAME_POSIX_SEMANTICS
    操作目标为D:\blah\.git\config文件。

2025/05/14 更新#2

版本测试验证结果:

  • Portable Git 2.47.1.2版本在D盘执行git init无异常
  • Git 2.48.0 RC0及以上版本均出现该问题
    → 推测问题是Git 2.48.0 RC0版本引入的兼容性Bug。

2025/05/14 更新#3

核对Git 2.48.0-rc0发布说明,发现一条疑似相关的更新内容:

MinGW兼容层已新增支持:当其他进程打开目标路径文件时,原子重命名的POSIX语义。

解决建议与结论

  1. 临时解决方案:降级Git版本到2.47.1.2(Portable或安装版均可),可直接规避该ReFS文件系统兼容性问题
  2. 长期处理方案:向Git官方提交Bug报告,说明ReFS文件系统下,携带POSIX语义标记的SetRenameInformationEx操作不被支持的问题

内容的提问来源于stack exchange,提问作者Duff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 03:15:06