Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Восстановление информации.doc
Скачиваний:
137
Добавлен:
10.12.2013
Размер:
893.95 Кб
Скачать

Восстановление данных вручную

Если Вы опасаетесь доверить 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(исходя из значений второй записи).

Соседние файлы в предмете Защита информации