Дополнительная информация PhotoRec:
Для большей безопасности, при работе с носителями с которых вы восстанавливаете потерянные данные PhotoRec использует доступ только для чтения.
Важно: как только изображение или нужный файл случайно удален, или вы обнаружили потерю, прекратите записывать файлы на этот носитель (жесткий диск, флешку, дискету); потому что вы можете записать новые файлы на место удаленных и восстанавливать будет нечего. Ну и соответственно, при использовании PhotoRec, нельзя выбирать для записи восстановленных файлов тот же раздел, с которого производится восстановление.
Photorec игнорирует файловую систему, таким образом, она работает, даже если файловая система сильно повреждена.
Он может восстановить потерянные файлы из:
- FAT,
- NTFS,
- EXT2/EXT3 filesystem
- HFS+
Носители
PhotoRec работает с жесткими дисками, компакт-дисками, картами памяти (Compact Flash, Memory Stick, SecureDigital/SD, SmartMedia, Microdrive, MMC, etc.), USB-флешками, DD-raw образами, EnCase E01 образами, и так далее.
PhotoRec был удачно протестирован на плеерах, типа iPod и цифровых камерах.
Известные форматы файлов
PhotoRec ищет известные заголовки файлов. Если нет фрагментации, которая часто бывает, он может восстановить весь файл. Photorec распознает многочисленные форматы файлов, включая ZIP, Office, PDF, HTML, JPEG и разные другие форматы графических файлов.
Полный список форматов файлов, поддерживаемых PhotoRec содержит более 390 расширений файлов.
Как работает PhotoRec
FAT, NTFS, ext2/ext3/ext4 - файловые системы хранения файлов в блоках данных (под Windows называются "кластерами"). Количество кластеров и их размер остается постоянным числом после инициализации во время форматирования файловой системы. В целом, большинство операционных систем, пытаются сохранить данные непрерывно, чтобы минимизировать фрагментацию данных. Время поиска данных механическими приводами имеет ненулевое значение, потому важно держать фрагментацию на минимальном уровне.
Когда удаляется файл, мета-информация об этом файле (имя файла, дата/время, размер, положение первого кластера (блока данных), и так далее) теряется. А например, в файловой системе ext3/ext4, имена удаленных файлов по-прежнему присутствуют, но удаляется положение первого блока данных. Это означает, что данные по-прежнему присутствует в файловой системе, но только до некоторых пор, пока все их не заменят новые файлы с новыми данными.
Чтобы восстановить эти потерянные файлы, PhotoRec сначала пытается найти размер блока данных (кластера). Если файловая система не повреждена, это значение может быть прочитано из суперблока (ext2/ext3/ext4) или из загрузочной записи (FAT, NTFS). Иначе, PhotoRec читает носитель, сектор за сектором, ищет первые десять файлов, из которых рассчитывает размер блока/кластера по их расположению. После того как размер блока известен, PhotoRec читает носитель блок за блоком (или кластер за кластером). Сигнатура каждого блока проверяется в базе данных, которая поставляется вместе с программой. В нее занесены все типы файлов, которые можно восстановить с тех пор как вышла первая версия PhotoRec.
Например, PhotoRec идентифицирует файл JPEG, когда блок начинается с:
- 0xff,0xd8,0xff,0xe0
- 0xff,0xd8,0xff,0xe1
- or 0xff,0xd8,0xff,0xfe
после чего PhotoRec начинает восстанавливать файл. Прекращает восстановление, когда проверяет целостность файла, если это возможно, сохраняет файл (который определяется по найденной сигнатуре).
Если данные не фрагментированы, восстановленный файл должен быть идентичного размера или больше, чем исходный файл. В некоторых случаях, PhotoRec может узнать оригинальный размер файла из заголовка, так что восстановленный файл усекается до необходимого размера. Однако, если восстановленный файл заканчивается раньше, чем указывает его заголовок, он отбрасывается. Некоторые файлы, такие как *.MP3, являются потоком данных. В этом случае, PhotoRec анализирует полученные данные, а затем останавливает восстановление, когда поток завершается.
Когда файл восстановлен, PhotoRec проверяет предыдущие блоки данных, смотрит там файловые сигнатуры, если находит, то считает что файл не был успешно восстановлен (например, файл был слишком мал), и пытается восстановить снова. Таким образом, могут быть успешно восстановлены некоторые фрагментированные файлы.