В последнее время на рынке появляется все больше инструментов для восстановления данных. Разработчики каждого из них обещают практически стопроцентный результат. Однако в действительности далеко не все программы для восстановления файлов могут качественно решить поставленную задачу. Протестировав некоторые инструменты мы обнаружили, что они попросту не работают. Основным дифференцирующим фактором является тип (или типы) алгоритмов восстановления данных, используемых в этих инструментах. Именно от них зависит эффективность программ и итоговый результат восстановления информации.
Почему восстановление возможно
Для начала давайте посмотрим, что происходит, когда Windows удаляет файл.
В операционной системе Windows (и многих других операционных системах, не использующих зашифрованные файловые системы или другие защищенные хранилища данных) удаление файла не означает его фактического уничтожения или даже изменения его содержимого. Исключение составляют SSD-накопители, но это уже совсем другая история…
Windows лишь маркирует запись файловой системы, принадлежащую удаленному документу или, скажем, изображению, как «удаленную». Фактически это освобождает место на диске, который использовался для хранения удаленного файла, — свободное пространство становится доступным для записи новых данных. Однако, получив доступ к освободившему пространству, Windows начинает размещать здесь новые файлы, а значит, перезаписывает исходное содержание диска. После чего последующее восстановление исходного удаленного файла лишь на основе данных файловой системы становится невозможным.
Тем не менее, все это, как правило, происходит не мгновенно. При работе с большими жесткими дисками Windows оптимизирует операции записи путем размещения новых данных в наиболее обширных массивах свободного пространства. Это помогает избежать фрагментации при записи, и позволяет расширять файлы, не фрагментируя их и в дальнейшем. В результате дисковое пространство, принадлежавшее удаленному файлу, может оставаться не используемым в течение очень долгого времени. Исходное содержимое удаленного файла будет доступно для восстановления, и вы легко вернете его, если используете правильный инструмент.
Восстановление с использованием записей файловой системы
Основным методом работы большинства программ для восстановления данных является сканирование файловой системы с целью поиска записей, указывающих на удаленные файлы. На основе анализа этих документов программа для восстановления данных сумеет выяснить, какие физические блоки или секторы на диске соотносятся с удаленным файлом, считать информацию из этих блоков и сохранить исходный файл. По крайней мере, должна суметь… даже примитивная…
Более того, уже существуют и более действенные методы восстановления потерянных данных, способные вернуть удаленные файлы даже тогда, когда оставшейся в файловой системе информации для этого не достаточно. В дополнение к описанному алгоритму восстановления данных с использованием данных файловой системы (или вместе с ним) сегодня мы имеем возможность использовать другой, новейший алгоритм. Читайте ”Carving-алгоритмы в современных программах по восстановлению данных”, чтобы узнать больше.