На моем USB-накопителе NTFS мне нужно дефрагментировать iso, чтобы иметь возможность загрузить их. Но ни собственная дефрагментация Windows, ни UltraDefrag не дефрагментируют мои файлы полностью, как проверено contig на Windows и filefrag на Linux.
Конечно, я могу копировать файлы оттуда и обратно, но это меня действительно сбивает с толку...
На диске достаточно свободного непрерывного места, я проверил.
решение1
Easy2Bootвключает скрипт в корне раздела, который заставляет это делать. Что имеет смысл, поскольку это действительно пограничное требование.
Я до сих пор удивляюсь, почему ни один другой инструмент не смог сделать этого.
решение2
Программы дефрагментации работают, создавая копию файла на блоке непрерывного свободного пространства на том же диске, а затем удаляя исходный файл. Некоторые пытаются сначала создать объединенную область непрерывного свободного пространства, перемещая другие файлы (независимо от того, были ли файлы уже нефрагментированными или нет), чтобы удалить все пробелы между всеми файлами.
Например, на томе NTFS у нас может быть свежеотформатированный диск объемом 8 ГБ с 6 ГБ файлов:
ФАЙЛ1_2 ГБ ФАЙЛ2_2 ГБ ФАЙЛ3_2 ГБ (2 ГБ БЕСПЛАТНО)
теперь мы удаляем file2 и копируем file4 размером 1 ГБ и получаем
ФАЙЛ1_2ГБ (2ГБ БЕСПЛАТНО) ФАЙЛ3_2ГБФАЙЛ4_1ГБ(1 ГБ БЕСПЛАТНО)
теперь мы удаляем file3 и копируем file5 размером 1 ГБ и получаем
ФАЙЛ1_2ГБ (2ГБ БЕСПЛАТНО)ФАЙЛ5_1ГБ(1 ГБ БЕСПЛАТНО) FILE4_1 ГБ (1 ГБ БЕСПЛАТНО)
теперь мы добавляем файл размером 3 ГБ6, который становится фрагментированным...
ФАЙЛ1_2ГБФАЙЛ6А_3ГБФАЙЛ5_1ГБФАЙЛ6Б_3ГБФАЙЛ4_1ГБ (1ГБ БЕСПЛАТНО)
Теперь file6 фрагментирован, но свободного места всего 1 ГБ, поэтому мы не можем дефрагментировать FILE6 или любой файл размером более 1 ГБ. Если мы удалим FILE1 и получим
(2 ГБ БЕСПЛАТНО)FILE6A_3GB FILE5_1GB FILE6B_3GB FILE4_1GB (1 ГБ БЕСПЛАТНО)
но у нас все еще недостаточносмежныйосвободите место для копирования FILE6 и создания новой непрерывной версии.
Итак, вы видите, что файловая система может содержать фрагментированные файлы и фрагментированные области свободного пространства в зависимости от ее истории. Дефрагментатор не может создать новый непрерывный файл, если на томе недостаточно свободного места.
Одним из способов решения этой проблемы является временное перемещение фрагментированного файла на другой диск, объединение всего свободного пространства на целевом диске, а затем обратное копирование файла.
Программа Windows WinContig требует достаточно большого блока непрерывного свободного пространства. Программа Windows GUI Defraggler сначала попытается объединить свободное пространство, а затем скопировать файл в новую область свободного пространства. Defraggler также имеет возможность объединить все блоки свободного пространства на диске.
Еще одна сложность возникает при копировании файлов на диск — некоторые программы открывают несколько потоков при копировании файлов (например, xcopy в режиме по умолчанию или прямая загрузка из интернета с помощью браузера или при использовании нескольких сеансов копирования на один и тот же том). Это почти всегда приводит к фрагментации файла, даже если на целевом диске был один большой блок непрерывного свободного пространства.
Defraggler отлично подходит для просмотра карты файлов на томе и изучения того, как файлы могут быть распределены по диску.
Обратите внимание, что NTFS также обычно размещает MFT (главный каталог файловой таблицы) около отметки 3 ГБ на томе NTFS, отформатированном в Windows. Так что если у вас том NTFS размером 8 ГБ, вы не сможете разместить на нем непрерывный файл размером 6 ГБ, как бы вы ни пытались, потому что область MFT всегда находится в середине диска!