将文件提取(或复制)到压缩的 NTFS 文件夹会导致 Windows 报告磁盘已满,但实际上并非如此

将文件提取(或复制)到压缩的 NTFS 文件夹会导致 Windows 报告磁盘已满,但实际上并非如此

我一直在尝试将一系列压缩文件(总计~50GiB(未压缩))提取到具有大约 55GiB 可用空间的硬盘中。

因为这是一个速度较慢且容量有限的硬盘,并且内容具有高度可压缩性,所以我认为将其提取到启用了 NTFS 压缩的新文件夹中是一个好主意。

现在,随着提取的进行,如果我在任何给定时刻右键单击该文件夹以查看其属性,它将报告正确的磁盘使用情况(例如“大小 4.5GiB;磁盘大小 2.65GiB”)。但是,如果我右键单击驾驶,属性窗口将报告更大的增加的部分被报告为“已使用空间”——事实上,略高于“大小”和“磁盘大小”。

由于 Windows 报告磁盘已满,因此提取将失败。

经过一番研究我发现微软论坛中的一条评论

此问题与已知的 Windows 10 错误有关。当您将文件复制到启用了压缩的 NTFS 文件夹时,驱动器将使用两倍所需的空间,并且直到驱动器重新启动后才会释放这些空间。

这看起来很奇怪,因为在我看来,它似乎违背了透明压缩的大部分目的。但好吧,归根结底我想知道的是是否有办法解决这个问题。

我尝试使用 Process Hacker 在提取过程中暂停,将磁盘设为“脱机”,然后通过磁盘管理器 ( diskmgmt.msc) 将其恢复为“联机”,并恢复该过程。然后“已用空间”数字被正确报告,但提取失败。

有实际的解决方案吗?

答案1

我自己也遇到过这种情况,并且能够解决这个问题并且无需重新启动即可恢复空间。

需要注意的是,我有足够的空间来解压缩文件并重新压缩它们。

另请注意,我发现如果我将压缩文件复制到另一个压缩文件夹,该文件占用的空间几乎是预期的 4 倍。解压并重新压缩后,文件大小恢复正常,驱动器可用空间也一致。

因此,我尝试解压第一个压缩文件夹中的文件,然后将它们复制到第二个压缩文件夹中,结果它们占用的空间是预期的两倍。再次解压文件并重新压缩它们,解决了空间问题。

这是一个超现实的错误。我的意思是,当你解压文件时,你看到驱动器空间增加,这很奇怪。

答案2

我解决这个问题所采用的步骤如下:

  1. 在目标文件夹上禁用 NTFS 压缩
  2. 开始提取
  3. 监视磁盘空间使用情况和暂停(冻结)磁盘空间即将用尽时执行解压缩的工作进程
  4. 选择除最后一个之外的所有解压文件;右键单击它们并启用 NTFS 压缩
  5. 等到它们被 NTFS 压缩
  6. 恢复被暂停的进程的执行
  7. 继续执行步骤 3 - 6,直到提取所有文件
  8. 最后,在目标文件夹上重新启用 NTFS 压缩。

这就是我安装的方法使命召唤:现代战争重制版

相关内容