如何在 Windows 中创建 1G 零稀疏文件?

如何在 Windows 中创建 1G 零稀疏文件?

在Linux中:

$ dd if=/dev/null of=mysparse seek=1G count=0
$ du -b mysparse
549755813888    mysparse
$ du -B1 mysparse
0       mysparse

在 Windows 中,我一直在使用 fsutil,但我无法使磁盘上的大小小于文件属性中的大小。

答案1

Type NUL > temp
FSUtil Sparse SetFlag temp
FSUtil Sparse SetRange temp 0 0x40000000
FSUtil File SetEOF temp 0x40000000

它创建一个新文件,然后为其设置稀疏性标志,然后将特定范围设置为稀疏。大小以字节为单位。

您还可以参考文档:https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/fsutil-sparse

答案2

也许这会对你有帮助:“SparseChecker”-管理 Windows NTFS 上的稀疏文件 它允许对文件进行操作,而不是像“fsutil”那样对单个文件块进行操作。

答案3

@Mehrdad 说的是正确的。

但是,无论您写入文件的任何内容(即使是零范围)都将被视为操作系统的数据(因此分配了空间),并且只有 FSCTL_SET_ZERO_DATA() 才允许写入不占用空间的零。

fsutil sparse setflag [file]

允许将文件设置为稀疏文件。

相关内容