Номер текущего найденного inode отображается именно в нижней части экрана. В верхней части отображается номер последнего просмотренного inode в режиме inode
.
Переходим в режим inode нажатием клавиши , нажимаем клавишу <#> и вводим номер inode, который требуется просмотреть. Если дата удаления более или менее соответствует действительности, нажимаем
В сложных случаях, когда список прямых и/или косвенных блоков разрушен, восстанавливаемый файл приходится собирать буквально по кусочкам, основываясь на его содержимом и частично — на стратегии выделения свободного пространства файловой системой. В этом нам поможет клавиша NOT USED
) и, обнаружив подходящий, дописываем в файл. Конечно, таким образом невозможно восстановить сильно фрагментированный двоичный файл, но вот восстановление листинга программы — вполне реалистичная задача.
На основании вышесказанного можно сделать вывод о том, что ручное восстановление файлов с помощью lde крайне непроизводительно и трудоемко. Однако при этом данный подход является наиболее "прозрачным" и надежным. Что касается восстановления оригинальных имен файлов, то эту операцию лучше всего осуществлять с помощью отладчика файловой системы debugfs.
Загружаем в отладчик редактируемый раздел или его копию. Сделать это можно с помощью команд debugfs /dev/sdb1
или debugfs my_dump
соответственно. Если мы планируем осуществлять запись на диск, необходимо указать ключ -w
: debugfs -w my_dump
или debugfs -w /dev/sdb1
.
Чтобы просмотреть список удаленных файлов, даем команду lsdel
(или lsdel
, где
— количество секунд, истекших с момента удаления файла). На экране появится список удаленных файлов (разумеется, без имен). Файлы, удаленные более t_sec
секунд назад (если эта опция задана), в данный список не попадут.
Команда cat <
выводит содержимое текстового файла на терминал. Здесь <
— номер inode, заключенный в угловые скобки. При выводе двоичных файлов разобрать смысл отображаемой на экране информации практически невозможно. Такие файлы должны сбрасываться в дамп командой dump <
, где
— новое имя файла (с путем), под которым он будет записан в файловую систему, из-под которой был запущен отладчик debugfs. Файловая система восстанавливаемого раздела при этом остается неприкосновенной. Иными словами, команда должна даваться без ключа --w
.
При желании можно восстановить файл непосредственно на самой восстанавливаемой файловой системе (что особенно удобно при восстановлении больших файлов). В этом нам поможет команда undel <
, где
— имя, которое будет присвоено файлу после восстановления.
Выполняя такую операцию, помните, что команда undel
крайне агрессивна и деструктивна по своей природе. Она затирает первую свободную запись в таблице каталогов, делая восстановление оригинальных имен невозможным.
Команда stat <
отображает содержимое inode в удобочитаемом виде, а команда mi <
позволяет редактировать их по своему усмотрению. Для ручного восстановления файла (откровенно говоря, этого не пожелаешь и врагу) мы должны установить счетчик ссылок (link count
) на единицу, а время удаления (deletion time
), наоборот, сбросить в ноль. Затем отдать команду seti <
, помечающую данный inode как используемый, и для каждого из блоков файла выполнить команду setb
, где
— номер блока.