# Использование утилиты PhotoRec ### Введение. **PhotoRec** — open-source утилита, предназначенная для восстановления файлов, потерянных в памяти цифровой камеры (CompactFlash, Memory Stick, SecureDigital, SmartMedia, Microdrive, MMC, USB Memory Drives и т. д.), на жестких дисках и компакт-дисках. Она восстанавливает большинство основных форматов изображений, включая JPEG, а также аудиофайлы, включая MP3, документы таких форматов как Microsoft Office, PDF, и HTML, и форматы архивов, включая ZIP. ПО восстанавливает, исправляет и перестраивает: * таблицы различных разделов; * загрузочные области FAT12/FAT16/FAT32; * сектор загрузок NTFS; * MFT посредством одноименного зеркала; * файлы, принадлежащие вышеуказанным системам, независимо от причин утраты информации — по ошибке пользователя, из-за программных сбоев или в результате вирусной атаки. Утилита имеет невероятно полный набор систем, с которыми умеет взаимодействовать, а именно: NTFS, DOS и Linux, FAT12/FAT16/FAT32, LinuxSwap и BeFS/BeOS, BSD/FreeBSD/OpenBSD/NetBSD, Mac и ReiserFS, JFS и CramFS, XFS и HFS. `Восстанавливать файлы целесообразнее на другой диск, чтобы не допустить перезаписи утерянных секторов и не утратить возможность их восстановления.` ### Начало работы. Для начала необходимо [скачать утилиту PhotoRec](https://photorec.ru/). После установки запускаем программу и выбираем диск и раздел диска, с которого необходимо восстановить файлы. ![](https://i.imgur.com/mekxkrl.png) ![](https://i.imgur.com/JtC9596.png) После этого отмечаем нужный тип файловой системы и тип сканирования. Полное сканирование длится дольше, но позволяет выявить максимальное количество ошибок. ![](https://i.imgur.com/K1MK3sS.png) Затем выбираем папку, в которую будут сохраняться восстановленные файлы. ![](https://i.imgur.com/buHoxg0.png) Выбираем формат данных с помощью FileFormats. Если отметить все предложенные, то установится слишком много файлов. Для определенной выборки следует установить фильтр. ![](https://i.imgur.com/C8dbdIz.png) После этого жмём search и дожидаемся окончания поиска файлов. Процесс поиска файлов: ![](https://i.imgur.com/ZMbqkDY.png) По окончании работы сканера все файлы будут восстановлены в выбранную ранее папку. Оригинальные пути и имена файлов не восстанавливаются, только содержимое и, возможно, метаданные (дата последнего изменения и т.п.). ### Как это работает? FAT, NTFS, ext2 / ext3 / ext4 файловые системы хранят файлы в блоках данных (так называемые **кластеры данных** под Windows). Размер кластера или блока остается на постоянном количестве секторов после инициализации в процессе форматирования файловой системы. В целом, большинство операционных систем пытаются хранить данные непрерывным образом, чтобы минимизировать фрагментация данных. Время поиска механических приводов имеет большое значение для записи и чтения данных на жесткий диск и с него, поэтому важно поддерживать фрагментацию на минимальном уровне. При удалении файла метаинформация об этом файле (имя файла, дата/время, размер, местоположение первого кластера и т.д.) теряется; например, в файловой системе ext3 / ext4 имена удаленных файлов все еще присутствуют, но местоположение первого блока данных удаляется. Это означает, что данные все еще присутствуют в файловой системе, но только до тех пор, пока некоторые или все они не будут перезаписаны новыми данными файла. Чтобы восстановить эти «потерянные» файлы, PhotoRec сначала пытается найти размер кластера. Если файловая система не повреждена, это значение можно прочитать из суперблока (ext2/ext3/ext4) или загрузочной записи тома (FAT, NTFS). В противном случае PhotoRec читает носитель, сектор за сектором, ища первые десять файлов, из которых он вычисляет размер кластера по их расположению. Как только этот размер блока известен, PhotoRec читает медиа - блок за блоком (кластер за кластером). Каждый блок проверяется по базе данных сигнатур. Это распространенный метод восстановления данных, который называется **file carving**. Например, PhotoRec идентифицирует файл JPEG, когда блок начинается с: * Начало изображения + APP0: 0xff, 0xd8, 0xff, 0xe0 * Начало изображения + APP1: 0xff, 0xd8, 0xff, 0xe1 * Начало изображения + комментарий: 0xff, 0xd8, 0xff, 0xfe Если PhotoRec уже начал восстанавливать файл, он останавливает его восстановление, проверяет целостность файла, когда это возможно, и начинает сохранять новый файл (который он определил по найденной подписи).