Самый простой вариант - использование универсальной утилиты TestDisk (http://www.cgsecurity.org/wiki/TestDisk,
/usr/ports/sysutils/testdisk) поддерживающей множество файловых систем,
например, ext2, ext3, ufs, fat, NTFS. Кроме восстановления файлов TestDisk позволяет
находить и восстанавливать содержимое удаленных дисковых разделов.Для восстановления группы удаленных файлов по их типу (например, фотографии)
можно воспользоваться программой PhotoRec (http://www.cgsecurity.org/wiki/PhotoRec).
Обе утилиты TestDisk и PhotoRec работают в интерактивном режиме, постепенно уточняя параметры восстановления.
Достаточно, отмонтировать раздел с которого собираемся восстанавливать файлы,
выполнить "testdisk" и выбрать требуемые варианты восстановления.
Демонстрация процесса восстановления представлена в скриншот-обзорах:
http://www.cgsecurity.org/wiki/TestDisk:_undelete_file_for_ext2
http://www.cgsecurity.org/wiki/TestDisk_Step_By_Step
Второй вариант, более подходит для обладателей файловой системы Ext3 и связан с использованием утилиты ext3grep.
Устанавливаем ext3grep (http://code.google.com/p/ext3grep/) или лучше загружаемся с LiveCD на котором присутствует данная утилита,
например, PartedMagic (http://partedmagic.com/) занимающий около 50 Мб.
Предположим случайно были удалены файлы в директории /home/test/db, находящейся на ext3 разделе /dev/sda6.
Чем быстрее мы попытаемся их восстановить, тем выше вероятность успеха.
Убедимся что раздел /dev/sda6 не примонтирован. Переходим в директорию
доступную на запись и имеющую достаточно свободного места для помещения восстановленных файлов.
Для восстановление файла /home/test/db/test.txt выполняем
ext3grep /dev/sda6 --restore-file test/db/test.txt
Для восстановления директории
ext3grep /dev/sda6 --restore-file test/db
Результаты восстановления будут помещены в каталог RESTORED_FILES,
который будет создан утилитой ext3grep в текущей директории.
Посмотреть все найденные имена файлов можно командой
ext3grep /dev/sda6 --dump-names
Для восстановления всех файлов удаленных с момента времени 1202351117:
ext3grep /dev/sda6 --restore-all --after=1202351117
Если с момента удаления прошло 30 мин, эпохальное время можно посмотреть например так:
perl -e 'print time()-30*60';
URL: http://www.xs4all.nl/~carlo17/howto/undelete_ext3.html
Обсуждается: http://www.opennet.dev/tips/info/1901.shtml