Как и обещал, тем более есть время, - Scalpel и Foremost (близнецы братья). Зачем нужны: в отличии от testdisk они могут восстанавливать файлы с убитой ФС. Обязательные условия применения: программа и восстанавливаемые файлы находятся на разных разделах, причем сканируемый раздел
отмонтирован!!! Папка для восстановленных файлов создается заранее и совершенно
пуста. Т.е., в идеале, скидываем раздел, на котором надо восстановить файлы, на внешний носитель, подключаем его и не монтируем (а если примонтировался автоматом - umount в помощь). Программа установлена на компе. Создаем папку для восстановленных файлов (допустим /home/oleg/restore). Это общее для обоих программ. Как впрочем и конфиг файл у этих программ почти одинаков (часть его):
Код: Выделить всё
# Обратите внимание, что файл конфигурации прежде всего предназначен для
# поддержки форматов, которые не имеют встроенных функций извлечения.
# Если формат является встроенным то просто запускаем foremost с
# -t <суффикс> и указываем формат, который хотим извлечь.
#
# Файл конфигурации используется для указания какие типы файлов прежде
# всего будут обнаружены. Пример файла конфигурации, foremost.conf, входит
# в этот дистрибутив. Для каждого типа файла, файл конфигурации описывает
# расширение файла, являются ли заголовок и нижняя часть чувствительными к
# регистру, максимальный размер файла, и заголовок и нижнюю часть для файла.
# Поле нижней части является необязательным, но заголовок, размер,
# чувствительность к регистру и расширения обязательны!
#
# Любая строка, которая начинается с '#' считается комментарием и игнорируется.
# Таким образом, чтобы пропустить тип файла, в начале этой строки просто
# поставьте'#'.
#
# Перед использованием декодируются заголовки и нижняя часть. Чтобы задать
# значение в шестнадцатеричном формате используйте \x[0-f][0-f], а для
# использования в восьмеричном \[0-3][0-7][0-7]. Пробелы могут быть
# представлены \s. Пример: «\x4F\123\I\sCCI» декодирует в «OSI CCI».
#
# Для совпадения любого одного символа (как подстановочный знак)используется
# '?'. Если вам необходимо искать символ '?', то нужно будет изменить строку
# «wildcard» "и" каждое появление старого символа в файле конфигурации. Не
# забывайте его шестнадцатеричное и восьмеричное значения! '?', эквивалентно,
# соответственно 0x3f и \063.
#
# Если вы хотите извлечь файлы без расширения введите значение «NONE» в колонку
# расширения (Примечание: значение этого флага «no suffix» можно изменить в
# настройке переменной FOREMOST_NOEXTENSION_SUFFIX в foremost.h и перекомпилировав).
#
# Параметр ASCII будет извлекать все печатаемые символы ASCII, до и после
# условного ключевого слова.
#
# Чтобы переопределить символ подстановки "?", измените параметр ниже и
# все вхождения в файле formost.conf.
#
Отличие этих программ: в Scalpel необходимо явно в файле /etc/scalpel/scalpel.conf раскомментировать (убрать #) напротив восстанавливаемых файлов. Это же можно и Форемост, но Форемост (вот и отличие!) позволяет указывать восстанавливаемое расширение файла из командной строки. Например
Код: Выделить всё
# AOL ART files
# art y 150000 \x4a\x47\x04\x0e \xcf\xc7\xcb
# art y 150000 \x4a\x47\x03\x0e \xd0\xcb\x00\x00
- раскомментируем две строки с art. Восстанавливая
большие файлы (больше, чем задан размер в конфигфайле) не забываем в нем
изменять размер (иначе файл будет из нескольких кусков) . Ну, общее все. Scalpel в репозитории Убунты, Foremost -
.
Scalpel:
Код: Выделить всё
$ sudo scalpel /dev/sdХ -o /home/oleg/restore
Помните, создавали папку? Опция -о указывает на выходной файл. Вот в принципе и все о Скальпеле: раскомментировали то что нужно в конфиге, запустили утилиту с указанием куда копировать.
Foremost: - необязательно раскомментировать нужное в конфиг файле.
Код: Выделить всё
foremost -v -T -t jpg -i /dev/sdХ -o /home/oleg/restore
Опции: -Т проставить время в названии директории для восстановленных файлов, -v выводить информацию о прогрессе во время сканирования, -t jpg, – искать и восстанавливать только файлы типа *jpg (можно перечислять несколько типов файлов через запятую),
-i /dev/sdХ - раздел носителя, с которого нужно провести восстановление данных, -о - то же, что и в Скальпеле - выходная директория.
PS: для восстановления файлов .dot в команде указываем ole (ну, на месте jpg), если нужно восстановить все файлы, указанные в конфиге, указываеи all.
Как бы и все о прогах. Напоминаю, все восстановленные файлы принадлежат администратору, поэтому и открываются с правами администратора, используйте chmod. И да, имена файлов номерные, нужный файл придется искать перелопачивая все ручками!!!

16 Гиговая флэшка сканировалась 2 часа. Так что проги - медленные!
Вот писал- писал, а про главное - забыл! Мулька этих прог не только в том, что они могут работать на убитых ФС, но и в их конфигфайле: Вы можете сами туда добавлять нужные Вам для восстановления расширения указывая размер и header (заголовок) в восьми- или шестнадцатеричном коде (суффикс). Footer - необязателен. (См. для примера, как написано в конфигфайле) ! Вот, это самое важное в этих прогах!!!!