При необходимости восстановления данных, утраченных на разделах Linux, первым инструментом рекомендуется использовать утилиту PhotoRec. Подробное руководство по её применению доступно по ссылке: PhotoRec: восстановление удалённых и потерянных фотографий и файлов на картах памяти и жёстких дисках. Если PhotoRec не дал необходимого результата, можно обратиться к альтернативным специализированным инструментам, рассматриваемым в данной статье.

Scalpel: восстановление по сигнатурам
Scalpel — утилита с открытым исходным кодом, предназначенная для восстановления файлов на основе базы данных заголовков и сигнатур окончания. Способна извлекать данные как непосредственно с блочных устройств, так и из образов дисков. Конфигурация позволяет пользователю точно задавать восстанавливаемые типы файлов. Благодаря гибкости инструмент применяется не только для восстановления, но и в задачах цифровой криминалистики.
Установка Scalpel
Для установки в дистрибутивах Ubuntu, Linux Mint и Debian достаточно выполнить:
После установки необходимо определить расположение конфигурационного файла scalpel.conf:
Обычно он находится в /etc/scalpel/scalpel.conf или /etc/scalpel.conf. В исходном состоянии все строки закомментированы. Для работы требуется раскомментировать форматы файлов, подлежащих восстановлению. Полная разблокировка всего файла не рекомендуется, так как это приведёт к значительному времени сканирования и большому количеству ложных результатов.
Например, для восстановления только изображений JPEG раскомментируем соответствующую секцию:
gif y 5000000 x47x49x46x38x37x61 x00x3b
gif y 5000000 x47x49x46x38x39x61 x00x3b
jpg y 200000000 xffxd8xffxe0x00x10 xffxd9
Запуск восстановления с указанием исходного устройства (/dev/sda1) и пустой директории для вывода:
Параметр -o задаёт директорию, куда будут сохранены восстановленные файлы. Директория должна существовать и быть пустой, иначе программа завершится с ошибкой. Пример вывода процесса:
Written by Golden G. Richard III, based on Foremost 0.69.
Opening target "/dev/sda1"
Image file pass 1/2.
/dev/sda1: 6.1% |***** | 6.6 GB 39:16 ETA
Длительность сканирования зависит от объёма обрабатываемого устройства и производительности системы.
extundelete: восстановление на ext3/ext4
extundelete — специализированная утилита для восстановления файлов, удалённых с разделов ext3 и ext4. Она не восстанавливает жёсткие или символические ссылки, однако способна восстановить целевой файл, на который ссылки указывают. Расширенные атрибуты файлов не сохраняются. Официальный сайт: http://extundelete.sourceforge.net
Установка extundelete
Установка в Debian-подобных системах выполняется командой:
Подготовка к восстановлению
Сразу после обнаружения потери данных необходимо отмонтировать затронутый раздел:
или переключить его в режим «только чтение»:
Рекомендуется предварительно создать посекторную копию раздела:
Восстановление выполняется с расположением каталога назначения на другом физическом разделе. Перейдите в нужный каталог:
Примеры восстановления
Восстановление конкретного файла по известному пути:
Восстановление содержимого целой директории:
Восстановление по временным критериям (например, файлы, удалённые после определённой даты):
Дату необходимо указать в формате UNIX-времени, получить которое можно командой:
Стоит учитывать, что некоторые файлы могут быть восстановлены с изменёнными именами и расширениями, при этом само содержимое остаётся корректным.
Foremost: восстановление по сигнатурам для начинающих
Foremost — инструмент для поиска и восстановления данных на основе анализа сигнатур (заголовков). Он хорошо зарекомендовал себя для восстановления изображений и скриншотов с повреждённых карт памяти и USB-флеш-накопителей. Домашняя страница: http://foremost.sourceforge.net
Установка Foremost
Установка в Debian/Ubuntu/Mint:
Встроенные форматы
Foremost восстанавливает файлы согласно типам, заданным ключом -t. Допустимые типы и их описания приведены ниже. Встроенная поддержка включает:
| Тип | Описание |
|---|---|
jpg |
Форматы JFIF и Exif, используемые в современных цифровых камерах. |
gif |
|
png |
|
bmp |
Формат Windows BMP. |
avi |
|
exe |
Исполнимые файлы Windows PE, DLL и EXE с временем компиляции. |
mpg |
Большинство MPEG файлов (должны начинаться с 0x000001BA). |
mp4 |
|
wav |
|
riff |
AVI и RIFF; быстрее, чем запуск по отдельности. |
wmv |
Также извлекает WMA из-за схожести формата. |
mov |
|
pdf |
|
ole |
Файлы OLE (PowerPoint, Word, Excel, Access, StarWriter). |
doc |
Только документы MS Office; эффективнее использовать ole . |
zip |
Включая .jar, документы OpenOffice и Office 2007 XML (PPTX, DOCX, XLSX). |
rar |
|
htm |
|
cpp |
Определение исходного кода C (возможны ложные срабатывания). |
all |
Запуск всех предопределённых методов (по умолчанию, если -t не указан). |
Ключевые опции Foremost
-V— показать версию.-t— тип восстанавливаемых файлов (через запятую).-d— включить обнаружение блоков косвенной адресации (файловые системы UNIX).-i— файл ввода (устройство или образ).-o— директория вывода (по умолчаниюoutput).-c— альтернативный конфигурационный файл.-q— быстрый режим: поиск только по границам 512-байтовых секторов.-Q— тихий режим (подавление сообщений).-v— подробный режим (рекомендуется).-a— записывать все заголовки без проверки на повреждения.-w— только аудит, без извлечения файлов.-b— размер блока (по умолчанию 512).-k— размер куска для ускорения обработки при достаточной оперативной памяти.-s— пропуск указанного числа блоков перед началом поиска.
Примеры использования Foremost
Восстановление документов и изображений из образа диска:
Processing: image.dd
|*|
root@kali:~# ls output/
audit.txt jpg pdf
Поиск JPEG с пропуском первых 100 блоков:
Генерация только файла аудита с выводом на экран:
Запуск для всех определённых типов:
Поиск GIF и PDF:
Поиск объектов OLE и JPEG на UNIX-системе с подробным выводом:
Запуск с параметрами по умолчанию:
Практический пример восстановления изображений с устройства /dev/sdb в каталог ~/out_dir:
Восстановление файла, открытого в процессе
Если удалённый файл всё ещё используется какой-либо программой (например, воспроизводится медиаплеером) и известен его путь, можно попытаться восстановить данные через дескриптор процесса. Сначала определяем PID и номер файлового дескриптора:
Получив PID (5559) и дескриптор (22), копируем содержимое:
Если этот способ не дал результата, следует немедленно размонтировать файловую систему или переключить её в режим только чтения, чтобы предотвратить перезапись данных.