服务器 2016 上的 /EXE 出现 NTFS 压缩错误

服务器 2016 上的 /EXE 出现 NTFS 压缩错误

我正在尝试使用compact文件服务器上的实用程序透明地压缩一些文件。这些文件基本上是文本备份,并且可以轻松以 10:1 或更高的比率压缩。

它们很少被读取,也从不被写入,因此我想为此使用更好的优化XPRESS4K或压缩。但是,我收到以下错误:LZX

compact /c /exe:XPRESS4K .\BigFile.dat

 Compressing files in D:\Exports\

BigFile.dat [ERR]
BigFile.dat: The file system does not support compression.

然而,它在其他方面可以正常工作:

  • 正常compact /c D:\Exports\BigFile.dat成功完成(但速度极慢)。
  • 我也可以将同一个文件复制到C:驱动器,然后/exe:XPRESS4k正常使用。

我已经检查过簇大小是否正确,但我认为不再需要它们了:

  • chkdsk D: /I /C返回4096 bytes in each allocation unit
    • The type of the file system is NTFS,均受支持。
  • 操作系统是 Windows Server 2016,并且是最新版本。
  • fsutil fsinfo ntfsinfo O:返回与C:

我知道文件系统出了问题,但据我所知应该没有其他要求?

答案1

请注意compact.exe支持两种不同的方法:

  1. 经典的 NTFS 压缩也存在于旧版本的 Windows 中,可以通过“压缩内容以节省磁盘空间”从文件资源管理器中启用/禁用。这是在未设置 /EXE 参数时使用的压缩。

  2. Windows Overlay Filter (Wof) 或 DeviceIOControl,控制代码为 FSCTL_SET_EXTERNAL_BACKING。/EXE:*algorithm*

当您在 Windows 2016 中的 C: 卷中使用 Wof 压缩时,它可以正常工作,但在附加的数据卷中,它可能会失败并显示“文件系统不支持压缩。”。我不知道原因或是否是错误,但 Windows 2016 与 LZX 和 XPRESS 算法完全兼容,因为它能够Wof­Compressed­Data在系统根卷中读取和写入相关的备用数据流。

作为一种解决方法,您可以按照以下步骤在 Windows 2016 的数据卷中将 compact.exe 与 Wof 一起使用:

  1. 将数据卷附加到 Windows 10/11 系统。
  2. 使用 /EXE 参数压缩附加数据卷中的任何文件。
  3. 分离数据卷并将其附加到Windows 2016系统

从此时起,您将能够压缩数据卷中的任何文件或文件夹,甚至可以从任何 Windows 2016 中压缩。

相关内容