Kopieren Sie spärliche Dateien auf NTFS mit Windows

2778
Michael Yasumoto

Wie kann ich eine dünn besetzte Datei von einem NTFS-Volume auf ein anderes NTFS-Volume kopieren oder verschieben und dabei die spärlichen Funktionen mit den in Windows enthaltenen Tools beibehalten? Wenn dies mit den nativen Tools nicht möglich ist, was ist dann eine kostenlose Anwendung eines vertrauenswürdigen Anbieters, die dies tut? Sicherlich gibt es eine Eingabeaufforderung oder einen Powershell-Befehl, der dies ausführt.

Ich habe eine Datei, die 250 GByte darstellt, die 20 GByte Speicherplatz belegt, und ich möchte, dass sie nur 20 GByte aufnimmt, wenn ich sie verschiebe. Vielen Dank.

5
Um was für eine spärliche Datei handelt es sich? Könnten Sie ein Dienstprogramm verwenden, um es nach dem Verschieben zu verkleinern? Wenn es sich um ein VM-Image handelt, sollten Sie nur den bereits zugewiesenen Speicherplatz kopieren und beibehalten. kobaltz vor 10 Jahren 0
It is a file system level sparse file, as in an NTFS file with the 'P' extended attribute set on it. It is not an application level sparse file which adds sparse support (and overhead) regardless of whether the file system already supports sparseness or not such as with a vmdk file. You're suggesting I transfer 250GiB, then spend the CPU to compress that, and then uncompress back to a 250GiB file whenever I want to actually access its contents. I'd rather move the small 20GiB file and have it stay 20GiB and remain accessible to me in its destination. Much less network, CPU, and storage use. Michael Yasumoto vor 10 Jahren 0

3 Antworten auf die Frage

1
Yahor

Mit Standard-Windows-Tools ist dies nicht möglich.

Aber es gibt einen Nutzen. Gehen Sie zu http://www.flexhex.com/docs/articles/sparse-files.phtml, laden Sie sparse.zip herunter und entpacken Sie es.

Führen Sie dann die Befehlszeile aus:

cs.exe c:\src.dat d:\dest.dat 

Die Datei wird unter Beibehaltung der Spärlichkeit kopiert.

0
Michael Yasumoto

Auf der Windows-Seite habe ich WinHex oder dessen forensischen Bruder X-Ways Forensics verwendet. Die GUI hat eine Option in den Menüs, um Dateien sparsam zu kopieren.

0
Diomidis Spinellis

Verwenden Sie Cygwin und mounten Sie das Dateisystem mit der sparseOption. Dann Unix - Befehle, die Unterstützung Sparse - Dateien, wie zum Beispiel cp, dd conv=sparseund rsync -Swird korrekt erstellen oder die Datei als spärlich kopieren. Wie zu erwarten ist, wird durch eine einfache Ausgabeumleitung keine spärliche Datei erstellt.

Siehe die folgende Demonstration. $ mount -o sparse D: /tmp/mnt mount: warning - /tmp/mnt does not exist. $ cd /tmp/mnt $ dd conv=sparse if=/dev/zero seek=10000 of=sparse count=1 1+0 records in 1+0 records out 512 bytes copied, 0.0101909 s, 50.2 kB/s $ ls -lh sparse -rw-rw-r--+ 1 dds None 4.9M Sep 5 13:05 sparse $ du -h sparse 0 sparse $ cp sparse sparse-cp $ dd conv=sparse if=sparse of=sparse-dd 10001+0 records in 10001+0 records out 5120512 bytes (5.1 MB, 4.9 MiB) copied, 0.0500354 s, 102 MB/s $ rsync -S sparse sparse-rsync $ cat sparse >sparse-fail-cat $ cat sparse | dd conv=sparse of=sparse-cat-dd $ ls -lh sparse* -rw-rw-r--+ 1 dds None 4.9M Sep 5 13:05 sparse -rw-rw-r--+ 1 dds None 4.9M Sep 5 13:15 sparse-cat-dd -rw-rw-r--+ 1 dds None 4.9M Sep 5 13:06 sparse-cp -rw-rw-r--+ 1 dds None 4.9M Sep 5 13:11 sparse-dd -rw-rw-r--+ 1 dds None 4.9M Sep 5 13:19 sparse-fail-cat ----rw----+ 1 dds None 4.9M Sep 5 13:06 sparse-rsync $ du -h sparse* 0 sparse 0 sparse-cat-dd 0 sparse-cp 0 sparse-dd 4.9M sparse-fail-cat 0 sparse-rsync