Почему и как удаленные файлы могут быть восстановлены

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

Почему и как удаленные файлы могут быть восстановлены

Содержание

  1. Как Windows удаляет файл
  2. Совершенствование инструментов восстановления
  3. Восстановление по содержимому
  4. Восстановление данных - это ложь: SSD-диски

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

Когда файл удаляется (либо через проводник Windows, либо из другого приложения, либо самой операционной системой), Windows не спешит немедленно заполнить нулями или иным образом уничтожить содержимое файла. Если это и случится, то не так скоро. Попробуйте удалить большой файл, который вам больше не нужен, например фильм, который вы уже просмотрели. Затем попробуйте удалить крошечный ярлык. Обратите внимание, что время, требуемое для удаления любого файла, будет одинаковым. А если бы Windows уничтожал все удаленные файлы, для того, чтобы стереть большой фильм, потребовалось бы много времени. Другими словами, очистка содержимого каждого удаляемого файла сильно замедлило бы работу вашего компьютера. (Обратите внимание, что накопители SSD работают иначе, более подробно об этом позже).

Итак, если Windows не удаляет файл физически, что же происходит при его удалении? Фактически, система делает одну простую вещь: маркировку записи в файловой системе, которая указывает на то, что данный файл удален и его больше не существует. Он просто нигде не будет отображаться. То есть содержимое вашего файла все еще остается где-то на вашем диске (если это не SSD), но системная запись указывает на то, что его больше не существует (FAT32) или же он помечается как пустой (NTFS). Конечно, это сильно упрощенная схема, но на данный момент нам не нужны лишние технические детали. Этого вполне достаточно, чтобы теперь разобраться с принципами восстановления данных.

Совершенствование инструментов восстановления

Раз файл все еще существует где-то на диске, но некоторая запись в файловой системе помечает его как «удаленный», разве мы не можем просто снять отметку?

Таков был принцип работы одной из первых программ восстановления данных (тогда) Microsoft DOS. Инструмент назывался «undelete», и делал он буквально следующее: сканировал файловую систему, чтобы найти файлы, помеченные как «удаленные», и снимал соответствующий флажок. При этом удаленные файлы теряли первый символ в своем имени, поэтому после удаления вы получали «~ ocument.txt» вместо «document.txt».

Что не так с этим подходом? Оказывается, очень и очень многое. Во-первых, файловая система в современных многозадачных операционных системах очень изменчива. Создаются новые временные файлы, файлы журнала и реестра постоянно перезаписываются многими системными задачами и фоновыми приложениями. В результате исходные записи файловой системы, указывающие на удаленный файл, быстро устаревают, некоторые или все записи начинают использоваться операционной системой для хранения информации о новых файлах.

Обратите внимание, что на этом этапе исходный удаленный файл может по-прежнему оставаться на диске, занимая то же дисковое пространство, которое и раньше принадлежало ему, в то время как запись файловой системы, указывающая на этот файл, может больше не существовать.

Именно поэтому сейчас мы работаем со вторым поколением программ для восстановления данных.

Восстановление по содержимому

В следующем поколении инструментов восстановления данных больше не используются данные, полученные из файловой системы. Конечно, современные инструменты все еще просматривают файловую систему и довольно успешно восстанавливают удаленные файлы, если информация о них по-прежнему доступна, но они могут использовать и другие источники для обнаружения удаленных файлов. Так, восстановление по содержимому (контент-восстановление) работает абсолютно иначе!

Продукты восстановления данных нового поколения, такие как RS File Recovery или RS Partiton Recovery, проделывают огромную работу, чтобы восстановить ваши данные. Они будут сканировать всю поверхность вашего диска в поисках «следов» удаленных данных. Что же они ищут?

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

Затем инструмент начинает считывать содержимое диска, сканируя сектора диска, которые не помечены как занятые другими файлами, – один блок за другим. Каждый блок информации, считываемой с диска, проверяется на основе баз данных, содержащих многие характерные подписи файлов, которые могут идентифицировать обнаруженные данные как начало определенного типа файла. Например, изображения JPEG всегда начинаются с «JFIF», в то время как файлы PDF имеют «%PDF%» в самом начале. (Конечно, это опять упрощение, так как в действительности сигнатуры бинарны).

Если найдено определенное соответствие, программа выполняет вторичную проверку, чтобы определить, является ли это просто случайным совпадением или подпись действительно означает начало файла. Эта вторичная проверка, в основном, является проверкой заголовка файла в определенном формате. Если проверка пройдена, программа для восстановления данных проанализирует заголовок, чтобы определить длину файла. После вычисления длины файла инструмент считывает необходимое количество блоков с диска и сохраняет их в новый файл на другом диске.

Звучит здорово, но … снова проблема? Этот метод работает отлично, если все файлы на вашем диске хранятся в смежных, цельных блоках. Но что, если они разбросаны по диску частями или, другими словами, фрагментированы? Если это так, восстановление по содержимому может потерпеть неудачу. Подробнее о восстановлении фрагментированных файлов читайте в следующей статье: Восстановление фрагментированных файлов.

Восстановление данных — это ложь: SSD-диски

Помните, мы говорили, что Windows удаляет файлы, фактически не обнуляя их содержимого? Мы соврали. Содержимое удаленных файлов, действительно, останется нетронутым, но только на традиционных (магнитных) жестких дисках и некоторых типах твердотельных накопителей, таких как карты памяти и флеш-накопители USB. Но как насчет сверхбыстрых SSD-накопителей? Это совсем другая история…

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

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

Все потеряно? Не совсем. Некоторые SSD-накопители не поддерживают TRIM, и иногда даже если они это делают, SSD может быть настроен неправильно, чтобы поддерживать ее работу. Если ваш SSD-диск отформатирован с помощью FAT32 (или exFAT) вместо NTFS, Windows не сможет запустить TRIM. Также, если файловая система повреждена, любые удаленные данные не будут потеряны. Таким образом, по-прежнему стоит попытаться запустить хорошую программу для восстановления данных на вашем SSD, например RS Partition Recovery и проверить, что еще можно сделать.

Часто задаваемые вопросы

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

Оставить комментарий

Похожие публикации

Как выбрать жесткий диск?
Как выбрать жесткий диск?
Ниже мы рассмотрим основные критерии выбора современных жестких дисков, расскажем на что следует обратить внимание при покупке винчестера и приведем основные отличительные характеристики HDD дисков.
Принципы работы инструментов для восстановления данных
Принципы работы инструментов для восстановления данных
Удаленные файлы, поврежденные диски… Пожалуй, сегодня мало у кого это вызовет панику. О существовании эффективных инструментов для восстановления удаленных данных знает уже практически каждый. Вот только как грамотно выбрать подходящий инструмент и на что обратить внимание при выборе?
Как узнать полную информацию о компьютере в Windows?
Как узнать полную информацию о компьютере в Windows?
Как узнать полную информацию о компьютере в Windows 10 без использования стороннего ПО? Ниже мы приведем несколько удобных способов получения всей информации о системе и компонентах компьютера.
Что такое гибридный жесткий диск и восстановление данных
Что такое гибридный жесткий диск и восстановление данных
С появлением сверхбыстрых накопителей SSD только ленивый не предпринимал попыток замены своего большого, шумного и мощного жесткого диска миниатюрным и тихим SSD. Тем не менее, кроме чрезвычайно высокой скорости работы, SSD-накопители отличаются и довольно высокой стоимостью носителя на гигабайт памяти, … Продолжить чтение
Online Chat with Recovery Software