Правильный/альтернативный метод восстановления потерянного каталога (ext4)

Вопрос или проблема

Структура диска / файловой системы:

Seagate 1TB > LUKS > LVM2, Ext4

Сценарий:

При выполнении скрипта, который использует youtube-dl для загрузки целого канала, диск заполнился, и базовый каталог (“/Downloads”) был очищен, а его разрешения на файлы/каталоги были изменены с “drwxr-xr-x” на “-rw-rw-r–“ – что я не совсем понимаю, почему. Несколько новых файлов были добавлены позже, прежде чем я закончил процесс, когда понял, что что-то идет не так.

Решения, которые я пробовал:

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

Затем я использовал Photorec и получил около 500 каталогов с примерно 500 файлами в каждом, где, как я думаю, находятся все утерянные файлы. Действительно, я нашел среди них некоторые важные PDF файлы, которые я искал, но так как имена файлов, структура и атрибуты были утеряны, я считаю, что невозможно найти и восстановить 95% подкаталогов и файлов надежным образом.

На этом этапе:

Теперь диск показывает >300 ГБ свободной памяти, поэтому я предполагаю, что нет никакого дополнительного решения, такого простого, как изменение разрешения каталога обратно на “drwxr-xr-x”, потому что те файлы и подкаталоги – конкретно это место памяти – были освобождены, но все же, есть ли какая-то альтернатива или возможное решение для попытки восстановления/восстановления большинства файлов и их структуры?

В статье
Восстановление удаленных файлов в Ubuntu с файловой системой ext4
описывается, как один пользователь восстановил свои удаленные файлы:

  • Откройте терминал и сделайте копию журнала файловой системы:

      sudo debugfs -R "dump <8> /opt/sda6.journal" /dev/sda6
    

    /dev/sda6 обозначает ваше устройство. Не храните копию в /tmp.

  • Установите ext4magic:

      sudo apt-get install ext4magic
    
  • Получите доступ к оболочке root через Grub загрузка > Advanced options >
    recovery mode > Включение сети.
    Это может занять некоторое время.

  • Когда меню появится снова, вверху должно быть написано что-то вроде
    “режим чтения/записи”. Выберите опцию “root shell”.

  • В оболочке root введите umount /home

  • Чтобы перечислить все файлы, используйте:

      ext4magic /dev/sda6 -a $(date -d "-6hours" +%s) -f user/folder -j /opt/sda6.journal -l
    
  • Чтобы восстановить файлы:

      ext4magic /dev/sda6 -a 1332606716 -f user/folder -j /tmp/sda6.journal -r -d /opt/RECOVER
    

    где:

    • -r будет восстанавливать файлы, которые были отмечены как 100% в
      предыдущем выводе
    • -d это каталог для хранения восстановленных файлов.
  • Выйдите из оболочки и выберите в меню опцию “resume”.
    Удалите ненужные файлы.

Ответ или решение

Восстановление утраченного каталога в файловой системе ext4 может быть сложной задачей, особенно в ситуации, когда базовый каталог был очищен, а права доступа изменены. В вашем случае возникла проблема с каталогом "/Downloads", где его содержимое исчезло и атрибуты изменились. Вот шаги и альтернативные методы, которые вы можете попробовать для решения этой проблемы.

Шаги по восстановлению

  1. Создание резервной копии:
    Первоочередной задачей было создание образа диска. Вы правильно поступили, создав его. Это обеспечивает возможность последующих попыток восстановления без риска перезаписи данных.

  2. Использование TestDisk:
    Хотя TestDisk и может восстановить потерянные разделы, в вашей ситуации, похоже, он не удается распознать каталог как таковой. TestDisk более эффективен для восстановления разделов, а не файлов или папок.

  3. Использование PhotoRec:
    PhotoRec смог восстановить часть файлов, однако без исходных имен и структуры. Это общая проблема с этой утилитой, так как она фокусируется на восстановлении содержимого файлов, игнорируя их метаданные.

Альтернативные решения

Использование ext4magic

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

  1. Создание копии журнала файловой системы:
    Выполните команду:

    sudo debugfs -R "dump <8> /opt/sda6.journal" /dev/sda6
  2. Установка ext4magic:
    Установите утилиту через команду:

    sudo apt-get install ext4magic
  3. Запуск системы в режиме восстановления:
    Перейдите в boot-меню Grub и запустите "режим восстановления". Включите сетевое соединение для возможности загрузки необходимых пакетов.

  4. Отмонтирование домашнего каталога:
    Чтобы избежать записей в файловую систему, выполните:

    umount /home
  5. Список файлов с помощью ext4magic:
    Используйте:

    ext4magic /dev/sda6 -a $(date -d "-6hours" +%s) -f /Downloads -j /opt/sda6.journal -l
  6. Восстановление файлов:
    Выполните следующую команду для восстановления:

    ext4magic /dev/sda6 -a 1332606716 -f /Downloads -j /opt/sda6.journal -d /opt/RECOVER -r

    Опция -r восстановит файлы, 100% маркированные как восстановленные.

  7. Завершение:
    Вышли из shell и выберите "resume" в меню. После этого удалите ненужные файлы.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...