我将自解压文件下载W.exe
到 Windows 10 20H2 机器上,但是当我运行W.exe
提取存档时,出现错误:(failed to extract archive
打开/关闭安全设置时结果相同)。
- 我
W.exe
从同一来源下载到我的 Mac [调用此文件M.exe
],将其移动到 Windows 机器,当我运行时M.exe
,它成功提取 - 各种详尽的系统测试都没有问题,所以我使用 WinZip 进行分析,
W.exe
当M.exe
我比较详细分析时,我发现文件之间存在一些差异:- 中央目录末尾的位置
W.exe
:::194,825,440
M.exe
195,002,183
- 中心目录的相对偏移量
W.exe
:::194,825,309
M.exe
195,002,952
- 中央目录末尾的位置
这些差异重要吗?如果重要,这是怎么发生的?
答案1
当然这很重要,它们应该具有相同的大小、内容和哈希值,但事实并非如此,文件 M 没问题,清楚地表明 W 已损坏,一切都清楚了。至于它是如何发生的,我的第一猜测是在下载过程中。文件传输过程中可能会发生很多事情。如果网络条件由于任何原因发生变化,例如断开连接一段时间,文件很可能已损坏。如果不是在下载过程中,那么故障就出在您的机器上。最常见的是文件系统损坏,碎片可能导致文件系统损坏,突然断电也可能导致文件系统损坏。尝试在 cmd 中使用 chkdsk 检查您的文件系统。如果以上两种情况都不是,那么您的硬盘有坏扇区,同样这可能有很多原因,但是硬盘越老就越容易出现坏扇区。
更新
我似乎在这里看到了一种模式,如果机器在同一个网络中,并且chkdsk
未能mdsched
发现问题,如果在 Mac 上下载的文件没有问题但在 Windows 上损坏了,那么问题似乎与 Windows 有关;尝试另一台 Windows 机器,这次使用全新安装,将其放在同一个网络中,看看是否W
也损坏了;尝试另一台 Mac,看看是否M
也没问题;如果两者都属实,那么问题在某种程度上是操作系统特定的……