Программное восстановление данных с помощью R.Saver

Автор Ruterk, 15 марта 2013, 22:12:07

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ruterk

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

При самостоятельном восстановлении данных стоит принять к сведению следующую информацию:

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

- Все работы с исходным накопителем желательно свести к минимуму для увеличения шансов на восстановление. Хорошая практика — создание посекторной копии накопителя и использование различных методов восстановления на копии.

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

- Проверка диска на наличие ошибок средствами Windows создаст дополнительные сложности для восстановления данных, вплоть до полной невозможности их восстановления.

Структура диска

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

MBR

Master Boot Record — главная загрузочная запись — находится в нулевом секторе диска, содержит часть исполняемого кода, а также данные о четырех разделах и о том, какой раздел является загрузочным.

Если MBR исправен, то после получения управления код, содержащийся в нем, считывает таблицу разделов и передает управление коду, содержащемуся в первом секторе загрузочного раздела (VBR — Volume Boot Record), если тот содержит сигнатуру 55AAh в конце сектора.

В противном случае может появиться сообщение об ошибке, например: «Reboot and select a proper boot device» или «Invalid partition table» или «Missing operating system». Все перечисленные сообщения могут возникать как по причине неисправности в MBR или VBR, так и по иным причинам (выбран неправильный загрузочный диск и т.?д.).

Для восстановления поврежденного MBR или загрузочного раздела существуют специализированные утилиты, такие как testdisk (Windows) и gpart (Linux), также можно использовать «Консоль восстановления» с установочного диска Windows. Их применение не всегда даст положительный результат при восстановлении данных, так как кроме повреждения MBR и VBR могут быть и другие неисправности, поэтому данные варианты в статье освещаться не будут. И хотя в сети достаточно инструкций по устранению подобных неисправностей, рекомендуется сначала восстановить важные данные с накопителя, а потом уже пытаться восстановить его правильную работу.

Файловые системы

Любой раздел, содержащий файловую систему, состоит из следующих частей:

1. Область загрузчика (VBR), которая содержит информацию о структуре раздела, а также исполняемый код.

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

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

Местоположения частей, а также копий служебных данных зависят от типа файловой системы. Рассмотрим подробнее наиболее популярные файловые системы на пользовательских компьютерах: FAT и NTFS.

NTFS

[attachimg=1]
Структура файловой системы NTFS схематически изображена на рисунке.

Структура NTFS

Начинается раздел с загрузочной области, которая содержит информацию о разделе, а также исполняемый код. Копия загрузчика чаще всего находится в конце раздела.

Следующая область — главная таблица файлов MFT (Master File Table). Именно в ней хранится информация о каталогах, файлах и их атрибутах. Обычно под MFT резервируется область диска, равная 12,5% размера раздела. Размер зарезервированной области может меняться (как в большую, так и в меньшую сторону), а сама таблица может быть фрагментирована.

Кроме того, в определенной области раздела содержится копия первых 4 служебных записей таблицы. Область пользовательских данных занимает все оставшееся пространство раздела.

При удалении файла стандартными средствами ОС в файловой записи ставится лишь отметка о том, что файл удален, а занимаемое им место помечается как свободное. Если после удаления файла никакой записи на диск не производилось — файл остался на месте, и его восстановление возможно.

При форматировании раздела происходит создание новой MFT на месте старой. Изначально размер новой таблицы достаточно мал (несколько сотен записей MFT), поэтому некоторые служебные записи предыдущей файловой системы еще можно восстановить. Чем больше было записано файлов на отформатированный раздел — тем меньше вероятность успешного восстановления данных.

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

Иногда полное форматирование называют низкоуровневым форматированием, что является ошибкой. Низкоуровневое форматирование — технологическая операция, которая производится при изготовлении накопителя, и программными методами ее осуществить невозможно.

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

FAT

[attachimg=2]
Структура файловой системы FAT схематически изображена на рисунке.

Структура FAT

В начале раздела находится VBR, ее копия обычно через расположена через 6 секторов. Через определенное количество секторов находится сама файловая таблица FAT (File Allocation Table), следом за ней — ее копия.

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

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

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

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

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

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

Если последующая запись на диск не производилась, то по этому местоположению получится считать нужный файл.
Реконструкция поврежденной файловой системы

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

Восстановление после смены структуры разделов диска

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

RAW-recovery — восстановление по сигнатурам, используется в случаях, когда другие методы не дали удовлетворительного результата. В этом случае на накопителях производится посекторное сканирование на наличие известных сигнатур (уникальный набор символов, характерный для определенного типа файлов).

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

Если сигнатура начала файла была найдена, то следующей задачей стоит найти конец файла. Обычно для этого используется любая следующая известная сигнатура, что может давать неудовлетворительный результат. Современные программы применяют методы, использующие остатки данных о файловой системе и ее особенности для улучшения результата. В ряде случаев подобные алгоритмы могут помочь восстановить даже фрагментированный файл, что при использовании стандартных алгоритмов невозможно. Например, алгоритм IntelliRAW, использующийся в программах семейства UFS Explorer, работает совместно с алгоритмами реконструкции файловой системы и использует полученные сведения для определения конца файлов. Такая реализация позволяет добиться лучших результатов, чем при использовании простых методов восстановления по сигнатурам.

Хороший результат черновое восстановление может дать в случае, когда файлы на накопителе расположены последовательно, без смещений и фрагментации. Например, при восстановлении файлов с карт памяти фотоаппаратов, видеокамер и т.?д.
Алгоритм восстановления данных

Алгоритм мы приведем на примере бесплатной программы R.saver, которая доступна для некоммерческого использования на территории бывшего СНГ. Она компактная, простая в использовании и не требует установки. Использует алгоритмы коммерческого ПО UFS Explorer, дает результаты на уровне профессиональных утилит. Поддерживаются файловые системы NTFS, FAT и exFAT.

Скачать ее можно со страницы поддержки на официальном сайте: http://rlab.ru/tools/rsaver.html.

Архив с программой необходимо распаковать на раздел, отличный от того, с которого будет вестись восстановление. В случае, если в системе всего один раздел, лучшим решением будет подключение диска с восстанавливаемыми данными к другому компьютеру. Если такой возможности нет, можно распаковать программу на внешний накопитель (если он достаточного объема для сохранения восстанавливаемых данных).

Выбор раздела

После распаковки программы ее необходимо запустить. В левой части главного окна можно увидеть подключенные к системе накопители и разделы на них. Если нужный раздел был автоматически найден и отображен в списке — выбирайте его и переходите к следующему пункту.

[attachimg=3]
Главное окно R.saver

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

Рассмотрим функцию поиска потерянного раздела подробнее:

После ее запуска откроется новое окно, в котором необходимо нажать на кнопку «Найти сейчас», что запустит поиск на диске известных файловых систем. По мере их нахождения список будет дополняться информацией о найденных разделах. Наиболее вероятные варианты будут иметь иконку синего цвета, что означает хорошее состояние раздела. Если иконка желтого или красного цветов, то найденный раздел либо очень сильно поврежден, либо найден ошибочно (некоторые типы файлов могут давать такой эффект).

Из списка разделов необходимо пометить галочками те, которые наиболее соответствуют параметрам искомого раздела: начало (в секторах), размер (в секторах и мегабайтах), метка, тип файловой системы.

Если значение в колонке «размер» меньше значения в колонке «начало», то, вероятнее всего, данный раздел не является действительным. Обычно этими «неправильными» разделами являются образы дисков, хранящиеся на накопителе.

Результаты сканирования рекомендуется сохранить перед продолжением, чтобы не пришлось сканировать диск заново в случае неправильного выбора.

Для продолжения нажмите кнопку «Использовать выделенные».

Сканирование

Далее откроется окно файлового менеджера, которое покажет текущее состояние файловой системы (то есть файлы и каталоги, видимые средствами ОС). Для запуска сканирования нажмите кнопку «Сканировать».

[attachimg=4]
Окно файлового менеджера R.saver

Если был выбран раздел с файловой системой NTFS, то будет предложен выбор: запустить полное или быстрое сканирование.

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

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

Для файловых систем FAT16/FAT32 и exFAT доступен только режим полного сканирования. Это связано с тем, что из-за особенностей указанных файловых систем во многих случаях быстрого сканирования недостаточно для эффективного восстановления данных.

Сохранение результатов

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

Синими иконками отображаются элементы, которые видны стандартными средствами операционной системы, красными — те, которые были удалены или утрачены и недоступны стандартными средствами операционной системы.

Кроме того, будут доступны служебные папки:

[Parent unknown] содержит файлы и папки, местоположение которых не удалось привязать к корневому каталогу
[IntelliRAW] содержит файлы, отсортированные по типу, найденные с помощью восстановления по сигнатурам (с технологией IntelliRAW)

Для сохранения восстановленных данных либо в контекстном меню элемента выберите пункт «Копировать в...», либо нажмите кнопку «Массовое выделение» на тулбаре, потом отметьте все необходимые элементы и нажмите кнопку «Сохранить выделенное».

Напомним, что сохранять восстановленные данные необходимо только на раздел, отличный от того, с которого ведется восстановление — иначе данные могут быть повреждены.

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


KiCharles92

у меня возникла проблема при восстановлении текстовых файлов.После восстановление в файлах формата .txt вместо русских букв стали какие-то непонятные символы.Как это исправить?