Почему удаленные файлы можно восстановить?

Множество разнообразных программ восстановления данных предлагают восстановить удалённые файлы буквально в несколько кликов. Как они работают, а главное – почему? В данной статье мы попытались дать ответ на этот вопрос.

Восстановление файлов

Как Windows хранит файлы

Для того чтобы понять, почему возможно восстановление файлов, необходимо сначала понять, каким образом эти файлы хранятся на диске и каким именно образом Windows обрабатывает процедуру удаления файлов.

Файлы хранятся в виде блоков информации, записанных на секторах жёсткого диска. Секторы могут располагаться как последовательно, один за другим, так и быть хаотично разбросанными по всей поверхности диска. Расположение секторов зависит от того, какие именно блоки были свободны в момент сохранения файла на диск. Если система не обнаружила на диске непрерывного свободного блока секторов достаточного размера для того, чтобы сохранить файл в виде непрерывной последовательности данных, система будет фрагментировать файл, записывая его отдельные части в свободные блоки.

Для того чтобы ориентироваться в записанной информации, Windows создает запись в файловой системе с указанием того, какие именно секторы на диске занимает содержимое конкретного файла.

Как Windows удаляет файлы

В момент, когда пользователь удаляет файл, Windows не стирает и не перезаписывает содержимое секторов на диске. Содержимое записи о файле в файловой системе также не удаляется, но подвергается модификации: система помечает запись как принадлежащую удалённому файлу. Соответственно, все сектора на диске, принадлежащие данному файлу, оказываются свободными – теперь Windows может сохранить в это пространство какой-нибудь другой файл. Но пока этого не произошло, можно попробовать восстановить содержимое удалённого файла. Для этого потребуется специальный инструмент – продукт для восстановления информации.

Алгоритм восстановления файлов

Наконец, мы подобрались к сути вопроса. Инструменты по восстановлению удалённых файлов сканируют файловую систему в поиске записей, помеченных как удалённые. Проанализировав такие записи, становится возможным узнать точные адреса секторов на диске, в которые было записано содержимое оригинального файла. После быстрой дополнительной проверки – не принадлежат ли эти сектора какому-либо другому файлу, – программа считает данные из нужных секторов и сохранит их в новом файле. Задача решена!

Что происходит, если в файловой системе не осталось записи, указывающей на удалённый файл? В этом случае простейшие инструменты не срабатывают. Требуется другой подход – «сигнатурный поиск для восстановления данных». Суть алгоритма сводится к поиску комбинации определенных байтов на диске, которые обозначают начало или окончание файлов. К примеру, файлы *.avi, *.docx, *.pdf, *.ppt, *.pst, *.zip начинаются с байт «52 49 46 46», «50 4B 03 04», «25 50 44 46», «D0 CF 11 E0», «21 42 44 4E», «50 4B 03 04» соответственно.

Восстановление данных с SSD дисков

Технология хранения информации SSD дисков подразумевает работу алгоритмов TRIM и фонового процесса сборки мусора. Эти алгоритмы эффективно уничтожают содержимое удалённых файлов на физическом (электронном) уровне, не позволяя восстановить содержимое даже недавно удаленных файлов. Почему так происходит – читайте в статье про SSD диски.