Дефрагментация диска ntfs в linux

Обновлено: 04.07.2024

На SSD жестких дисках фрагментации как таковой не существует потому что в нём не существует движущихся частей. Дефрагментируя SSD жесткие диски вы только зря потратите срок жизни диска.
Что такое фрагментация жесткого диска?

Если вы пользовались в прошлом ОС Windows, то наверняка замечали, что после дефрагментации система работала чуть-чуть быстрее. А задавались-ли вы вопросом: "Почему? "

Если вкратце, в каждом жестком диске существуют секции, каждая из которых может содержать ограниченное количество информации. Поэтому каждый раз когда вы создаёте файл, он разбивается на несколько частей и сохраняется на нескольких секторах.

Проблема возникает когда вы обновляете тот же файл чуть позже, увеличив тем самым оригинальный размер файла. В таком случае, система попытается сохранить файл как можно ближе к сектором, куда был сохранен файл в предыдущий раз. Но если все секторы заполнены, то файл разбивается ещё раз и сохраняется ещё на другие сектора. И когда вы обращаетесь к этому файлу, головка жесткого диска вынуждена прыгать с одного физического места на другое. И это является причиной почему всё становится медленным.

Процесс дефрагментации - это как раз таки процесс, который перемещает частички файлов как можно ближе друг к другу.
Что особенного в файловой системе Linux

И наконец, подходим к самому главному вопросу.

Файловые системы ext2, ext3 и ext4 работают совершенно по-другому. Эти файловые системы по-умолчанию используются во-многих Linux дистрибутивах.

Эти файловые системы решили проблему фрагментации очень просто, но умно. Вместо того, чтобы помещать каждый файл рядом друг с другом, Linux файловые системы разбрасывают их по всему жесткому диску, тем самым оставляя большое количество свободного места на будущее.

Другими словами, даже если размер файла увеличился, то он всегда будет находиться близко к оригинальной секции.

Но справедливости ради нужно отметить, что фрагментация может возникнуть в Linux в случае если файловая система заполнилась на 80%-90%.
Как дефрагментировать диск на Linux

Если вы начали замечать, что доступ к файлам происходит немного медленнее и ваша файловая система заполнилась полностью, то можете дефрагментировать диск простым способом.

Просто скопируйте все файлы не другой раздел и удалите всё со старого. Затем скопируйте файлы обратно на файловую систему.

Твитнуть
Facebook
Google+
VK

Похожие посты:
LSwitcher - организация Unity-лаунчера в зависимости от активного рабочего пространства
Как обезопасить SSH сервер
Вышел Ubuntu 15.04, узнайте что нового
Вышло обноление GNOME Pie - программы быстрого запуска приложений
Настройка Elementary OS с помощью Elementary Tweaks

Главная
Защищенное соединение
RSS feed
О сайте
Обратная связь

Если вы пытаетесь обмениваться жесткими дисками в сети, вам нужно перейти на / media и найти диски, щелкнуть правой кнопкой мыши на диске, который вы хотите предоставить, и выбрать «параметры совместного доступа», как указано выше. Таким образом, вы можете поделиться диском по вашей сети.

Pēc tam varat izdarīt

Вокруг нет такого инструмента, насколько я знаю.

Некоторые сайты сообщают о следующей команде

, но это не работает, и непонятно, откуда они ее берут.

Нет. Это файловые системы Windows, поэтому вам нужно использовать Windows для их дефрагментации.

Update: UltraDefrag for Linux:

UltraDefrag - это мощный инструмент дефрагментации с открытым исходным кодом для Платформа Windows. Она может дефрагментировать любые системные файлы, включая ульи реестра и файл подкачки. Также одна из основных целей UltraDefrag выполняет работу как можно быстрее и надежнее. Это портируется на Linux и NTFS-3G для дефрагментации разделов NTFS. В настоящее время доступна только тестовая версия в консольном режиме. Пожалуйста, . прочитайте прилагаемый файл README.linux для компиляции и тестирования

[Я сам этим еще не пользовался.] Нашёл его через -тему на Arch форуме. Дальнейшее следование по теме на следующую страницу приводит к более подробной информации по теме. Попробуйте на свой страх и риск.-kevjonesin-]

Есть очень хорошо известный хитрый чит для архивирования дефрагментации NTFS (включая свободное пространство) . это можно сделать с помощью Live Linux, такого как SystemRescueCD .

Но вы должен иметь второй жесткий диск или, по крайней мере, 51% свободного места (если не использовать сжатие).

Уловка (очень сложная) заключается в использовании инструментов для «клонирования» раздела, но не типичных . есть инструмент, который может «клонировать» раздел NTFS, но не делает точного «клона» . позвольте мне объяснить .

Инструмент - fsarchive (если я не помню плохо).

Он делает очень большой файл (как это делают инструменты клонирования) со всеми файлами (остерегайтесь специальных метаданных файлов NTFS, потоков, я думаю, они называются), точно так же, как это делает инструмент "клонирование" .

Но сложная часть возникает при восстановлении . он не помещает файлы туда, где они есть, он помещает файлы вообще без какой-либо фрагментации.

Я использовал его для системного раздела Windows, а также для разделов данных NTFS . с успехом . не очень просто использовать / понимать (внимательно прочтите docs) . но может помочь.

Помните . такой большой файл, который он создает, можно сжать, поэтому не обязательно иметь 51% свободного места.

Но в любом случае сначала вы должны сжать NTFS раздел . используйте GParted (если я не помню плохо).

  1. Худший случай: на жестком диске только один БОЛЬШОЙ раздел NTFS с достаточным свободным пространством.
  2. Загрузите SystemRescuCD (если вы хотите запустить X windows с помощью команды мастера)
  3. Используйте GParted для сжатия раздела NTFS до его минимального размера (файлы NTFS будут фрагментироваться больше, неважно)
  4. Используйте GParted для создания другого раздела на свободном пространстве, лучше, если тип ext4 (журнал)
  5. Смонтируйте такой новый раздел, но не монтируйте NTFS
  6. Используйте fsarchiver для создания «клона» раздела NTFS, используйте сжатие и сохраните файл BIF на созданном разделе
  7. С этого момента это ОЧЕНЬ РИСКНО: используйте GParted для удалите раздел NTFS и создайте его заново
  8. Восстановите «клон» с помощью fsarchiver, все файлы на разделе NTFS будут 1 фрагментом (кроме одного или двух, потому что $ MFT может быть помещен в середине, а не в страте или конце раздела)
  9. При необходимости используйте Gparted для сжатия раздела NTFS
  10. Проверьте правильность NFTS, возможность монтирования, чтения / записи и размонтирования
  11. Отключите вновь созданный раздел ext4
  12. Используйте Gparted для увеличения этого ext4 (или, лучше, удалите его и создайте заново)

Вот и все, ребята . как я уже сказал, очень сложно и, конечно, рискованно.

Остерегайтесь ключевых моментов:

  • NFTS shrink оставьте достаточно свободного места для хранения сжатого образа раздела NTFS (51% свободного места на жестком диске гарантирует, что их достаточно)
  • fsarchiver не сохраняет потоки NTFS?
  • fsarchiver restore не помещает файлы туда, где они, а помещает их нефрагментированными (например, копию)
  • После удаления и воссоздание раздела NTFS, обратного пути нет

Эти шаги предназначены для: Используйте LiveCD / LiveUSB linux для дефрагментации раздела NTFS, который использует 100% диска, без подключения другого жесткого диска к такому ПК [должно быть достаточно свободного места] .

  • Некоторые могут подумать, что если после сжатия NTFS на жестком диске останется 51% свободного места, безопаснее будет просто создать этот ext4 и скопировать на него все NTFS, затем удалить NTFS, воссоздать его и скопировать обратно . ДЕЙСТВИЕ ЭТО вызовет потери, такие как разрешения безопасности NTFS и т. Д.

Пока я знаю, что GParted / fsarchiver является наиболее близким решением (для использования только LiveCD / LiveUSB с Linux), не быстро, как-то рискованно, но

ВНИМАНИЕ: это очень, очень рискованно . как и с любым инструментом "клонирования" . и для теперь я не знаю другого лучшего способа . и он потеряет потоки NTFS (если я не помню ничего плохого)

ПОЖАЛУЙСТА: внимательно прочтите документы fsarchiver, прежде чем использовать его.

У меня есть ответственность (у меня была использовал его на своих данных, но всегда у меня есть внешний BackUP - хорошие разделы).

На практике . вся информация у меня есть, я помещаю их как минимум на три разных носителя (HDD, DVD, Flash Memories), по крайней мере с тремя копиями на каждом носителе, так что у меня есть 9 копий . если я потеряю 8 из них, останется еще одна для восстановления данных . Я немного параноик, я знаю.

Это БОЛЬШОЕ предупреждение для всех тех из вас, кто думает, что NFTS можно дефрагментировать в Linux, просто скопировав файлы (клонируя только файлы) и т. д .:

  • Некоторые NTFS (файлы / папки) могут иметь активный специальный атрибут, он называется Сжатие NTFS

, насколько я знаю, каждый раз, когда Linux (cp, fsarchiver и т. Д.) Записывает файл / папку в NTFS, он всегда записывает это без сжатия NTFS, независимо от того, включено или отключено сжатие файла / папки.

Таким образом, вы можете попасть в ситуацию (я встречаюсь с трудностями), когда восстановление с помощью fsarchive (или cp и т. д.) приведет к разделению

Некоторые данные могут достигать степени сжатия NTFS более 3, поэтому у вас может быть раздел размером X ГиБ с большим количеством файлов, и сумма файлов должна быть около 3 * X.

Я даю это предупреждение, потому что оно малоизвестно и иногда создает действительно большие головные боли. например, при восстановлении клона требуется больше места, чем весь раздел, который был клонирован, из-за того, что сжатие NTFS было потеряно в Linux.

Кроме того, с очень особенными данными (соотношение NTFS больше 5) я достигаю такой ситуации:

  • NTFS-раздел размером X ГиБ
  • Файл, содержащий клон (с наилучшим сжатием, которое позволяет этот инструмент, GZip, я думаю), занимал 2 * X ГиБ

О да, клон был сжат и занимал вдвое больше этого раздела размер.

Это вызвано тем, что инструмент клонирования читает файлы в обычном формате (в чистом виде, без сжатия), а затем сжимает данные (с действительно худшим соотношением, чем это сделала NTFS).

Конечно, восстановление этих данных не подходит для этот раздел, так как восстановленные данные будут помещены без сжатия NTFS.

Надеюсь, ясна еще одна причина, почему не использовать сжатие NFTS? Ну, совсем нет, я много использую сжатие NTFS (в прошлом). Файлы VDI (Virtual Box) имеют действительно хорошее соотношение.

Теперь я обнаружил Pismo file Mount (и он также работает в Linux). он может создать файл, который действует как контейнер (как папка) и может быть сжат (также с лучшим соотношением, чем NFTS) и в то же время зашифрован.

Почему я упоминаю об этом. потому что любой инструмент клонирования увидит такой контейнер как файл (если он не подключен как папка) и будет читать / выгружать / резервировать сжатый поток данных, а не простые несжатые данные (как при сжатии NTFS). поэтому восстановление происходит так же, как и с любым другим файлом.

Вместо сжатия папки NTFS с атрибутом сжатия NTFS я помещаю виртуальную папку «Монтировать файл Pismo». получить лучшее сжатие и т.д.

Я должен также предупредить всех, кто интересуется этим бесплатным инструментом. у него нет сжатия (по крайней мере, пока), поэтому, если содержимое папки сильно меняется, это не очень хорошая идея.

Но для неизменяемых виртуальных дисков, ISO и вещей, которые не изменятся, соотношение, которое оно получает, очень близко к LZMA2 (7-Zip), и он может быть прочитан / записан на лету.

И это кроссплатформенный.

Обратите внимание на плохого парня сжатия NTFS, говорящего о фрагментации. когда вы записываете файл в NTFS с включенным сжатием NTFS, он делает это таким образом (да, ужасно спроектировано, я думаю, что это сделано так, чтобы гарантировать большую фрагментацию намеренно, худшее не может быть сделано):

  1. Start write позиция предварительно рассчитывается как 64K * N, где N - номер блока размером 64K, который будет пытаться сжать
  2. Буфер для 64K зарезервирован
  3. Этот буфер заполняется 64K, а затем сжимается
  4. Записываются только необходимые блоки размером 4 КБ, остальные используются в качестве свободного места

Таким образом, в середине файла создается много-много пропусков, и только после дефрагментации файла пропуски исчезают, но дефрагментация не происходит. пока пользователь не закажет его (contig.exe, defrag.exe и т. д.).

Да, он записывает N-й блок размером 64 КБ в позиции, кратной 64 КБ, независимо от того, могут ли предыдущие данные быть сжаты или нет,он оставляет промежуток между каждым фрагментом размером 64 КБ (если все можно сжать).

Сжатие виртуальной папки Pismo File Mount действует так же, как и любое обычное сжатие, в конвейерном режиме, поэтому нет промежутков. по крайней мере, пока вы что-то не удалите.

Еще одно предупреждение: не помещайте туда файлы VHD / VHDX, Windows не сможет их прикрепить! Windows использует уловку ядра для монтирования таких вещей, она не использует уровень файловой системы, работает на низком уровне.

Я также хотел бы получить в свои руки дефрагментатор Linux NTFS, конечно, он будет быстрее, чем все, что запускается Windows. дефрагментировать свободное пространство - полное безумие. или лучше говорить. создание целого, достаточно большого для нового большого файла.

Есть ли какие-либо инструменты, которые я могу использовать для дефрагментации моего раздела Windows из Linux?

Да, вы можете использовать Shake . Сначала вам нужно добавить собственный репозиторий в вашу систему:

Тогда вы можете сделать

Shake не совсем дефрагментатор, он просто копирует каждый файл в надежде, что копия будет менее фрагментированной. Это, конечно, далеко от того, как работают настоящие дефрагментаторы.

Там нет такого инструмента вокруг, насколько я знаю.

Некоторые сайты сообщают следующую команду

но это не работает, и не ясно, где они это получают.

@ Вульф, это хорошо, поэтому, когда мы находим его где-то еще, мы знаем, что это не работает

Обновление: UltraDefrag для Linux:

UltraDefrag - это мощный инструмент дефрагментации с открытым исходным кодом для платформы Windows. Он может дефрагментировать любые системные файлы, включая кусты реестра и файл подкачки. Также одной из основных целей UltraDefrag является выполнение работы максимально быстро и надежно. Он портируется на Linux и NTFS-3G для дефрагментации разделов NTFS. В настоящее время доступна только тестовая версия в режиме консоли. Пожалуйста, прочитайте включенный файл README.linux для компиляции и тестирования

[Я еще не использовал это сам. Нашел через ветку на форуме Arch . Дальнейшее следование нити до следующей страницы приводит к большему количеству по теме. Попробуйте на свой страх и риск. - kevjonesin-]

Это БОЛЬШОЕ предупреждение для всех тех, кто считает, что NFTS можно дефрагментировать в Linux, просто копируя файлы (клонируя только файлы) и т. Д .:

  • Некоторые NTFS (файлы / папки) могут иметь специальный активный атрибут, он называется NTFS Compression

насколько я знаю, каждый раз, когда Linux (cp, fsarchiver и т. д.) записывает файл / папку в NTFS, она всегда записывает его без сжатия NTFS, независимо от того, включено или выключено сжатие файла / папки.

Таким образом, вы можете попасть в ситуацию (с которой я столкнулся с трудностью), когда восстановление с помощью fsarchive (или cp и т. Д.) Приведет к тому, что раздел заполнится и будет недостаточно.

Некоторые типы данных могут достигать степени сжатия NTFS более 3, так что вы можете иметь раздел X GiB с большим количеством файлов, и сумма файлов будет около 3 * X по размеру.

Я предупреждаю об этом, потому что это не очень хорошо известно и иногда вызывает очень сильные головные боли. например, при восстановлении клона требуется больше места, чем весь клонированный раздел, вызванный тем, что сжатие NTFS потеряно в Linux.

Кроме того, с очень очень специальными данными (отношение NTFS больше 5) я достигаю этой ситуации:

  • NTFS размер раздела X GiB
  • Файл, содержащий клон (с наилучшим сжатием, которое позволяет инструмент, GZip, я думаю) занял 2 * X GiB

О да, клон был сжат, и он занял удвоенный размер раздела.

Это вызвано тем, что инструмент-клон читает файлы в простом (чистом, а не сжатом), а затем сжимает данные (с действительно худшим соотношением, чем NTFS).

Конечно, восстановление этих данных не поместится в этот раздел, так как восстановленные данные будут помещены без сжатия NTFS.

Надеюсь, это понятно, еще одна причина, почему не использовать сжатие NFTS? Ну, совсем нет, я часто использую сжатие NTFS (в прошлом). Файлы VDI (Virtual Box) получают действительно хорошее соотношение.

Теперь я обнаружил Pismo file Mount (и он также работает в Linux). он может создать файл, который действует как контейнер (как папка) и может быть сжат (также с лучшим соотношением, чем NFTS) и в то же время зашифрован.

Почему я упоминаю это. потому что любой инструмент клонирования будет видеть такой контейнер как файл (если он не смонтирован как папка) и будет читать / сбрасывать / делать резервные копии сжатого потока данных, а не простых несжатых данных (как при сжатии NTFS). поэтому восстановление происходит как с любым другим файлом.

Вместо того, чтобы сжимать папку NTFS с атрибутом сжатия NTFS, я помещаю виртуальную папку для монтирования файла Pismo. получить лучшее сжатие и т. д.

Я также должен предупредить всех, кто заинтересован в таком бесплатном инструменте. у него нет сжатия (по крайней мере, пока), поэтому, если содержимое папки сильно меняется, это не очень хорошая идея.

Но для неизменных виртуальных дисков, ISO-файлов и других вещей, которые не изменятся, соотношение, которое он получает, очень близко к LZMA2 (7-Zip), и его можно читать / записывать на лету.

И это кроссплатформенный.

Обратите внимание, плохой парень NTFS сжатия говорит о фрагментации. когда вы записываете файл в NTFS с включенным сжатием NTFS, он делает это следующим образом (да, ужасно спроектированный, я думаю, что это сделано так, чтобы обеспечить большую фрагментацию намеренным способом, худшее не может быть сделано):

  1. Начальная позиция записи предварительно рассчитывается как 64K * N, где N - номер фрагмента 64K, который будет пытаться сжать
  2. Буфер на 64К зарезервирован
  3. Этот буфер заполнен 64 КБ, а затем сжат
  4. Записываются только необходимые блоки 4K, остальные сдаются как свободное место

Таким образом, он создает много, много GAP в середине файла, и только после дефрагментации файла GAP исчезают, но эта дефрагментация не происходит до тех пор, пока пользователь не закажет ее (contig.exe, defrag.exe и т. Д.).

Да, он записывает N-ный блок 64 КБ на позицию, кратную 64 КБ, независимо от того, могут ли предыдущие данные быть сжатыми или нет, он оставляет разрыв между каждым фрагментом 64 КБ (если все могут быть сжаты).

Сжатие виртуальной папки Pismo File Mount действует так, как если бы предполагалось любое обычное сжатие, в режиме конвейера, поэтому пробелов нет. по крайней мере, пока вы не удалите что-то.

Также еще одно предупреждение, не помещайте в него файлы VHD / VHDX, Windows не сможет их прикрепить! Windows использует трюк ядра для монтирования таких вещей, она не использует уровень файловой системы, работает на низком уровне.

Я также хотел бы получить в руки дефрагментатор Linux NTFS, конечно, будет быстрее, чем все, что работает под Windows. это полное безумие, чтобы дефрагментировать свободное пространство. или лучше говорить. создать достаточно большой для нового большого файла.

документация

С течением времени наши системы имеют тенденцию работать немного медленнее и это во многом из-за большого количества обрабатываемой информации. Эта информация хранится в блоках, которые, когда мы хотим получить к ней доступ, головка диска должна указывать на определенную позицию, теперь здесь возникает проблема дефрагментации.

Дефрагментация - это удобный процесс упорядочивания файлов на диске. так что фрагменты каждого из них не будут оценены таким образом, что файл будет непрерывным и без пробелов внутри него.

В основном система упорядочивает и отображает положение файлов для оптимизации работы диска.

Многие подумают, что это не имеет отношения к твердотельным накопителям, поскольку они не имеют ничего общего с тем, как жесткие диски читают и записывают данные.

В любом из случаев дефрагментация необходима, даже если вы используете SDD, если вы не думаете, что это так, я рекомендую поискать немного больше информации о том, как оптимизировать и выполнять профилактические задачи для улучшения использования вашего SDD.

Хотя многие говорят, что файловые системы Linux, в основном те, которые основаны на расширенных версиях или других системах журналирования, таких как JFS, ZFS, XFS или ReiserFS, им не нужна дефрагментация, правда в том, что, со временем, его работоспособность оказывается медленнее из-за разброса данных.

Хотя влияние этого никогда не бывает столь драматичным, как в системах на основе FAT и NTFS, это то, что мы можем легко решить в системе, если воспользуемся таким инструментом, как e4defrag.

Вот почему, если вас не устраивает производительность диска вашего ПК и вы хотите улучшить его целостность, мы можем выполнить дефрагментацию нашего диска в Linux очень простым способом.

Использование утилиты e2fsprogs для дефрагментации

дефрагментация-Linux

E4defrag - это утилита, доступная в большинстве дистрибутивов Linux, включая Ubuntu, в пакете e2fsprogs.

Есть много других инструментов, которые работают аналогичным образом, но e4defrag довольно прост в использовании.

Для выполнения задачи дефрагментации разделов в Linux необходимо установить инструмент E4defrag. Этот инструмент доступен в большинстве дистрибутивов Linux, поэтому для его установки просто найдите его с помощью предпочитаемого диспетчера программного обеспечения или найдите его в терминале в репозиториях вашего дистрибутива.

В случае Debian, Ubuntu и производные мы устанавливаем e2fsprogs с этой командой

В случае Fedora, openSUSE, CenOS и производные, которые мы устанавливаем с:

В случае Arch Linux и производные, которые мы устанавливаем с:

После завершения установки мы можем использовать инструмент для его использования важно указать, что желательно разбирать устройства или приводы из вашей системы, где вы будете использовать эту утилиту или что-то подобное, чтобы избежать повреждения данных.

Чтобы использовать инструмент, мы должны открыть терминал и выполнить следующую команду:

В результате мы получим изображение, которое указывает на величину фрагментации нашего юнита.

Если это число достигает значения выше 30, рекомендуется попытаться уменьшить его с помощью E4defrag, а если оно превышает значение 60, необходимо действовать как можно быстрее.

Чтобы дефрагментировать диск, запустите приложение с помощью следующей команды, заменив / путь / раздела / на имя раздела:

Хорошо, если вы хотите выполнить процесс на всем устройстве, замените «Устройство» по названию желаемого устройства:

Нам нужно будет только дождаться успешной дефрагментации нашего раздела или модуля, время, необходимое для этого, во многом зависит от размера вашего раздела или диска, а также от количества информации, которая у вас есть на них.

Без лишних слов, если вы знаете какой-либо другой инструмент для дефрагментации дисков в Linux, не стесняйтесь поделиться им с нами в комментариях.

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Любители Linux » GNU / Linux » Системное администрирование » Как дефрагментировать разделы в Linux?

Читайте также: