
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.