Немного общих данных.
Изначально
Foremost был разработан Отделом Специальных Исследований
Военно-Воздушных сил и Информационным центром программы безопасности
обучения и исследований (естественно в США). Когда военные с ней
наигрались, утилита была представлена широкой публике. В этой статье я
постараюсь описать одно очень полезное её свойство – восстановление
удалённых файлов в Linux, функционал утилиты на этом не ограничивается
и в умелых руках foremost представляет собой мощный инструмент по
нацеленному поиску и распознаванию глубоко запрятанных файлов, но мы не
об этом
Как работает foremost?
Если
совсем просто, то foremost сканирует и распознаёт файловую структуру
известных ему типов файлов, распознав начало знакомого типа файла
утилита пытается найти конец файла, собрать всё это воедино и записать
на диск. Тип файла, который нужно восстановить, задаётся опцией “-t”,
например: foremost -t zip Поддерживаемые
типы файлов: avi, bmp, dll, doc, exe, gif, htm, jar, jpg, mbd, mov,
mpg, pdf, png, ppt, rar, rif, sdw, sx, sxc, sxi, sxw, vis, wav, wmv,
xls, zip. Также возможен запуск с опцией “-all”, в этом случае foremost
будет искать все поддерживаемые типы файлов. Другие возможные опции
можно посмотреть, набрав в терминале man foremostХочу
сразу предупредить о паре особенностей этой утилиты – во-первых,
foremost должен быть запущен НЕ с того раздела диска, с которого
собрались восстанавливать файлы, в приципе это не проблема, если
директория /home у Вас выделена в отдельный раздел, а вот если /root и
/home у вас на общем разделе, то придётся запускать foremost с Live-CD
или флешки(foremost присутствует на некоторых Live-CD, а как создать из
диска загрузочную флешку можно почитать в этой статье - Установка Linux на флешку.
Второй момент - восстанавливаемые файлы должны записываться на раздел
отличный от того, с которого они восстанавливаются. Ну и в третьих, при восстановлении имена файлов не сохраняются. Ниже предлагаю рассмотреть работу foremost на конкретном примере.
Подготовка к сканированию.
Чтобы
несколько разнообразить эксперимент, файлы я решил восстанавливать на
карту памяти. Для этого надо отформатировать её в файловую систему
EXT3, делать это нужно, когда карта НЕ смонтирована. Для начала
форматирования вводим в терминале с правами суперпользователя(root): mkfs /dev/sdc1, где /dev/sdc1 – ваша карта памяти или флешка Примерный вывод при положительном исходе: # mkfs /dev/sdc1 mke2fs 1.41.1 (01-Sep-2008) Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) 122880 inodes, 490116 blocks 24505 blocks (5.00%) reserved for the super user First data block=1 Maximum filesystem blocks=67633152 60 block groups 8192 blocks per group, 8192 fragments per group 2048 inodes per group Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
Writing inode tables: done Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 32 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
После
того, как форматирование завершено нужно вытащить карту, вставить снова
и примонтировать(если этого не делается автоматически). Если всё прошло
успешно, то на карте памяти появится директория “lost+found”.
Запускаем сканирование foremost.
Для начала сканирования и поиска удаленных файлов вводим в консоли с правами суперпользователя: cd / foremost -v -T -t jpg -i /dev/sda8 -o /media/disk/disk где -v – выводить информацию о прогрессе во время сканирования -Т – проставить время в названии директории для восстановленных файлов -t jpg,xls – искать и восстанавливать только файлы типа *jpg (можно перечислять несколько типов файлов через запятую) -i /dev/sda8/ - раздел винчестера, с которого нужно провести восстановление данных -o /media/disk/disk – здесь /media/disk/disk это директория на карте памяти в которую должны восстанавливаться файлы. Примечание: если хотите восстановить файлы Office необходимо указывать "ole" как значение типа файла(-t ole)
Ниже скриншот работы утилиты:
Папка
с восстановленными файлами(обратите внимание, благодаря опции -T при
запуске сканирования, в название директории добавлено время начала
работы программы):
В
выходной директории, по завершении работы foremost, вы найдёте папки с
названиями искомых типов файлов и текстовый файл с сохраненным логом
программы.
Заключение.
Собственно
сканирование раздела размером 30гб у меня заняло порядка получаса, на
выходе я получил 61020 *jpg файлов(чуть больше 1гб), большая часть из
них - временные файлы интернета, но есть, естественно, и вручную
удалённые мной файлы.
Источник: http://acerfans.ru/faq/1256-vosstanovlenie-udaljonnykh-fajjlov-v-os-linux.html |