Настоящий обзор не является техническим руководством по изучению строения жестких дисков или описанием их логических структур. Это общий обзор методик и способов восстановления информации, ставшей недоступной в результате программного сбоя операционной системы, разрушительного действия вируса или неосторожных действий пользователя.
Несколько общих слов о строении и терминологии жестких дисков.
Жесткий Диск (винчестер) представляет собой блок из нескольких дисков/блинов (Disks) по поверхностям (Sides) которых перемещаются (плавают в воздушном потоке) головки (Heads). Позиционируются головки по концентрическим дорожкам/трекам/цилиндрам (Cilinders), каждый из которых разделен на сектора (Sectors). Сектор является минимальным адресуемым блоком данных для диска и его размер равен 512 байтам. Логическое строение жесткого диска отличается от его настоящей (физической) геометрии и это необходимо учитывать при восстановлении информации. Как правило, современные диски (в режиме адресации LBA) представляют собой несколько сот цилиндров имеющих 63-254 поверхностей по 63 сектора данных на каждой.
В самом начале диска (в секторе 0/0/1) находитсяPT (Partition Table) - таблица разделов и MBR (Master Boot Record) - главная загрузочная запись.
На следующем треке в первом(ых) секторе(ах) (начиная с 0/1/1) расположена BA (Boot Area) - загрузочная область операционной системы и BR (Boot Record) - загрузочная запись OC.
Далее на этом же треке расположена 1-я копия FAT(File Allocation Table) - таблица размещения файлов. Сразу за ней - 2-я копия FAT. Размер копии FAT (в секторах) определяется размером раздела диска.
После 2-й копии FAT расположены сектора ROOT (Root directory) - корневого каталога, за которой начинается DA (Data Area) - область данных.
PT - состоит из 4-х строк описывающих 4-е возможных раздела диска. Описание каждого раздела диска содержит информацию о типе файловой системы, признаке того, что раздел является загрузочным, о первых и последних головках, дорожках, секторах раздела, количестве секторов смещения начала раздела от начала диска и об общем количестве секторов в разделе.
MBR - находится в том же секторе что и PT. Данные в MBR представляют собой код процессора необходимый для дальнейшей загрузки операционной системы. В последних двух байтах сектора MBR находится сигнатура 55AAh, которую можно использовать как маску при поиске PT и MBR.
BR - содержит массу данных и служит для описания параметров файловой системы. В отличие от диска, минимальным адресуемым блоком данных для операционной системы служит кластер, объединяющий определенное количество секторов. В BR нам интересны такие данные как размер кластера, размер и количество копий FAT. BR для раздела FAT16 размещается в одном секторе, в случае FAT32 Boot Record состоит из нескольких секторов.
FAT - Состоит из 12, 16 или 32 битных элементов, описывающих номера кластеров или их признаки (BAD). Количество элементов соответствует количеству кластеров раздела диска. Из этих элементов образуются цепочки номеров кластеров, описывающих расположение файлов на диске.
ROOT - Корневой каталог диска. Содержит записи описывающие файлы (дескрипторы файлов) в корневом каталоге. Такая запись описывает имя, тип, дату создания, размер, атрибуты файла, и т.п., а так же содержит указатель на первый кластер файла.
Каталоги представляют собой сектора идентичные по структуре корневому каталогу. Каталог, кроме описаний файлов, в самом начале содержит две записи, первая из которых содержит указатель на первый кластер самого каталога, вторая на первый кластер родительского каталога.
Для восстановления данных с жесткого диска, которые были утеряны, постарайтесь вспомнить или получить информацию о:
a. Вероятном разбиении диска на разделы и количестве логических дисков.
b. Размерах и истории создания логических дисков. История создания подразумевает под собой возможные искусственные изменения размеров разделов диска. Эта информация может иметь значение для точного определения места расположения ROOT.
c. Особенностях файловой системы NTFS, FAT16/32.
d. Типе и версии Операционной Системы (DOS, Win95/98, WindowsXP .windows 7, Windows 8) использовавшейся на диске.
e. Уникальные имена директорий и файлов, находившихся в корневом каталоге диска С, имя каталога с данными, подлежащими приоритетному восстановлению и уникальные имена файлов и поддиректорий, находившихся в этой директории.
Восстановление DA (области данных).
При восстановлении данных следует иметь в виду, что, не имея достоверной информации в таблице расположения файлов (FAT) автоматическое или полуавтоматическое восстановление файлов размером более одного кластера программами типа UnFormat носит чисто случайный характер.
Упрощенно говоря, алгоритм восстановления данных подобными программами основан на поиске кластеров раздела диска с информацией о подкаталогах, анализе их содержания на предмет определения места расположения каталогов, определения номеров начальных кластеров каждого файла и анализе даты создания или стирания файлов. На базе этой информации строится дерево каталогов на логическом диске и расположение файлов по подкаталогам. Эта информация восстановима с большой степенью точности. В случае разрушения корневого каталога (ROOT) информация и файлах в корневом каталоге не восстанавливается, а имена директорий заменяются условными именами (типа DIR001).
Содержимое файлов имеющих размер более одного кластера восстанавливается с большой долей случайности, путем стыковки свободных последовательно расположенных кластеров, и вследствие больших объемов информации и интенсивной работы по созданию/удалению файлов в среде Windows (и не только) чаще всего некорректно.
Для точного восстановления информации необходимо либо восстановить FAT, либо осуществлять восстановление УвручнуюФ поиском и анализом содержимого кластеров на диске с дальнейшей стыковкой кластеров в необходимом порядке. Ручной способ в этом документе рассматриваться не будет.
Для попытки хотя бы частичного восстановления FAT можно воспользоваться особенностью работы ОС Windows 9x с виртуальной памятью, т.е. наличием на диске своп-файла. В этом файле могут находиться куски корневой директории ROOT и отдельные фрагменты, а подчас и полные копии FAT. Поиск этих фрагментов осуществляется в режиме просмотра секторов диска по уникальным маскам.
В качестве начальной маски поиска FAT может быть применен идентификатор F8 FF FF FF. В дальнейший поиск можно осуществлять по произвольным группам, состоящим из пяти последовательных 16-ти или 32-ти разрядных (FAT16 или FAT32) номеров кластеров, которые могут принадлежать какому-либо файлу. Поиск занимает довольно продолжительное время, но, меняя маски поиска, его стоит повторить несколько раз. Следует иметь в виду, что информация в своп-файле чаще всего располагается со смещением от начала секторов, что требует определенной коррекции при просмотре и дальнейшем применении. Основная задача отыскать максимальное число фрагментов, выбрать из них наиболее УсвежиеФ и составить из них подобие полной копии FAT. После проведения подобной операции возможно применение утилит типа UnErase для более полного (но возможно некорректного) восстановления файлов и DiskDoctor для коррекции дисковых ошибок.
ВНИМАНИЕ! Если информация на жестком диске Ужизненно необходима, а Вы не уверены в своих знаниях и/или не исключаете возможной ошибки в своих действиях, не предпринимайте сами никаких восстанавливающих действий. Даже незначительная неточность в Ваших действиях может значительно осложнить или даже сделать невозможным дальнейшее восстановление данных с жесткого диска. За помощью настоящих профессионалов Вы всегда можете обратиться в лабораторию восстановления данных Datalife
Удачи, терпения и везения Вам!