Если Windows устанавливается на логический диск в расширенном разделе (расширенный раздел обычно начинается с четвертого номера раздела), то после начального этапа загрузки операционной системы и выполнения программы NTDETECT выдается следующее сообщение об ошибке:

OS Loader 4.0 Boot record Signature AA55 Not Found, xxyy Found.

Windows NT could not start because of a computer disk hardware
configuration problem.

Could not read from the selected boot disk. Check boot path and disk hardware.

Please check the Windows NT Documentation about hardware disk Configuration
and your hardware reference manuals for additional information.

Основная загрузочная запись (MBR) включает в себя загрузочный код, который используется BIOS для чтения содержимого таблицы разделов. Запись MBR на основе данных из таблицы разделов выясняет, какой раздел является загрузочным (активным) и где расположен его начальный сектор. Как только расположение сектора определено, BIOS переходит к нему и начинает следующую фазу загрузки, выполняя код, относящийся непосредственно к операционной системе.

Если файлы, необходимые для загрузки операционной системы, размещены за 1024-м цилиндром, процесс загрузки завершиться неудачей. Когда используется система с дисками, подключенными через интерфейс SCSI, высока вероятность того, что проблему удастся обойти с помощью специального драйвера в файле NTBOOTDD.SYS. Для интерфейса IDE, увы, шансов никаких.

В Windows XP решение описываемой проблемы (когда необходимые для загрузки файлы расположены за 1024-м цилиндром) заключается в использовании обновленного загрузчика NTLDR. Если единственная проблема с загрузочным (нулевым) сектором состоит в том, что он не заканчивается сектором 55AA, это можно исправить с помощью дискового редактора Norton Diskedit. Однако, сообщение об ошибке обычно указывает на тот факт, что какое-то программа перезаписывает или уничтожает все содержимое загрузочного сектора, включая записи таблицы разделов.

При установке Windows на логический диск в расширенном разделе, программа OSLOADER должна просмотреть расширенную таблицу разделов с помощью вызовов BIOS для доступа к разделу, на котором установлена операционная система Windows. Адресация каждого из этих логических дисков проводится благодаря последовательности таблиц разделов. Каждый сектор, который содержит запись из таблицы разделов, должен завершаться сектором 55AA (последние два байта сектора).

Наилучший метод восстановления заключается в использование дискового редактора для проверки таблицы разделов. Каждый сектор занимает 512 байт. Первые 446 байт нулевого сектора содержат загрузочный код MBR, после которого следует содержимое таблицы разделов и конечный сектор 55AA. Если записи таблицы разделов остались неповрежденными в диапазоне от 1BE по 1FD, вручную запишите значения записей и укажите начальное значение 55AA со смещением 1FE. После записи сигнатуры 55AA можно провести регенерацию кода MBR с помощью утилиты FDISK.EXE, которая предоставляется в MS-DOS 6.0:

FDISK /MBR

Внимание: этот процесс приведет к исправлению кода загрузки и сигнатуры 55AA путем перезаписи нулевого сектора. При этом будет обнулена таблица разделов, что сделает логические диски бесполезными (если не ввести вручную сигнатуру 55AA с помощью дискового редактора перед вызовом команды FDISK /MBR).

Если записи таблицы разделов не сохранились или были перезаписаны некорректными данными, проблема может оказаться более сложной и требует поиска загрузочного сектора каждого раздела, а также восстановления таблицы разделов на основе расположения загрузочных секторов. Рассмотрение этого процесса выходит за рамки данного раздела книги.

Для того, чтобы подготовиться к возможным будущим повреждениям MBR, воспользуйтесь утилитой DISKSAVE.EXE из пакета Resource Kit. Утилита позволяет сохранить копию MBR на гибком диске. Эта копия записи MBR может потребоваться в будущем, когда утилита DISKSAVE.EXE даст возможность восстановить MBR с гибкого диска.

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

К возникновению описываемой проблемы может приводить наличие вируса в загрузочном разделе. Если возникли подобные сомнения, необходимо запустить антивирусную программу и проверить содержимое загрузочного сектора.