双击一个压缩包,弹出来的提示通常是「文件头已损坏」「压缩文件已损坏」,后面还可能跟着 0x80004005、0x8007000D 这样的错误码。另一种表现更隐蔽——进度条走到某个百分比就停住,最后只解出一半文件。
这类报错里,真正需要重新下载或者送修的只是一部分。多数情况是下载中断、介质读取出错或者解析引擎不兼容造成的,包里的文件往往还能救回大部分。文件头损坏不等于整个包报废。
处理顺序是:先用文件大小和 SHA256 确认是不是没下完,再用测试模式判断坏在哪一段,最后走容错提取把能读的文件捞出来。下面这套方法在 Windows 10/11 实测可用。
适用系统:Windows 10/11;最后更新:2026-10-09。
提示文字本身信息量不大,真正有用的是错误码和出错位置。先看清报错原文和错误码,再判断是下载不完整、介质读取出错,还是解压引擎不兼容,能省掉反复重试的时间。
看到的提示 | 说明什么 | 下一步 |
|---|---|---|
文件头已损坏、压缩文件已损坏 | 包的开头读不出来 | 先按方法一核对大小与 SHA256 |
| 数据段读不出来,常见于没下完或介质出错 | 确认包完整后走容错提取 |
| 某个文件的数据段校验不过 | 记下文件名,跳过坏块继续提取 |
进度条卡在某个百分比 | 读到固定位置就中断 | 用 |

很多「文件头已损坏」的提示,起因只是包没下完。先核对文件大小、文件名后缀和官方哈希值,这一轮就能挡掉大半的误判。
.baiduyun.p.downloading、.crdownload、.part、.tmp 这类后缀,说明下载停在中途,删掉重下。Win+R → cmd,执行:certutil -hashfile 包名.zip SHA256这一步做完再动手,后面几条命令才有干净的样本可用。
7z t 是只读检测,不动原包,也不往硬盘写半截文件。先看清坏在哪一段,再决定怎么救。
Win+R → cmd,进入压缩包所在目录,例如 cd /d D:\download。7z t 包名.zip它会逐块读出,把 CRC 错误所在的那一段报出来。
Everything is Ok,说明包本身完好,问题出在解压软件或者目标路径的权限上;出现 CRC Failed、Data Error,就记下出错的文件名。0x8007000D、数据错误 - 该文件已损坏 时,先把出错文件清单记下来。把出错文件的名字记全,容错提取时就知道哪些要重点检查。
带容错参数的提取会跳过坏块继续往下走,先把没坏的文件完整拿出来,剩下的再单独处理。
7z x -y 包名.zip -oD:\out遇到坏块跳过继续,不中断整包。
unrar x -kb 包.zip D:\out\-kb 表示保留已损坏的文件。
这一步的原则是能捞多少先捞多少,别为了救一个坏文件反复重跑整包。

不同解析器对结构异常的包容度不一样,换个引擎或者走修复模式重建中央目录,常能多救回一批文件。
bsdtar,Win+R → cmd 执行:tar -xf 包名.zip它对结构异常的 zip 容错更好。
zip -FF 坏包.zip --out 修复后.zip走修复模式重写文件结构。
修复后.zip 再用 7z t 测一次,对比出错块有没有减少。.rar 可以用 unrar r 重建索引,或者改用 7-Zip 打开再提取。换引擎之后仍然报错的块,基本就是原始数据已经写坏,继续纠结意义不大。
包也可能是在坏道、坏卡上读坏的。先把文件搬离原来的介质,再考虑重新获取或者从备份恢复。
D:\fix)再解压,别在原地解。chkdsk D: /f报出坏道时,整包重下比重修更省事。
介质本身有问题时,读出来的每一份副本都可能再坏一次,先把数据搬到健康的硬盘上再说。
文件头已损坏无法解压,里面的文件还有救吗?
多数还能救一部分。用 7z x 容错提取,能读的文件会照常导出,只有落在坏块上的那几个文件会导出失败或者内容截断。
7z t 测试提示 CRC Failed 还能继续解压吗?
可以。CRC Failed 说明某个文件的数据段校验不过,先记下文件名,再用 7z x 跳过坏块提取,其余文件不受影响。
解压报 0x8007000D 数据错误怎么处理?
这个错误码表示数据段读不出来,通常发生在下载不完整或者介质读取出错的包上。先按方法一核对大小和 SHA256,确认包完整后再走容错提取。
下载的 zip 后缀是 .baiduyun.p.downloading 能直接解压吗?
不能。这个后缀说明下载还停在中途,改成 .zip 强行解压只会报文件头错误。删掉重下,等下载完成后系统会自动把后缀去掉。
RAR 提示「文件或目录损坏且无法读取」怎么办?
先用 7-Zip 打开这个 rar 试试,它对新版 RAR5 结构和部分损坏索引的容错更好。仍然打不开就执行 unrar r 重建索引,再不行只能回到来源重新拿一份。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。