Подробный гайд по восстановлению данных с ext4magic

ext4magic восстанавливает удалённые файлы в ext3/ext4 через анализ журнала. Гайд по установке, настройке и безопасному использованию утилиты.

2026.05.12                  


Подробный гайд по восстановлению данных с ext4magicПодробный гайд по восстановлению данных с ext4magic

ВАЖНОЕ ПРЕДУПРЕЖДЕНИЕ

  • ext4magic работает только с файловыми системами ext3 и ext4.

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


1. Что такое ext4magic и когда его использовать

ext4magic — утилита для судебно-технического восстановления удалённых файлов в ext3/ext4.

Она анализирует:

  • Журнал файловой системы (journal)
  • Таблицу инодов (inode table)
  • Структуру каталогов и записи dir_entry

Эффективна, если:

  • Удаление произошло недавно
  • Раздел не перемонтировался в режиме чтения-записи
  • Журнал не был очищен или перезаписан
  • Файлы не были фрагментированы или перезаписаны

Не поможет, если:

  • Блоки файла уже перезаписаны новыми данными
  • Включено шифрование fscrypt или metadata_csum (частично поддерживается, но результаты нестабильны)
  • Файловая система повреждена или форматирована заново

2. Подготовка (обязательные шаги)

2.1. Размонтирование

sudo umount /dev/sdXN

Если раздел занят:

sudo lsof | grep /dev/sdXN
sudo fuser -mv /dev/sdXN
sudo umount -l /dev/sdXN  # ленивое размонтирование (крайний случай)

2.2. Создание образа (настоятельно рекомендуется)

sudo ddrescue -f -n /dev/sdXN /path/to/backup.img /path/to/backup.log

ddrescue предпочтительнее dd, так как пропускает битые сектора и продолжает работу.

2.3. Проверка типа ФС

sudo blkid /dev/sdXN
# или
sudo file -s /dev/sdXN

Убедитесь, что тип: ext3 или ext4.


3. Установка

Дистрибутив Команда
Debian / Ubuntu sudo apt install ext4magic
Fedora / RHEL / Alma sudo dnf install ext4magic
Arch / Manjaro sudo pacman -S ext4magic
из исходников ./configure && make && sudo make install

Зависимости для сборки:

e2fsprogs-dev, libmagic-dev, zlib1g-dev, gcc, make

4. Синтаксис и ключевые опции

sudo ext4magic [опции] /dev/sdXN | /путь/к/образу.img
Опция Описание
-d /dir Директория для сохранения восстановленных файлов
-f [time] Фильтр по времени удаления (формат: now-2h, 2024-05-10, +30m)
-l Показать список удалимых файлов (без восстановления)
-R Рекурсивное восстановление каталогов
-t "тип" Фильтр по MIME-типу (через libmagic), например "image/jpeg"
-j Принудительно использовать журнал
-n Сохранять оригинальные имена (если доступны в журнале)
-v Подробный вывод
-h Справка

Устройства/образы указываются в конце команды.


5. Пошаговые примеры

5.1. Просмотр списка удалённых файлов

sudo ext4magic -l /dev/sdXN | less

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

5.2. Восстановить всё, удалённое за последние 3 часа

mkdir -p ~/recovery && sudo ext4magic -d ~/recovery -f now-3h -n /dev/sdXN

5.3. Восстановить конкретную папку рекурсивно

sudo ext4magic -d ~/recovery -R -f now-24h /home/denis/documents /dev/sdXN

5.4. Только изображения и документы

sudo ext4magic -d ~/recovery -t "image/jpeg,image/png,application/pdf" -f now-6h /dev/sdXN

5.5. Работа с образом диска

sudo ext4magic -d ~/recovery -f now-12h -n /path/to/disk.img

6. Ограничения и нюансы ext4

Фактор Влияние на восстановление
data=journal Лучший результат (данные в журнале)
data=ordered (по умолчанию) Восстанавливаются иноды и метаданные, данные могут быть фрагментированы
data=writeback Высокий риск потери содержимого файлов
metadata_csum=1 Может нарушать парсинг структуры каталогов в старых версиях ext4magic
encrypt=1 (fscrypt) Имена и содержимое недоступны без ключа шифрования
TRIM / SSD Быстрая очистка блоков делает восстановление практически невозможным

Совет:

Если журнал большой и не очищался, добавьте -j для приоритетного поиска в журнале.


7. Что делать, если ext4magic не сработал

Ситуация Рекомендуемое действие
Нет имён файлов Используйте photorec или foremost (восстановление по сигнатурам)
Фрагментированные файлы Попробуйте extundelete (иногда лучше собирает разрозненные блоки)
Повреждённая ФС Сначала e2fsck -n /dev/sdXN (только чтение!), затем восстановление с образа
Нужен точный путь debugfs → ls -d , dump
SSD + TRIM Данные, скорее всего, уже очищены на контроллере. Восстановление маловероятно.

8. Чек-лист безопасности

  • [ ] Раздел размонтирован или образ создан
  • [ ] Не запускался e2fsck, fsck, mkfs после удаления
  • [ ] Восстановление идёт на другой диск/раздел
  • [ ] Используется sudo или права root
  • [ ] Вывод сохраняется в отдельную директорию с достаточным местом
  • [ ] После восстановления проверены контрольные суммы/целостность файлов

9. Полезные ссылки и альтернативы

Утилита Назначение
extundelete Аналог ext4magic, иногда стабильнее на ext4
testdisk / photorec Восстановление разделов и файлов по сигнатурам
debugfs Ручной доступ к инодам и блокам ext2/3/4
ddrescue Безопасное создание образов с повреждённых носителей
scalpel / foremost Карвинг файлов без учёта ФС

Заключение

ext4magic — мощный, но узкоспециализированный инструмент.

Его эффективность напрямую зависит от:

  1. Скорости реакции после удаления
  2. Режима монтирования и настроек ext4
  3. Отсутствия перезаписи блоков

Идеальный сценарий:

umount → ddrescue → ext4magic -d /recovery -f now-2h -n image.img → проверка → бэкап