Поиск






Суббота, 18.05.2024, 08:55

| RSS

ОТДЕЛ
ИНФОРМАЦИОННЫХ
ТЕХНОЛОГИЙ
 
Каталог статей


Главная » Статьи » Интересные статьи

Как восстановить удаленные файлы в файловой системе ext3

Введение

Рано или поздно это происходит с каждым: через мгновение после нажатия Enter вы осознате свою ошибку, но уже слишком поздно; вы удалили очень важный файл или каталог, для которого не существует резервной копии. Или, возможно, резервная копия есть, но она месячной давности....и, пребывая в шоке, вы видите последний месяц, мгновенно пролетающий перед вашими глазами, и с болью понимаете, что вам придется делать все заново....

К счастью, вы помните, что файлы никогда реально не удаляются, максимум - перезаписываются новым содержанием. Итак, вы как можно скорее перемонтируете диск только для чтения. Но что теперь?

Если вы попробуете найти в Google ответ на запрос "восстановление удаленных файлов в ext3", то практически любая найденная статья будет содержать вопрос пользователя о том, возможно ли это, и ответ - "нет".

Наиболее часто цитируемый абзац взят из самого ext3 FAQ:

Q: Как можно восстановить удаленные файлы или отменить их удаление в разделе диска с файловой системой ext3?

A: На самом деле, это невозможно. Вот что сказал об этом один из разработчиков, Андреас Дилгер:

Чтобы обеспечить корректное восстановление ссылок в случае неожиданного отказа системы, ext3 при удалении файла обнуляет указатели на блоки в индексном дескрипторе файла (inode), в то время как ext2 просто помечает эти блоки как неиспользуемые в битовой карте блоков, а индексный дескриптор как "удаленный", и не трогает указатели на блоки.

Ваша единственная надежда на то, чтобы найти при помощи grep все части удаленных вами файлов, и надеяться на лучшее.

Однако это утвержение не совсем верно. Вся информация, возможно, сохранилась, и указатели блоков в том числе. Вероятность этого немного меньше, чем в случае с ext2, поскольку нужные данные придется восстанавливать из журнала. Кроме того, мета-данные меньше связаны с реальными данными, поэтому необходимо найти эвристический алгоритм для возврата к предыдущему состоянию. Каждый раз, когда происходит доступ к файлу, изменяется Время Доступа к нему, и его инод записывается на диск, вместе с 31 другими инодами, которые так же принадлежат данному блоку. Когда это происходит, копия блока записывается в журнал. Поэтому, если ваш раздел не очень большой в сравнении с журналом, и если Вы относительно недавно обращались к файлам, которые хотите восстановить, возможно, Вам удастся восстановить указатели на блоки из журнала.

7-го февраля 2008 года я случайно полностью удалил мой домашний каталог: более 3Гб данных были удалены командой rm -rf. На тот момент у меня была только резервная копия от июня 2007 года. Невозможность восстановления данных была неприемлема. Поэтому я проигнорировал всех, пытающихся меня в этом убедить и начал изучать, как в действительности работает файловая система ext3, и что в действительности происходит, когда файлы удаляются...

Через три недели, написав около 5000 строк кода, я восстановил на своем диске все файлы до единого...читать дальше

Категория: Интересные статьи | Добавил: sashacd (21.09.2009)
Просмотров: 1660 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Имя *:
Email *:
Код *:

Copyright ООО "Отдел Информационных Технологий" © 2024