web-dev-qa-db-ja.com

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で遊んでいますが、ディスク上のサイズをファイルプロパティのサイズより小さくすることができません。

13
sabgenton
FSUtil File CreateNew temp 0x100000
FSUtil Sparse SetFlag temp
FSUtil Sparse SetRange temp 0 0x100000
19
user541686

これが役立つかもしれません: "SparseChecker" -Windows NTFSでスパースファイルを管理します "fsutil"のようにファイルの個々のブロックではなく、ファイルを操作できます。

3
opal

@Mehrdadが言ったことは正しいです。

ただし、ファイルに書き込むもの(ゼロの範囲であっても)はオペレーティングシステムへのデータ(したがってスペースが割り当てられる)と見なされ、FSCTL_SET_ZERO_DATA()のみがスペースを占有しないゼロの書き込みを許可します。

fsutil sparse setflag [file]

ファイルをスパースファイルとして設定できます。

2
bubu