NTFS 分区上的文件属性是什么sparse
以及如何删除它?
使用 Windows 7、Windows 8 和 Windows 8.1。
答案1
妮可·汉密尔顿(Nicole Hamilton)提供稀疏文件的描述。
我们通过一个实验来学习一下。
创建稀疏文件
以管理员身份启动命令提示符 ( cmd.exe
)。
创建大文件:
fsutil file createnew test.nul 1048576
- 在资源管理器中检查其大小:
- 大小:1.00 MB (1,048,576 字节)
- 磁盘大小:1.00 MB (1,048,576 字节)
我们将其标记为稀疏:
fsutil sparse setflag test.nul
- 到目前为止没有任何变化,两个大小仍然是 1.00 MB。
我们将整个字节范围标记为稀疏:
fsutil sparse setrange test.nul 0 1048576
- 现在尺寸发生了巨大变化:
- 大小:1.00 MB (1,048,576 字节)
- 磁盘大小:1.00 KB (1 024 字节)
您可以使用以下命令查询文件是否稀疏
fsutil
:fsutil sparse queryflag test.nul This file is set as sparse
或者
This file is NOT set as sparse
的价值磁盘大小取决于文件系统的簇大小。NTFS 上的默认簇大小为 4 KB。我用于测试的驱动器格式化为 1 KB 簇。
我使用这篇文章作为来源。
删除稀疏属性
我在示例中使用的实用程序没有提供删除的标志疏属性。
最简单的方法是复制文件如果复制文件的应用程序没有特别保留稀疏属性和稀疏范围,则文件将丢失此特殊属性。
您可以使用远程管理器清除稀疏属性。导航到文件并按Ctrl+A打开属性对话框。清除疏复选框。然后点击放按钮。
答案2
稀疏文件是指其中有空洞的文件。大量的二进制零不会被写入磁盘。以下是微软的解释稀疏文件 (Windows):
启用稀疏文件功能后,系统不会为文件分配硬盘驱动器空间,除非文件包含非零数据的区域。当尝试执行写入操作时,如果缓冲区中的大量数据为零,则不会将零写入文件。相反,文件系统会创建一个内部列表,其中包含文件中零的位置,并在所有读取操作期间参考此列表。当在文件中零所在的区域执行读取操作时,文件系统会在为读取操作分配的缓冲区中返回适当数量的零。通过这种方式,稀疏文件的维护对于访问它的所有进程都是透明的,并且对于这种特定情况,它比压缩更有效。
答案3
对于我来说,下载 ISO 时总是会发生这种稀疏属性问题。
将其放入批处理文件中,然后将目标文件拖放到其中(使用 Windows 资源管理器)。 瞧。
fsutil sparse queryflag %1
pause
fsutil sparse setflag %1 0
fsutil sparse queryflag %1
pause
然而,这在 Windows 7 和 8.x 中不起作用(Vista 也可能如此),因为setflag
只接受<filename>
作为有效参数,并且没有相应的clearflag
命令。但它在 Windows 10 中有效。