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语义。
解决建议与结论
- 临时解决方案:降级Git版本到2.47.1.2(Portable或安装版均可),可直接规避该ReFS文件系统兼容性问题
- 长期处理方案:向Git官方提交Bug报告,说明ReFS文件系统下,携带POSIX语义标记的
SetRenameInformationEx操作不被支持的问题
内容的提问来源于stack exchange,提问作者Duff
相关产品推荐
相关产品推荐

