Восстановление данных. Практическое руководство, стр. 60
На основании вышесказанного можно сделать вывод о том, что ручное восстановление файлов с помощью lde крайне непроизводительно и трудоемко. Однако при этом данный подход является наиболее "прозрачным" и надежным. Что касается восстановления оригинальных имен файлов, то эту операцию лучше всего осуществлять с помощью отладчика файловой системы debugfs.
Загружаем в отладчик редактируемый раздел или его копию. Сделать это можно с помощью команд
debugfs /dev/sdb1debugfs my_dump-wdebugfs -w my_dumpdebugfs -w /dev/sdb1Чтобы просмотреть список удаленных файлов, даем команду
lsdellsdel <i>t_sec</i><i>t_sec</i>t_secКоманда
cat <<i>N</i>><<i>N</i>>dump <<i>N</i>> <i>new_filе_name</i><i>new_file_name</i>--wПри желании можно восстановить файл непосредственно на самой восстанавливаемой файловой системе (что особенно удобно при восстановлении больших файлов). В этом нам поможет команда
undel <<i>N</i>> <i>undel_file_name</i><i>undel_file_name</i>Выполняя такую операцию, помните, что команда
undelКоманда
stat <<i>N</i>>mi <<i>N</i>>link countdeletion timeseti <<i>N</i>>setb <i>X</i><i>X</i>Перечень блоков, занимаемых файлом, можно просмотреть с помощью команды
statОстается только дать файлу имя, что осуществляется путем создания ссылки на каталог (
directory linkln <<i>N</i>> <i>undel_file_name</i><i>undel_file_name</i>Создание ссылок на каталог необратимо затирает оригинальные имена удаленных файлов.
После присвоения имени восстановленному файлу полезно дать команду
dirtyfsck-fТеперь перейдем к восстановлению оригинального имени. Рассмотрим простейший случай, когда каталог, содержащий удаленный файл (также называемый родительским каталогом), все еще цел. В этом случае следует дать команду
stat dir_namЗатем следует дать отладчику команду
dump <<i>INODE</i>> <i>dir_file</i><i>INODE</i><i>dir_file</i>А как быть, если родительский каталог тоже удален? В этом случае и он будет помечен как удаленный! Выводим список удаленных индексных дескрипторов, выбираем из этого списка каталоги, формируем перечень принадлежащих им блоков и сохраняем дамп в файл, который затем следует просмотреть вручную или с помощью утилиты-фильтра. Как уже отмечалось, порядок расположения файлов в inode очень часто совпадает с порядком расположения файлов в каталоге, поэтому восстановление оригинальных имен в четырех случаях из пяти проходит на ура.
При тяжких разрушениях, когда восстанавливаемый файл приходится собирать по кусочкам, помогает команда
dump_unusedТаким образом, можно сделать вывод о том, что отладчик debugfs в значительной мере автоматизирует восстановление удаленных файлов, однако восстановить файл с разрушенным inode он не способен, и без lde в данном случае не обойтись.
Утилита R-Studio for NTFS, вопреки своему названию, поддерживает не только NTFS, но и файловые системы ext2fs/ext3fs (рис. 8.7). С точки зрения обычных пользователей, это — хорошее средство для автоматического восстановления удаленных файлов. Утилита предоставляет интуитивно-понятный интерфейс, проста в управлении и в благоприятных ситуациях позволяет восстанавливать удаленные файлы несколькими щелчками мыши. К недостаткам R-Studio for NTFS можно отнести: