Литмир - Электронная Библиотека
Содержание  
A
A

Таблица 5.3. Возможные значения Boot ID

Boot ID Тип раздела
00h
Раздел свободен
0x01
Раздел FAT12 (менее чем 32 680 секторов в томе или 16 Мбайт)
0x04
Раздел FAT16 (32 680–65 535 секторов или 16–33 Мбайт)
0x05
Расширенный раздел (extended partition)
0x06
Раздел BIGDOS FAT16 (33 Мбайт–4 Гбайт)
0x07
Раздел NTFS
0x0B
Раздел FAT32
0x0C
Раздел FAT32 с поддержкой расширенной BIOS
INT 13h
0x0E
Раздел BIGDOS FAT16 с поддержкой расширенной BIOS
INT 13h
0x0F
Расширенный раздел с поддержкой расширенной BIOS
INT 13h
0x12
Раздел EISA
0x42
Динамический диск
0x86
Раздел legacy FT FAT16
0x87
Раздел legacy FT NTFS
0x8B
Наследуемый отказоустойчивый том, отформатированный для FAT32 (Legacy FT volume formatted with FAT32)
0x8C
Наследуемый отказоустойчивый том с поддержкой BIOS
INT 13h
, отформатированный для FAT32 (Legacy FT volume using BIOS
INT 13h
extensions formatted with FAT32)

Техника восстановления главной загрузочной записи

Существует множество утилит для автоматического восстановления первичного загрузчика и таблицы разделов, к числу которых относятся, например, GetDataBack, Easy Recovery, Active@Data Recovery Software и др. До поры до времени они вполне успешно справлялись со своей задачей, восстанавливая даже полностью уничтоженные таблицы разделов, однако с появлением емких дисков, преодолевших барьер в 2 Гбайт с помощью всевозможных расширений, они стали часто путаться. Поэтому и доверять им больше нельзя. Если не хотите потерять свои данные — восстанавливайте MBR самостоятельно (тем более что это достаточно простая операция, не требующая особой квалификации). Восстановление значительно упрощается, если в вашем распоряжении имеется копия таблицы разделов, снятая с помощью Sector Inspector или любой другой подобной утилиты. К сожалению, чаще всего ее под рукой не оказывается…

Если операционная система отказывается загружаться, а на экране появляется сообщение BIOS, выглядящее примерно следующим образом:

Disk Boot failure, Non-System disk or disk error...

Press <Enter> to restart
то это указывает на разрушение сигнатуры
55h AAh
, обычно сопровождаемое смертью первичного загрузчика.

Примечание

Очень важно отличать сообщение BIOS от сообщений первичного загрузчика и загрузочного сектора. Зайдите в BIOS Setup и отключите все загрузочные устройства, оставив активным только диск

A:
(и не забудьте извлечь из него дискету). А теперь перезагрузитесь и запомните, какое сообщение появится на экране. Это и будет "ругательством" BIOS.

Восстановить сигнатуру

55h AAh
можно в любом дисковом редакторе. Когда будете это делать, убедитесь, что в начале диска присутствует осмысленный код первичного загрузчика (master boot code).

Рекомендация

Если вы испытываете затруднение с дизассемблированием в уме, воспользуйтесь IDA PRO или HIEW. Вы не умеете дезассемблировать? Тогда попробуйте оценить степень "нормальности" первичного загрузчика визуально (однако для этого опять-таки требуется опыт работы с кодом). В начале более или менее стандартного загрузчика расположено приблизительно

100h
байт машинного кода, в котором обнаруживаются последовательности:
00 7C
,
1B 7C
,
BE 07
,
CD 13
,
CD 18
,
CD 10
,
55 AA
, а затем идут характерные текстовые сообщения:
Invalid partition table
,
Error loading operating system
,
Missing operating system
(см. рис. 5.4). Если загрузчик поврежден, но сигнатура
55 AA
цела, то попытка загрузки с такого диска обернется неизменным зависанием.

Восстановить искореженный первичный загрузчик можно с помощью утилиты FDISK.EXE, запущенной с ключом

/MBR
, записывающей в главную загрузочную запись первого диска стандартный код первичного загрузчика (master boot code). Недокументированный ключ
/CMBR
, появившийся в MS-DOS 7.0, позволяет выбирать любой из подключенных дисков. В Windows 2000 и более новых версиях этого же результата можно добиться, загрузив консоль восстановления и дав команду
FIXMBR
.

Внимание!

Если вы использовали нестандартный загрузчик (например, LILO), то после перезаписи MBR сможете загружаться только с основного раздела, а для запуска операционных систем из других разделов вам придется переустановить свой мультизагрузочный менеджер. Кстати говоря, такой менеджер можно написать и самостоятельно. При наличии HIEW, а еще лучше — транслятора ассемблера — работа не займет и получаса.

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

24
{"b":"837815","o":1}