Скачиваний:
14
Добавлен:
16.05.2015
Размер:
110.08 Кб
Скачать

Invalid Partition Table

Если Boot-сектор активного раздела не удается считать в память, то выдается сообщение:

Error loading operation system

Ну, а если в Boot-секторе отсутствует сигнатура OAA55h, то на экране монитора может появиться надпись:

Missing operating system

Это же сообщение может появиться, если винчестер в SETUP выставлен неверно.

2.3. О программе ipl2

Первый физический сектор на дискете имеет несколько названий: Boot Sector, Boot Record, Корневая Запись и, опять же, Начальный Загрузчик. Формат этого сектора представлен на Рис. 3.

Смещение hex

Размер, байт

Содержание

00h

3

Код инструкции перехода на программу IPL2

E9xxxx или EBxx90

03h

8

Имя и версия OEM

0Bh

2

Количество байт на сектор

0Dh

1

Количество секторов на кластер

0Eh

2

Количество резервных секторов, включая Boot

10h

1

Число таблиц FAT

11h

2

Максимальное число элементов в корневом оглавлении

13h

2

Общее количество секторов на логическом диске

15h

1

Тип носителя (media descriptor)

16h

2

Количество секторов в одной FAT

18h

2

Количество секторов на трек

1Ah

2

Количество головок

1Ch

4

Количество "скрытых" секторов

20h

4

Общее количество секторов на логическом диске

24h

1

Физический номер диска

25h

1

Зарезервировано

26h

1

Сигнатура 29h

27h

4

Двоичный номер диска

2Bh

11

Метка диска

36h

8

Зарезервировано

3Eh

1

ПРОГРАММА IPL1

1FEh

2

Сигнатура 0AA55h

Рис. 3. Формат Boot-сектора

Первым байтом Boot-сектора диска должен быть либо код безусловного перехода JMP (E9h) с последующим 16-битным смещением, либо код "короткого" (short) перехода JMP (EBh) с 8-битным смещением, причем третьим байтом в этом случае является код операции NOP (90h). Заканчивается сектор определенной кодовой комбинацией — сигнатурой — 0AA55h.

Сразу за инструкцией JMP в этом секторе следует 8-байтное поле, резервируемое для идентификации имени и версии OEM (Original Equipment Manufacturer), например, MS DOS 3.3 или PC Tools.

Третьим — главным компонентом Boot-сектора — является BIOS Parameter Block (BPB — блок параметров BIOS). Это важнейшая структура данных, содержащая, в частности, тип носителя (media descriptor), a также другие параметры, характеризующие формат диска.

Последний элемент Boot-сектора диска — это программа, называемая обычно Bootstrap, но, чтобы не путать ее с ROM Bootstrap Routine, удобнее назвать ее IPL2 (Initial Program Loading 2). Начальная инструкция JMP в Boot-секторе выполняет переход на точку входа именно этой программы. IPL2 в свою очередь, используя информацию из ВРВ, определяет, являются ли два первых файла в корневом оглавлении диска модулями DOS. Затем программа загружает эти файлы в младшие адреса памяти (70:0000h) и передает управление на IO.SYS (IBMBIO.COM). Далее следует процесс инициализации, выполняемый средствами самой DOS.

Соседние файлы в папке Курсовая. Разработка внесистемного загрузчика первой фазы на дискете, вызываемого из BIOS (эмуляция IPL1)