Вместо вступления в сегодняшней статье будет предупреждение. Следующий абзац слишком важен, чтобы помещать его где-либо, кроме начала. Пожалуйста, прочтите его очень внимательно и сделайте правильный выбор.
Восстановление данных в домашних условиях чревато их окончательной потерей.
Если удаленная или другим способом утраченная информация очень важна, ни в коем случае не пытайтесь спасти ее самостоятельно. Немедленно обесточьте компьютер и отнесите его в сервисный центр, заслуживающий доверия. Стандартный способ выключения лучше не использовать: при выключении операционная система может выполнять запись на диск и попасть именно на те блоки устройства, где хранятся части ваших файлов.
Общие принципы и правила.
Возможно, вы уже знаете, что удаленные данные не исчезают сразу же после того, как вы очистили корзину или выполнили быстрое форматирование. Они лишь отмечаются как удаленные, а занимаемое ими место считается свободным. Физически они будут уничтожены только тогда, когда потребуется что-либо записать на это место. Кроме того, что такой подход позволяет вернуть утраченные файлы, он полезен еще и тем, что продлевает срок жизни диска и ускоряет удаление.
Из этого вытекает простое правило: по возможности ничего не записывать на устройство, с которого планируется что-либо извлекать. Загружать с него ОС тоже не стоит. Самый оптимальный вариант — сделать образ диска и работать с ним. Существует большое количество программ, позволяющих сделать полную копию содержимого диска. Одна из самых простых и доступных — dd. В крайнем случае хотя бы записывайте восстановленные данные на другой раздел.
Foremost.
Небольшая утилита, присутствующая в репозитории Ubuntu. Согласно инструкции, foremost разрабатывали государственные службы США, имитируя функциональность работающей в среде DOS программы CarvThis. Как бы там ни было, foremost — удобный и достаточно простой в использовании инструмент для восстановления файлов.
Для определения типа файла используется не только расширение, но и несколько первых байт и другие признаки.
Для начала — простая установка:
Соглашаемся установить пакет, нажав Y, немного ждем — и приступаем к восстановлению.
Для примера давайте попробуем найти все архивы .zip.
Я выбрал этот формат не случайно. Дело в том, что файлы большинства современных офисных пакетов, как проприетарных, так и свободных, представляют собой именно zip-архивы. Исключение составляют только документы Microsoft Office 2003 и более ранних версий (doc, ppt, xls и т. д.). Поскольку мы восстанавливаем небольшие файлы, для них вполне достаточно будет папки, которую мы создадим в домашней директории текущего пользователя.
Рассмотрим параметры, с которыми мы запустили foremost.
-
-v означает verbose, то есть режим работы, при котором в консоль будут выводиться сообщения о происходящем. Не обязательный, но очень полезный параметр.
-
-t означает, что далее последуют типы файлов, которые мы хотим искать. Поддерживаются часто используемые .jpg, .png, gif, avi, exe и т. д. Забегая вперед, скажу, что вы самостоятельно можете добавить любой интересующий вас тип файлов. Чтобы искать все известные программе типы файлов, используйте значение «all» (т. е. -t all), либо не указывайте тип вовсе — результат будет тот же.
-
-i (input) говорит о том, что дальше мы укажем путь к входным данным, или проще говоря, месту, где нужно искать. Это может быть блочное устройство (как в примере выше), образ диска или путь к папке.
-
-o (output) предупреждает, что далее мы укажем место, куда хотим записывать полученные данные. Можно не указывать. В этом случае там, откуда вы вызвали программу, будет создана директория output.
Дождавшись окончания сканирования, заглянем в указанную нами директорию.
Поскольку foremost мы запускали от имени суперпользователя, файлы на выходе принадлежат ему. Давайте передадим их себе:
Если поиск предстоит выполнять на устройстве c одной из файловых систем Linux, добавьте ключ -d. Больше опций и другой полезной информации вы найдете в документации foremost. Там же есть список форматов, которые программа распознает без дополнительной настройки.
Нужно больше типов файлов?
Если нужный вам тип файлов программа не распознает, загляните в:
/etc/foremost.conf
Во-первых, сюда можно добавить характеристики нужного вам формата, чтобы использовать эти данные при поиске. Во-вторых, многие из них уже добавлены разработчиками. Если вы нашли здесь то, что вам нужно, раскомментируйте строку.
P.S.
В следующих статьях мы продолжим тему восстановления данных и рассмотрим другие программы. Не исключено, что я еще вернусь к foremost и расскажу о том, как добавить в конфиг свои типы файлов.