Дефрагментація розділів NTFS від Linux


Відповіді:


12

Так, ви можете використовувати shake . Спочатку вам потрібно буде додати в систему власні сховища:

sudo add-apt-repository ppa:un-brice/ppa
sudo apt-get update
sudo apt-get install shake-fs

Тоді ви можете зробити

sudo shake /some/dir

10
Shake не зовсім дефрагментатор, він просто копіює кожен файл з надією, що копія буде менш фрагментарною. Звичайно, це далеко не те, як працюють справжні дефрагментатори.
rustyx

9

Навколо такого інструменту немає, для чого я знаю.

Деякі сайти повідомляють про наступну команду

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

але це не працює, і незрозуміло, де вони це беруть.


7
-1 Навіщо додавати відповідь, коли це навіть не корисно ні в якому разі?
Вулфер

1
@Wolfer це добре, тому коли ми знаходимо його десь ще, ми знаємо, що він не працює
krispy

6

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

UltraDefrag - це потужний інструмент дефрагментації з відкритим кодом для платформи Windows. Він може дефрагментувати будь-які системні файли, включаючи вулики реєстру та файл підкачки. Також однією з головних цілей UltraDefrag є робота якнайшвидше та надійніше. Він переноситься на Linux та NTFS-3G для дефрагментації розділів NTFS. Наразі доступна лише тестова версія в консольному режимі. Будь ласка, прочитайте включений файл README.linux для компіляції та тестування

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

[Я ще цього не використовував сам. Знайшов його за допомогою теми на форумі Arch . Подальше перехід до наступної сторінки призводить до більшої тематики. Спробуйте на свій страх і ризик.


1

Це велике попередження для всіх із вас, хто вважає, що 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 Mount Mount (і він також працює в Linux). він може створити файл, який виконує функцію контейнера (як папку) і може бути стиснутий (також з кращим співвідношенням, ніж NFTS) і одночасно зашифрований.

Чому я це згадую. тому що будь-який інструмент клонування побачить такий контейнер як файл (коли він не встановлений як папка) та зчитує / скидає / резервне копіювання стисненого потоку даних, а не простих нестиснених даних (як при стисненні NTFS). тому відновлення відбувається, як і будь-який інший файл.

Замість того, щоб стискати папку NTFS за допомогою атрибута стиснення NTFS, я помістив віртуальну папку файла Pismo на файл Pismo. покращити стиснення тощо.

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

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

І це крос-платформа.

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

  1. Початкова позиція запису заздалегідь обчислюється як 64K * N, де N - кількість відрізка 64K, який буде спробувано стиснути
  2. Буфер для 64K зарезервований
  3. Цей буфер заповнюється 64 К і потім стискається
  4. Записано лише потрібні 4K блоки, решта - як вільне місце

Таким чином, це створює багато, багато GAP в середині файлу, і лише після дефрагментації файлу GAP зникають, але така дефрагментація не відбувається, поки користувач не замовить її (contig.exe, defrag.exe тощо).

Так, він записує N'th 64K відрізок на позицію, кратну 64K, незалежно від того, чи можна було або не вдалося стиснути попередні дані, він залишає проміжок між кожним кутом 64K (якщо все можна стиснути).

Стиснення віртуальної папки Pismo File Mount діє як і будь-яке звичайне стиснення, як передбачається, в режимі трубопроводу, тому немає прогалин. принаймні, поки ви щось не видалите.

Ще одне попередження: не вкладайте файли VHD / VHDX всередину нього, Windows не зможе їх прикріпити! Windows використовує фокус ядра для монтажу таких речей, він не використовує файлової системи, працює на низькому рівні.

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

Також було б чудово, що моя пам'ять краще працює. в минулому я використовував у Windows інструмент (командний рядок, вибачте), який міг копіювати / переміщувати файл не фрагментарно. переміщуючи потрібні файли, отримуючи потрібне ціле, а не фрагментуючи ці. воно дає лише повідомлення, якщо він не може знайти спосіб помістити файл (неможливо отримати дірку) або інше попередження, якщо йому потрібен фрагмент іншого файлу (запитання, чи авторизовано користувачем) тощо. Я не пам’ятав імені (і, можливо, це не працює із сучасними вікнами, це було для Win2000).


0

Ні. Це файлові системи Windows, тому для їх дефрагментації вам потрібно буде використовувати Windows.


Чи не має Wine стандартний додаток для дефрагментації Windows? ???
Хуан

2
@Juan, ні, це частина Windows. WINE просто дозволяє запускати сторонні програми, написані для Windows. Він також використовує специфічні для драйвера файлової системи Windows специфічні йокти, які не доступні в Linux.
psusi

0

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

Але, у вас повинен бути другий жорсткий диск або принаймні 51% вільного місця (якщо це не використовується для стиснення).

Хитрість (дуже хитра) полягає у використанні інструментів для "клонування" розділу, але не типових ... Є інструмент, який може "клонувати" розділ NTFS, але не робити точний "клон" ... дозвольте мені пояснити ...

Інструмент є архархічним (якщо я не пам’ятаю поганого).

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

Але складна частина виникає при відновленні ... вона не поміщає файли туди, куди вони, а розміщує файли без фрагментації.

Я використовував його для розділів Windows System, а також для розділів даних NTFS ... з успішним ... не дуже простий у використанні / розумінні (уважно читайте документи) ... але я можу зробити трюк.

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

Але в будь-якому випадку, спочатку ви повинні зменшити розділ NTFS ... використовувати GParted (якщо я не пам'ятаю погано).

Отже, кроки:

  1. Найгірший випадок: на жорсткому диску є лише один розділ BIG NTFS з достатньою кількістю вільного місця
  2. Boot SystemRescuCD (якщо ви хочете запустити X windows за допомогою команди майстра)
  3. Використовуйте GParted, щоб зменшити розділ NTFS до мінімального розміру (буде фрагментувати файли NTFS більше, незалежно від того)
  4. Використовуйте GParted для створення іншого розділу на вільному просторі, краще, якщо тип ext4 (журнал)
  5. Монтуйте такий новий розділ, але не монтуйте NTFS
  6. Використовуйте fsarchiver для створення "клону" розділу NTFS, використання стиснення та збереження файлу bif на створеному розділі
  7. Відтепер це дуже РИЗИКОВО: Використовуйте GParted для видалення розділу NTFS та заново створіть його
  8. Відновіть "клон" за допомогою fsarchiver, усі файли на розділі NTFS будуть 1 фрагментом (крім одного або двох, тому що $ MFT можна було б розмістити на середині, а не на strat або в кінці розділу)
  9. Використовуйте Gparted, щоб у разі потреби зменшити розділ NTFS
  10. Перевірте правильність NFTS, чи можна їх монтувати, читати / записувати та демонтувати
  11. Демонтуйте новостворений розділ ext4
  12. Використовуйте Gparted для вирощування цього ext4 (а краще, видаліть його і відтворіть)

Це все, люди ... як я сказав, дуже складно і ризиковано, звичайно.

Остерігайтеся ключових моментів:

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

Етапи: Для використання Linux Linux / LiveUSB Linux для дефрагментації розділу NTFS, який використовує 100% диска, без жодного іншого жорсткого диска до такого ПК [повинен бути достатньо вільного місця].

ВАЖЛИВО:

  • Деякі можуть подумати, якщо у вас на жорсткому диску 51% безкоштовно після зменшення NTFS, можна безпечніше просто створити цей ext4 і скопіювати на нього всі NTFS, потім видалити NTFS, відтворити його та скопіювати їх назад. РОБИТИ, що спричинить втрати, наприклад, дозвіл на безпеку NTFS тощо

Поки я знаю, що GParted / fsarchiver є найбільш близьким рішенням (для використання лише LiveCD / LiveUSB з Linux), не швидким, якимось ризиковим, але задовольняючим умовам, накладеним особою, яка розміщує запитання.

ЗАБЕЗПЕЧИТИ: Це дуже, дуже ризиковано ... як і будь-який інструмент "клонування" ... і поки що я не знаю жодного іншого найкращого способу ... і він втратить потоки NTFS (якщо я не пам’ятаю поганого)

ВИМОГА: Перед тим, як користуватися, прочитайте докладно документи, що стосуються fsarchiver.

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

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


Я б не рекомендував цей метод, оскільки (так само, як ви сказали) це дуже ризиковано і зазвичай не варто через дефрагментацію. Краще використовувати живі системи Windows для виконання такої роботи (або оригінальну систему Windows - чому б і ні?).
Командир байт

fsarchive - це лише складний архів дьогтю, який зберігає деякі розширені атрибути. Це нічого не дефрагментує. Ваш метод такий же хороший, як і проста копія файлів з одного розділу в іншу чисту файлову систему.
ЗАБ
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.