Петр Ташков - Восстановление данных на 100%
Указатель на раздел описывает обычный раздел (Partition), как показано в табл. 2.2. Если обычный раздел занимает не все пространство, то в таблице разделов появляется второй элемент, который вновь описывает оставшееся пространство как Extended Partition, то есть указатель на следующий EBR. В секторе, на который ссылается эта запись, точно так же описывается один раздел, и, если осталось место, делается очередная запись об Extended Partition. Так продолжается до тех пор, пока пространство не будет разделено. Фактически все записи о расширенных разделах являются цепью (Extended Partition Chain), в которой от дискового пространства отрезаются кусочки, пока место не закончится. Ошибка в любом элементе этой цепи приведет к ее обрыву. Все разделы, записи о которых лежат после разрыва цепи, операционная система найти не сможет, а занимаемое этими расширенными разделами пространство она будет считать незанятым.
Файловые системы
Таблица разделов указывает на первые сектора каждого раздела. Для размещения файлов в разделе его следует отформатировать, то есть создать внутри раздела файловую систему. Основная запись файловой системы обычно начинается в первом секторе раздела. Структура записей файловой системы зависит от ее типа. Чаще всего встречаются файловые системы NTFS и FAT.
Файловая система NTFS сейчас используется на дисках 90 % домашних и офисных компьютеров. В основе ее лежит главная файловая таблица (Master File Table – MFT). Это база данных, или таблица, строки которой соответствуют файлам тома, а столбцы — атрибутам файлов. Файловая система NTFS образована девятью системными файлами, которые скрыты от просмотра обычными средствами. Эти файлы содержат таблицы занимаемых файлами кластеров и атрибутов файлов, список шагов транзакций (проведенных операций с файлами), корневой каталог и т. д. В секторе начальной загрузки указано положение сегментов данных MFT и зеркального файла MFT. В середине диска расположен дубликат сектора начальной загрузки.
Главная файловая таблица MFT – специальный и довольно большой файл. Первые 16 строк таблицы содержат служебную информацию о самой таблице.
• В начале файла MFT находится первая (основная) таблица файлов.
• За основной таблицей файлов следует зеркальная запись (Mirror record), идентичная первой записи MFT. Если первая таблица MFT разрушена, то данные о размещении файлов берутся из зеркального файла MFT.
• Третья запись MFT ссылается на файл регистрации (log file).
Начиная с семнадцатой, записи главной файловой таблицы используются собственно файлами и папками, которые также рассматриваются как файлы NTFS. Благодаря дублированию записей MFT, а также наличию файла транзакций, файловая система NTFS считается отказоустойчивой. Восстановление данных облегчается теми же механизмами.
Файловая система FAT еще недавно была основной на разделах жестких дисков. Сегодня в этой системе форматируются, как правило, flash-диски и карты памяти. Файловая система FAT (точнее, системы FAT12, FAT16 и FAT32) образована четырьмя структурами.
• Блок начальной загрузки (boot record), который находится в первом секторе раздела.
• Таблица размещения файлов (file allocation table – FAT).
• Резервная таблица размещения файлов (backup FAT), которая используется при обнаружении повреждений в основной FAT.
• Корневой каталог (root directory).
Структуры файловых систем создаются средствами операционной системы – утилитой форматирования разделов либо служебными программами. На диске эти структуры и записи, как и таблицу разделов, можно просматривать и изменять редакторами двоичных данных.
Причины потери данных
В электрике могут возникнуть всего две неисправности: потеря контакта там, где он должен быть, или появление контакта там, где его быть не должно. На диске истинных причин потери данных тоже всего две: случайное изменение содержимого ячейки и повреждение этой ячейки. Случаев изменения содержимого очень много. Они будут рассмотрены в порядке «от поверхности диска до операционной системы».
Неисправности платы электроники ведут к недоступности диска. При этом все данные могут быть в сохранности либо поврежденной может быть лишь часть информации. После замены или ремонта платы диск может использоваться снова.
Поломки механики внутри гермоблока: отрывы и сколы головок, разрушение подшипников и двигателей очень часто сопровождаются и повреждением пластин. В таком случае винчестер чаще всего не запускается и не определяется BIOS компьютера. Бывает, что блок головок «застревает» в парковочной зоне (рис. 2.4). Возможна ситуация, когда жесткий диск стартует, но из-за повреждения одной головки недоступна группа секторов. Восстановление начинается с ремонта диска в «чистой комнате», а результат зависит от степени повреждения поверхности пластин.
Рис. 2.4. Блок головок в парковочной зоне
Повреждение пластин в общем виде проявляется как возникновение на диске BAD-блоков, то есть недоступных участков. Появление этой проблемы говорит о том, что возможности скрытого переназначения секторов уже исчерпаны. Если на поврежденный сектор приходится информация о структуре, то исчезает соответствующий уровень логической структуры диска, если файл – файл становится нечитаемым.
Случайное искажение содержимого сектора – довольно редкая ситуация. В цифровом мире случайностей почти не бывает. Это или проявление начинающегося «железного» дефекта, или результат работы вредоносной программы и в очень редких ситуациях – действительно случайная запись в момент перепадов напряжения или из-за пролетевшей космической частицы. Последнее – не шутка: воздействие космического излучения на оперативную память и жесткие диски давно изучено и статистически обосновано. Проявление дефектов или искажений содержимого секторов зависит от того, что в этих секторах записано.
Повреждение содержимого главной загрузочной записи (MBR) ведет к тому, что разделы либо не могут быть найдены операционной системой, либо их параметры определяются неверно. Самый легкий случай – повреждение сигнатуры. Операционная система решает, что на месте MBR находится случайная информация, а сам диск вообще не разбит на разделы и никакой полезной информации не несет. Для восстановления структуры диска достаточно всего лишь исправить сигнатуру любым дисковым или HEX-редактором.
При искажении или разрушении кода загрузчика попытка загрузки операционной системы с такого диска заканчивается, как правило, «зависанием» компьютера. При этом, если содержимое таблицы разделов не повреждено, вся логическая структура диска сохраняется и потери данных не происходит. Достаточно загрузить компьютер с другого диска, и вся информация на накопителе становится доступной. Для исправления кода загрузчика проще всего загрузить компьютер со стандартной загрузочной дискеты MS-DOS, а затем запустить находящуюся на ней утилиту fdisk с ключом /mbr: fdisk/mbr.
Более тяжелый случай повреждения содержимого MBR – разрушение самого содержимого таблицы разделов. При этом теряется доступ к хранящейся в разделах информации. Таблица может быть повреждена полностью или частично. Бывают случаи, когда таблица разделов MBR цела, а разрушена запись о разделах в одном из звеньев цепи Extended Partition. Методика восстановления во всех случаях одинакова: ручное исправление таблиц разделов. Альтернатива – извлечение файлов с диска с помощью программ восстановления.
Повреждение файловой системы очень похоже на повреждение содержимого MBR. Различие состоит лишь в том, что раздел на диске виден, но операционная система сообщает, что он не отформатирован. Соответственно, недоступно и все содержимое раздела. В файловых системах NTFS и FAT возможно восстановление основных записей за счет дубликатов, это делается благодаря встроенным в операционную систему средствам проверки и исправления дисков. Тем не менее исправление ошибок файловой системы часто не решает проблему – часть файлов начинает рассматриваться как потерянные цепочки. Для восстановления данных правильнее пользоваться специальными программами восстановления.
Корректное удаление файлов и папок средствами операционной системы – самая простая ситуация. Именно с ней чаще всего сталкиваются пользователи, и она же очень их пугает. В операционной системе Windows прежде всего надо искать файл в Корзине. При удалении файла или папки в таблице файловой системы сначала лишь меняется одно из полей: в FAT первый байт имени файла изменяется на 0xE5, а в MFT атрибут по смещению 14h изменяется с 1 на 0. Кроме того, в NTFS изменяется запись о свободном месте на диске в файле BitMaP. Существует множество программ, специально предназначенных для восстановления удаленных объектов.
Диагностика и тактика