- •Прежде всего... Меры предосторожности
- •Пожар в здании, где находится компьютер или стихийные бедствия. Общие принципы восстановления информации
- •С чего начать
- •Проверка параметров bios
- •Тип и параметры диска
- •Расширенные параметры bios
- •Установка параметров bios по умолчанию
- •Структура файловой системы
- •Восстановление partition table
- •Восстановление данных вручную
- •Формат записи значений цилиндра и сектора (10 и 6 бит соответственно)
- •Значение "относительного сектора"
- •Восстановление винчестера, разбитого на несколько логических дисков.
- •Восстановление загрузочного сектора fat Простейший случай. Разрушен только Boot Sector
- •Непростой случай. Разрушен не только Boot Sector
- •Как восстановить Boot Sector вручную
- •Восстановление загрузочного сектора ntfs
- •Восстановление загрузочного сектора первого раздела
- •Восстановление резервного загрузочного сектора, если первичный сектор отсутствует, поврежден или содержит неверные данные
- •Восстановление загрузочных секторов в Extended partitions
- •Восстановление самой fat Резервная копия
- •Файл подкачки
- •Проверка состояния файловой системы fat
- •Проверка параметров bios
- •Тип и параметры диска
- •Расширенные параметры bios
- •Установка параметров bios по умолчанию
- •Анализ главной загрузочной записи mbr и таблицы разделов
- •Описание формата таблицы разделов
- •Прослеживание списка разделов диска
- •Проверка таблицы разделов при помощи программы diskedit
- •Сохранение параметров диска и таблицы разделов диска
- •Исследование расширенного раздела диска
- •Сохранение содержимого таблиц логических дисков
- •Исследование логических дисков fat
- •Проверка загрузочного сектора
- •Анализ зарезервированных секторов
- •Формат таблицы fat
- •Просмотр таблицы fat
- •Формат каталогов
- •Просмотр каталогов
- •Каталоги в файловой системе vfat
- •Область данных
- •Поиск и восстановление файлов в разделах fat
- •Поиск с помощью программы Norton File Find
- •Поиск с помощью программы diskedit
- •Поиск разделов
- •Поиск таблиц fat
- •Поиск потерянных каталогов
- •Восстановление потерянных каталогов и файлов
- •Один из алгоритмов восстановления области данных
- •Приступим
- •А если Root Directory восстановить не удалось?
- •Этот способ применим как для каталогов, так и для отдельных файлов. Восстановление данных в разделах ntfs (с) Александр Фролов, 2002, http://www.Frolov.Pp.Ru/, http://www.Datarecovery.Ru/
- •Файловая система нового поколения для Microsoft Windows nt/2000
- •Поиск основных внутренних структур ntfs
- •Загрузочный сектор раздела ntfs
- •Определение геометрии раздела ntfs
- •Размер сектора
- •Размер кластера
- •Начало таблицы mft и копии ее первых записей
- •Размер записи таблицы mft
- •Поиск главной таблицы файлов mft
- •Атрибуты файла
- •Поиск атрибутов в записях mft
- •Массив корректировки секторов записи mft
- •Прослеживание списка атрибутов
- •Формат атрибутов файла
- •Заголовок атрибута файла
- •Проблемы с оборудованием
- •Термокалибровка
- •Отказ модуля диагностики
- •Мультисекторные операции
- •Вычисление зон предкомпенсации
- •Потеря сигнала готовности
- •Ошибка чтения сектора
- •Восстановление 0-й дорожки
Восстановление данных вручную
Если Вы опасаетесь доверить Norton Disk Doctor-у восстановление Partition Table по заведомо неверным значениям, можно попробовать восстановить информацию вручную. Здесь самое сложное - это восстановить координаты начала и конца разделов диска. Это возможно только путем просмотра содержимого винчестера и контекстного поиска строк, характерных для Boot Record каждого размера винчестера. В качестве примера таких строк можно предложить: "NOSYSTEM", "MSDOS3.3", "Disk Boot failure" и т.д. Если вам удастся выполнить эту кропотливую работу, остальное не представляет проблем.
При известном адресе (цилиндр/головка/сектор) начала следующего раздела поля элементов Partition Table заполняются следующим образом:
Флаг загрузки: = 0 или = 80H для диска C:
Начало раздела: номер головки = Найденное значение
Начало раздела: сектор/цилиндр корневого сектора = Найденное значение, записанное в нужном формате.
Код системы: = 1 для диска C: или = 51H для остальных разделов
Конец раздела: номер головки = Найденное значение Конец раздела: сектор/цилиндр последнего сектора = = Найденное значение, записанное в нужном формате.
Относительный номер начального сектора : = Вычисляется по формуле
Размер (число секторов) : = Относительный сектор начала следующего раздела минус Относительный сектор начала этого раздела
Формат записи значений цилиндра и сектора (10 и 6 бит соответственно)
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
c |
c |
c |
c |
c |
c |
c |
c |
C |
c |
S |
s |
s |
s |
s |
s |
Значение "относительного сектора"
Значение "относительного сектора" по смещению 08H в каждом разделе эквивалентно головке, сектору и цилиндру начального адреса раздела. Относительный сектор 0 совпадает с цилиндром 0, головкой 0, сектором 1. Относительный номер сектора прирастает сначала по каждому сектору на головке, затем по каждой головке и наконец по каждому цилиндру. Применима формула:
Относительный номер сектора = (Cylinder number * Sectors per Track * Heads) + (Head number * Sectors per Track) + (Sector Number -1)
Восстановление винчестера, разбитого на несколько логических дисков.
Чаще всего на таких HDD страдает только диск C: (первый раздел), а остальные разделы сохраняются и восстанавливаются довольно просто.
Сначала немного теории. Как известно, Partition Table состоит из 4-х элементов, из которых используются только два. Этого явно недостаточно (даже при использовании всех 4-х элементов) для определения 26 логических дисков (максимальное число дисков для файловых систем FATxx). Поэтому при наличии более одного логического диска создаётся раздел типа EXTEND. В том месте диска, где расположен первый сектор этого раздела, находится запись формата Partition Table. В ней описан сам логический диск и, следующий за ним раздел типа EXTEND (если таковой существует). Для такой "цепочки", естественно не существует ограничения в 26 элементов, которое введено исходя из количества букв в латинском алфавите. Поскольку у нас появился целый ряд записей формата Partition Table, условимся называть Partition Table-запись расположенную в самом первом секторе винчестера (там же где и MBR) - корневой Partition Tableили Root Partition Table.
Итак, для восстановления всех логических дисков (исключая диск C) достаточно восстановить указатель на раздел EXTEND в Root Partition Table.
Для того чтобы это сделать, надо предпринять следующие шаги:
Если требуется восстановить структуру Root Partition Table, а руками этого делать не хочется (или не знаете как), создайте с помощью FDISK-а раздел, заведомо меньший, чем был размер диска C: на пострадавшем HDD. НЕ СОЗДАВАЙТЕ раздел EXTEND и логические диски!
Найти начало раздела EXTEND. Для этого, сначала найти Boot Sector логического диска D: (первый диск раздела EXTEND). Затем отступить на одну дорожку (цилиндр) назад (к началу диска) и убедиться в том, что найдена Partition Table-запись раздела EXTEND. Внимание! Сама запись будет описывать раздел BIGDOS, FAT16 или что-то в этом роде, возможно в ней будет указатель на следующий раздел EXTEND (если винчестер содержал более 2-х логических дисков).
Первую запись в Partition Tableраздела EXTEND надо скопировать на место второй записи в Root Partition Table.
Уменьшить на единицу значение начальной дорожки (цилиндра) во второй записи Root Partition Table.
Изменить тип раздела во второй записи Root Partition Tableна EXTEND.
Перезагрузить компьютер и насладится вновь обретёнными дисками. :-)
Для восстановления диска C: восстановите значения первой записи Root Partition Table(исходя из значений второй записи).