Вопрос или проблема
Структура диска / файловой системы:
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", где его содержимое исчезло и атрибуты изменились. Вот шаги и альтернативные методы, которые вы можете попробовать для решения этой проблемы.
Шаги по восстановлению
-
Создание резервной копии:
Первоочередной задачей было создание образа диска. Вы правильно поступили, создав его. Это обеспечивает возможность последующих попыток восстановления без риска перезаписи данных. -
Использование TestDisk:
Хотя TestDisk и может восстановить потерянные разделы, в вашей ситуации, похоже, он не удается распознать каталог как таковой. TestDisk более эффективен для восстановления разделов, а не файлов или папок. -
Использование PhotoRec:
PhotoRec смог восстановить часть файлов, однако без исходных имен и структуры. Это общая проблема с этой утилитой, так как она фокусируется на восстановлении содержимого файлов, игнорируя их метаданные.
Альтернативные решения
Использование ext4magic
Вы можете попробовать воспользоваться утилитой ext4magic, которая может восстановить файлы с учетом временной базы, извлекая данные из журнала файловой системы:
-
Создание копии журнала файловой системы:
Выполните команду:sudo debugfs -R "dump <8> /opt/sda6.journal" /dev/sda6
-
Установка ext4magic:
Установите утилиту через команду:sudo apt-get install ext4magic
-
Запуск системы в режиме восстановления:
Перейдите в boot-меню Grub и запустите "режим восстановления". Включите сетевое соединение для возможности загрузки необходимых пакетов. -
Отмонтирование домашнего каталога:
Чтобы избежать записей в файловую систему, выполните:umount /home
-
Список файлов с помощью ext4magic:
Используйте:ext4magic /dev/sda6 -a $(date -d "-6hours" +%s) -f /Downloads -j /opt/sda6.journal -l
-
Восстановление файлов:
Выполните следующую команду для восстановления:ext4magic /dev/sda6 -a 1332606716 -f /Downloads -j /opt/sda6.journal -d /opt/RECOVER -r
Опция
-r
восстановит файлы, 100% маркированные как восстановленные. -
Завершение:
Вышли из shell и выберите "resume" в меню. После этого удалите ненужные файлы.
Заключение
Процесс восстановления данных всегда сопряжён с рисками, особенно если имена и структура файлов были утеряны. Использование специализированных утилит, таких как ext4magic
, может значительно помочь в восстановлении с учетом временного параметра. Тем не менее, будьте готовы к тому, что полный возврат к изначальному состоянию данных может быть невозможен. Настоятельно рекомендуется регулярно создавать резервные копии критически важных данных для их защиты от подобных ситуаций.