Kopieren Sie Dateien in benutzerdefinierte Sektoren auf der Festplatte

330
DRS David Soft

Wenn ich versuche, eine große Menge von Dateien auf einem NTFS-Laufwerk zu kopieren, fragmentiert Windows die Datei immer. Dies ist sehr ärgerlich, da ich eine sehr langsame Übertragungsgeschwindigkeit (~ 100 KB / s für eine 15 GB-Datei!) Bekomme und dann eine Defragmentierung verwenden muss, um die Datei zu defragmentieren, was für diese großen Dateien ewig dauert.

Das brachte mich zum Nachdenken. Gibt es trotzdem einen Befehl, Windows die Datei direkt in einen Abschnitt des Laufwerks zu kopieren, von dem ich weiß, dass er leer ist, und so das Kopieren einer fragmentierten Datei überhaupt vermeiden?

Ich habe in der Vergangenheit Windows-Standardkopierer, TeraCopy, Robocopy und Xcopy verwendet, aber keiner war eine Lösung für dieses Problem.

Kopie der Windows-Fragmentierungsdatei

1
Das Problem ist die Fragmentierung Ihres freien Speicherplatzes. Der Standard-Windows-Defragmentierer optimiert den belegten Speicherplatz, macht den freien Speicherplatz jedoch häufig noch defragmentierter. Es gibt andere Defragmentierer, die versuchen, beide mit unterschiedlichem Erfolg zu optimieren. AFH vor 7 Jahren 1

1 Antwort auf die Frage

1
Eugen Rieck

Es ist die Aufgabe eines Dateisystemtreibers ( ntfs.sysin Ihrem Fall), den physischen Ort der Blöcke einer Datei von einer Anwendung abzutasten, die auf die Datei zugreift. Dies bedeutet, dass die Wahl des Kopierprogramms keinen großen Unterschied macht.

Was macht einen Unterschied machen, vor allem mit NTFS, ist der Prozentsatz für freien Speicherplatz - und das ist sehr niedrig in die Tat in Ihrem Beispiel. Ihre Ergebnisse werden viel besser sein, wenn der FS nicht über die 70% -Marke gestellt wird.

Im Grunde genommen: Ihr Fragmentierungsproblem rührt von einem zu vollen NTFS-Volume her.

Das Fragmentierungsproblem ist auf den geringen freien Speicherplatz zurückzuführen, ist jedoch nicht die Ursache der langsamen Übertragungsgeschwindigkeiten (es sei denn, es handelt sich um eine SSD). Ramhound vor 7 Jahren 0
Die niedrige Übertragungsgeschwindigkeit wird höchstwahrscheinlich durch die Fragmentierung verursacht, die wiederum durch die Fülle des Volumens verursacht wird. Eugen Rieck vor 7 Jahren 0
It seems the answers are of a mix opionion. I am in the camp that transfer speeds are not going to effect a mechanical drive. [Does the amount of available free disk space in Windows (XP only?) impact performance?](http://superuser.com/questions/128357/does-the-amount-of-available-free-disk-space-in-windows-xp-only-impact-perfor/128359#128359) Ramhound vor 7 Jahren 0
Die Verschlechterung der Geschwindigkeit durch Fragmentierung bei mechanischen Antrieben ist keine Ansichtssache, sondern eine Tatsache - und sie ist auch leicht zu verstehen, da der teuerste Vorgang auf einer Festplatte (Random-Search) häufiger durchgeführt werden muss. Eugen Rieck vor 7 Jahren 0
+1, aber ich habe eine Frage. Wenn Defragmentierungsprogramme Daten verschieben können, nachdem sie auf die Festplatte geschrieben wurden, kann eine Dateikopiersoftware beim Kopieren den optimierten Speicherort ermitteln? Wenn nicht, wie kommt es, dass die Defragmentierungssoftware auch dann funktioniert, wenn `ntfs.sys` keinen Zugriff gewährt? Ich bin etwas verwirrt und würde gerne wissen, was dabei passiert. DRS David Soft vor 7 Jahren 0
In neueren Versionen von Windows verfügen die Dateisystemtreiber über spezielle APIs, die die Blockstruktur verfügbar machen und explizit modelliert werden, um die Defragmentierung zu erleichtern. Diese APIs bieten auch die erforderlichen Atomitäten, um sicherzustellen, dass ein Stromausfall während einer Defragmentierung die FS-Struktur nicht ruiniert. Aber: Zugriff auf die Datei (als Datei) und Zugriff auf die Blockstruktur sind orthogonale Konzepte. Eugen Rieck vor 7 Jahren 1