编辑
2026-07-17
技术漫谈
00

目录

FreeFileSync 卡在 RaiDrive WebDAV:从同步断流到 C 盘急救
场景
一、先看 FreeFileSync 日志,不要猜
二、用系统侧证据复现
1. 盘符确实挂着,但只是“半可用”
2. 直接读 sync.ffs_db 失败
3. 复制卡住的安装包同样失败
4. RaiDrive 进程状态异常
5. C 盘告急放大故障
三、根因判断
四、同步侧建议(WebDAV 场景)
五、C 盘急救:安全快清实操
清理前盘符概况
实际操作与收益
清理后
几个实用注意点
六、还没做、但收益很大的后续
七、可复用的排查清单
小结

FreeFileSync 对着 WebDAV 同步,进度条半天不动;顺手一看 C 盘只剩 2GB。这次把日志、挂载和急救清盘走了一遍,空闲从 2.2GB 回到 32GB。

FreeFileSync 卡在 RaiDrive WebDAV:从同步断流到 C 盘急救

本地软件库和云盘互相同步,结果进度条卡死不动。我先以为是 FreeFileSync 假死,打开日志才发现:不是算不动,是 WebDAV 虚拟盘读内容时断流。顺带把快写满的 C 盘也救了一刀。

场景

  • 本地目录:D:\虚拟机共享存储\软件仓库
  • 云端目录:Y:\云端软件库(速度快)
  • Y:RaiDriveWebDAV 挂载(\\RaiDrive-Admin\WebDAV,CBFS Connect)
  • 同步工具:FreeFileSync,双向自定义同步,比较方式按文件大小

表面现象:FFS 界面卡住不动,或跑很久只处理 0 项。

一、先看 FreeFileSync 日志,不要猜

日志位置(Windows):

text
%AppData%\Roaming\FreeFileSync\Logs\

本次关键日志:[最后会话] ... [已停止].html

时间线很清楚:

时间事件
14:17扫描完成,800 项,几乎瞬间
14:19Y:\...\sync.ffs_db 失败:ERROR_BROKEN_PIPE
14:19数据库不可用,退回默认同步方向
14:19开始复制 ChatGPT Installer.exe(Y → D)
14:22CopyFileExERROR_ACCESS_DENIED,重试
14:38再次 ERROR_BROKEN_PIPE,会话停止

汇总:已处理 0 项,剩余 2 个约 5.57MB 的安装包,空转近 9 分钟。

结论先写在前面:

不是 FreeFileSync “算不动”,而是 WebDAV 虚拟盘在读库文件和复制内容时断流/拒绝访问

二、用系统侧证据复现

1. 盘符确实挂着,但只是“半可用”

text
Y: -> \\RaiDrive-Admin\WebDAV 类型:Virtual Network Shares / CBFS Connect

资源管理器能列目录,文件名也看得到,这最容易误导人。

2. 直接读 sync.ffs_db 失败

对云端同步库做整文件读取:

  • 耗时约 123 秒
  • 报错:无法在流的结尾之外进行读取

和 FFS 的 ERROR_BROKEN_PIPE: 管道已结束 [ReadFile] 是同一类问题:
元数据能列,内容流中途断掉。

3. 复制卡住的安装包同样失败

目标文件:

text
Y:\云端软件库(速度快)\AI工具\Agent软件安装包\ 【官方微软商店】ChatGPT Installer.exe ~1.4MB 【第三方开源】CodexAppManager_x64-setup.exe ~4.4MB

本地对应目录当时是空的。探测复制约 168 秒 后仍 访问被拒绝

4. RaiDrive 进程状态异常

  • RaiDrive.Mount 长时间高 CPU 累计(运行数天,CPU 时间数千秒级)
  • 内存约 400MB
  • 同时本机还跑着 123 盘、阿里云盘、百度网盘、OneDrive 等,I/O 和网络都在抢

5. C 盘告急放大故障

当时 C 盘仅剩约 2.2GB
FreeFileSync 默认开启 FailSafe 复制,临时文件、系统页面文件都会吃 C 盘,超时和失败会更频繁。

三、根因判断

按可能性排序:

  1. 主因:RaiDrive WebDAV 挂载不稳定
    列表正常,但 ReadFile / CopyFileEx 在真实读内容时断流或拒访。这是“网盘 WebDAV + 同步软件”的经典坑。
  2. 加重因素:C 盘几乎写满
    任何需要临时空间的复制都会更脆。
  3. 次要因素:多网盘客户端并发
    缓存、上传下载、后台索引互相抢资源。
  4. 配置会放大问题
    双向同步依赖云端 sync.ffs_db;库文件一挂,方向判断和后续复制一起乱。

一句话:

FFS 卡在 5MB 安装包上,是因为 Y: 盘读不过去,不是算法死循环。

四、同步侧建议(WebDAV 场景)

  1. 先别硬同步:停掉卡住的 FFS 会话。
  2. 重启 RaiDrive 挂载:断开 Y: → 退出 → 重连,再用资源管理器手动拷那两个 exe 验证。
  3. WebDAV 尽量单向
    云 → 本地,或本地 → 云,少用双向 + 云端数据库。
  4. 过滤垃圾/状态文件
    • *.ffs_db
    • *.ffs_tmp
    • ~$*.tmp
  5. 打开重试:例如 Retry=3、Delay=10(比 Retry=0 更抗抖)。
  6. 大安装包优先官方客户端传
    别把 WebDAV 当本地盘做大库双向同步。
  7. 长期更稳的路线:
    • 官方同步目录做中转,再 FFS 同步“两个本地目录”
    • rclone mount 并认真调缓存/读写缓冲

五、C 盘急救:安全快清实操

同步问题排查完,C 盘 2.2GB 也必须先救。扫完大目录后,执行了“第 1 步安全快清”。

清理前盘符概况

剩余
C2.2 GB
D~49 GB
E~668 GB(归档盘)
F~893 GB

实际操作与收益

操作结果约腾出
结束百度网盘进程,删除 Documents\BaiduNetdiskTmp成功+13.2 GB
清理 %TEMP%4.29→0.1GB(少数占用文件跳过)+4.3 GB
精简 \.cc-switch\backups保留最近 2 份 db,删 3GB+ 历史目录+3.1 GB
归档 \.codex\sessions / archived_sessions / logs_2.sqlite 到 E 盘迁移后重建空目录+3.6 GB
剪切 C:\DriversC:\DrvPath 到 E 盘驱动安装包备份迁移+6.0 GB

清理后

text
C: 2.2 GB → 32.4 GB 空闲

归档位置:

text
E:\C_Drive_Cleanup_Archive\codex\ E:\DriversBackup\Drivers E:\DriversBackup\DrvPath

几个实用注意点

  • 先停占用进程再删(如百度网盘),否则 13GB 临时目录删不干净。
  • Temp 里被锁文件可重启后再清一轮。
  • C:\Windows\InstallerWinSxS 不要手删;系统组件用“磁盘清理 / 清理系统文件”。
  • 驱动包迁走不影响已安装驱动,只是重装时要去 E 盘找源文件。

六、还没做、但收益很大的后续

如果还要继续腾 C 盘,优先顺序建议:

  1. 桌面视频/安装包搬家(约 10–15GB)
  2. 微信 xwechat_files 改保存路径(约 11GB)
  3. 剪映草稿/缓存、Steam 游戏库迁盘
  4. LM Studio / Ollama / screenpipe 数据目录迁到机械盘

目标先把 C 盘稳定维持在 40GB+ 空闲,同步和更新才不会动不动把系统拖死。

七、可复用的排查清单

下次再遇到“同步卡住”:

  1. 打开 FFS 最新 HTML 日志,看第一条真正的错误,而不是只看进度条
  2. net use / 资源管理器确认挂载盘是否为 WebDAV/虚拟盘
  3. 单个小文件做手动复制压测(比直接双向同步更诚实)
  4. 单独测同步数据库文件能否完整读取
  5. 看挂载进程 CPU/内存是否异常
  6. 看系统盘剩余空间是否 < 10GB
  7. 确认是“列表成功、内容失败”还是“网络彻底不通”

如果第 3、4 步就失败,问题在挂载层/云端,换同步参数往往治不好。

小结

这次折腾两件事绑在一起:

  1. FreeFileSync × RaiDrive WebDAV:卡顿根因是虚拟盘读流失败(BROKEN_PIPE / ACCESS_DENIED),不是 FFS 假死。
  2. C 盘急救:删百度临时目录、清 Temp、精简备份、归档 Codex 会话、迁移驱动包,约 +30GB,空闲从 2.2GB 回到 32GB。

WebDAV 适合“能看能下”的轻访问,不适合当高可靠双向同步盘。
本地软件库这种场景,更稳的是:官方客户端落本地目录,再用 FreeFileSync 做本地对本地同步。

本文作者:小转圈

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!