Дефрагментация разделы NTFS из Linux

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

25
задан 29 September 2014 в 17:15

7 ответов

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

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

# WARNING - does not work
fsck -t ntfs --kerneldefrag /dev/hdX

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

9
ответ дан 23 November 2019 в 02:21

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

1
ответ дан 23 November 2019 в 02:21

Update: UltraDefrag for Linux:

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

http://jp-andre.pagesperso-orange.fr/advanced-ntfs-3g.html

.

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

7
ответ дан 23 November 2019 в 02:21

Есть очень хорошо известный хитрый чит для архивирования дефрагментации 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 из них, останется еще одна для восстановления данных ... Я немного параноик, я знаю.

0
ответ дан 23 November 2019 в 02:21

Это БОЛЬШОЕ предупреждение для всех тех из вас, кто думает, что 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, который мог копировать / перемещать файл нефрагментированным способом. перемещать необходимые файлы, получая нужные целиком, а не фрагментировать их. он только выдает сообщение, если он не может найти способ поместить файл (невозможно получить дыру) или другое предупреждение, если ему нужно фрагментировать другой файл (спрашивая, разрешено ли пользователем) и т.д. было действительно здорово. Я не запомнил название (а может оно не работает с современными окнами, это было для Win2000).

3
ответ дан 23 November 2019 в 02:21

Вы можете использовать udefrag с E2B https://www.easy2boot.com/make-an-easy2boot-usb-drive/make-using-linux/

Установить udefrag заархивированный статический исполняемый файл (протестирован с Ubuntu 18.04.4 LTS amd64)

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libc6:i386 libncurses5:i386 libstdc++6:i386

wget -r https://easy2boot.com/_files/200002026-43f1844ea0/udefrag.zip
cd easy2boot.com/_files/200002026-43f1844ea0/
unzip udefrag.zip

sudo chmod 755 *
sudo cp udefrag /sbin/ 

Чтобы запустить его (замените sdX1 на соответствующую метку диска)

sudo ./udefrag -om /dev/sdX1

udefrag

3
ответ дан 5 January 2021 в 23:51

Другие вопросы по тегам:

Похожие вопросы: