Копировать файлы в пользовательские сектора на жестком диске

270
DRS David Soft

Всякий раз, когда я пытаюсь скопировать огромное количество файлов на диск NTFS, Windows всегда фрагментирует файл. Это очень раздражает, потому что я получу очень медленную скорость передачи (~ 100 КБ / с для файла 15 ГБ!), А затем мне придется использовать дефрагментацию для дефрагментации файла, которая для этих больших файлов будет длиться вечно.

Это заставило меня задуматься, есть ли в любом случае указание Windows скопировать файл непосредственно в раздел диска, который, как я знаю, пуст, и, таким образом, в первую очередь избежать копирования фрагментированного файла?

В прошлом я использовал копировальный аппарат по умолчанию для Windows, TeraCopy, Robocopy и xcopy, но ни один из них не был решением этой проблемы.

Windows fragmentation file copy

1
Проблема заключается в фрагментации вашего свободного пространства. Стандартный дефрагментатор Windows оптимизирует используемое пространство, но часто делает свободное место еще более дефрагментированным в процессе. Существуют и другие средства дефрагментации, которые пытаются оптимизировать оба с разной степенью успеха. AFH 7 лет назад 1

1 ответ на вопрос

1
Eugen Rieck

It is the job of a file system driver (ntfs.sys in your case) to abstract away the physical location of a file's blocks from an application accessing the file. This implies, that the choice of copy utility will not make much of a difference.

What does make a difference, especially with NTFS, is the free space percentage - and this is very low indeed in your example. Your results will be much better, if the FS is not filled over the 70% mark.

So, basically: Your fragmentation problem stems from a too full NTFS volume.

Проблема фрагментации связана с небольшим количеством свободного места, но это не является причиной медленных скоростей передачи (если это не SSD). Ramhound 7 лет назад 0
Низкая скорость передачи, скорее всего, вызвана фрагментацией, которая, в свою очередь, вызвана полнотой объема. Eugen Rieck 7 лет назад 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 7 лет назад 0
Ухудшение скорости при фрагментации на механических приводах - это не вопрос мнения, это факт, и его также легко понять, поскольку наиболее дорогая операция с жестким диском (случайный поиск) должна выполняться чаще. Eugen Rieck 7 лет назад 0
+1, но у меня есть вопрос. Если программы дефрагментации могут перемещать данные после того, как они были записаны на диск, возможно ли программное обеспечение для копирования файлов определить оптимизированное местоположение при копировании? Если нет, то почему программа дефрагментации работает, даже если `ntfs.sys` не дает доступа? Я немного запутался и хотел бы знать, что происходит в процессе. DRS David Soft 7 лет назад 0
В более новых версиях Windows драйверы файловой системы имеют специальные API, которые предоставляют блочную структуру и явно моделируются для облегчения дефрагментации. Эти API также обеспечивают необходимую атомарность, чтобы гарантировать, что отключение питания во время дефрагментации не разрушит структуру FS. Но: Доступ к файлу (как к файлу) и доступ к блочной структуре являются ортогональными понятиями. Eugen Rieck 7 лет назад 1