LINUX.ORG.RU
ФорумAdmin

Дефрагментация отдельного файла на ext4

 , , ,


0

2

Стоит арч на ехт4, живет хорошо, грузится через grub4dos ибо удобно еще и исошники грузить и прочие образы и конфиг не монстроуозный как у второго граба, но суть не в этом - решил я тут со старого мультибут харда перенести vhd образ с winxp и словил интересную ошибку: на мультибут харде ntfs и этот образ с этим же grldr грузится, а на ехт4 ловлю ошибку 61 (too many fragments). e4defrag’ом прошелся и по диску и по файлу неоднократно и все равно такая фигня, а загрузиться надо ибо надо прошить одну железяку, а софт только под оффтопик. ЧЯДНТ и как сложить эти фрагменты в одну кучу? г4д обновил - не помогло

Ответ на: комментарий от anonymous

Это в первую очередь пробовал, еще до дефрагментации

Dark_Snow
() автор топика
Ответ на: комментарий от Dark_Snow

У меня файлы после e4defrag -v выглядят значительно лучше. А места на /boot достаточно? И что показывает tune2fs -l?

gag ★★★★★
()
Ответ на: удаленный комментарий

Поговори тут еще - я в январе 18го свалил с шынды

Dark_Snow
() автор топика
Ответ на: комментарий от anonymous

А чего шпрехать то - писать оно пишет про «нот нид», а загрузчик пишет error 61 TOO MANY fragments, при этом на нтфс нормально грузит ЭТОТ ЖЕ образ

Dark_Snow
() автор топика
Ответ на: комментарий от anonymous

Пробовал кста, прикольный) Только я в свое время уигрался и теперь не играю практически

Dark_Snow
() автор топика
Ответ на: комментарий от anonymous

Это ты на «Average size per extent» намекаешь? Я не маплю 10 гигов в ОЗУ, так что указывать –тор бессмысленно - образ 10 гигов, озы 8 всего (минус на встроенную графику)

Dark_Snow
() автор топика
Ответ на: комментарий от anonymous

Дык у меня изначально рабочий конфиг и есть через мап:

title Windows XP vhd map /boot/XP.vhd (hd0) map –hook root (hd0,0) chainloader /ntldr

Не в конфиге дело вот совсем ибо с нтфс все прекасно грузится

Dark_Snow
() автор топика

Почему бы не уменьшить раздел ext4, после чего создать новый по размеру образа и записать образ на раздел? Тогда гарантированно не будет фрагментации.

Xenius ★★★★★
()
Последнее исправление: Xenius (всего исправлений: 1)
Ответ на: комментарий от Xenius

Можно и так - но почему костыли то? Мне интересно понять что за фигня.

Dark_Snow
() автор топика
Ответ на: комментарий от Dark_Snow

/boot не отдельным разделом, 22 гига свободно

Но если на этом разделе /usr с десятками тысяч файлов, то, вероятно, больших целых кусков уже и не осталось. И если ещё

образ 10 гигов

То свободны 32 ГБ (без образа) на root fs это не очень много свободного места для помещения туда 10 ГБ файла.

У @i-rinat есть графический просмотрщик фрагментации ФС: https://github.com/i-rinat/fragview.

Можно попробовать удалить образ, и ещё раз его переписать с предварительным выделением места: rsync -av --preallocate.

gag ★★★★★
()
Ответ на: комментарий от anonymous

В том что ты пытаешся запустить винду на линуксовой файловой системе которую она не понимает

anonymous
()
Ответ на: комментарий от gag

Вот то интересная мысль, попробую на выходных и отпишусь (пока плюнул и на отдельном харде запустил, но решить траблу уже вопрос упрямства)

Dark_Snow
() автор топика
Ответ на: комментарий от gag

За софтину отдельный сяп - удобно видеть наглядно

Dark_Snow
() автор топика
Ответ на: комментарий от gag

rsync -av –preallocate

Было

Total/best extents 609/6 Average size per extent 17218 KB Fragmentation score 0 [0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag] This file (/boot/XP.vhd) does not need defragmentation.

Стало

Total/best extents 823/6 Average size per extent 12740 KB Fragmentation score 0 [0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag] This file (/boot/XP.vhd) does not need defragmentation.

Dark_Snow
() автор топика
Последнее исправление: Dark_Snow (всего исправлений: 1)
Ответ на: комментарий от Dark_Snow

Стало

Кроме фрагментации файлов есть ещё фрагментация свободного пространства. Для его дефрагментации утилит нет, насколько мне известно. (Наверняка, т.к. это нетривиально сделать оптимально, чтобы не перезаписать в итоге вообще все файлы, что займёт слишком много времени, т.к. это операции на одном и том же диске.) Логично предположить, что именно из-за этой фрагментации большого свободного куска просто нет.

gag ★★★★★
()
Ответ на: комментарий от gag

Ауслоджиковский дефраг в свое время «оптимизировал» как раз переносом всех файлов в начало диска и дефрагментацией свободного места, плюс перед тем как файл заново скопировать, прошелся e4defrag’ом - я понял принцип его работы: он просто показометр и вообще нихрена не хочет ничего дефрагментировать, он просто хочет цифры показывать типа все норм.

Dark_Snow
() автор топика
Ответ на: комментарий от Dark_Snow

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

gag ★★★★★
()
Ответ на: комментарий от Dark_Snow

Еще бы ей не работать на родной файловой системе. А вот на ext4 работать не будет. Так же как например линуксовый образ на ntfs без модуля в ядре

anonymous
()
Ответ на: комментарий от Dark_Snow

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

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.