ПК загружает сначала небольшую программу, которая
«вытягивает» за собой ОС. Цепочка событий начинается с включения питания и
заканчивается небольшой программы-приложения. Каждое из событий в этой цепочке
является следствием предыдущего и само инициирует последующее. Если хорошо
представлять процесс загрузки системы, то можно быстрее определить причину
неисправности по тому сообщению об ошибке, которое будет выведено на экран.
Если какая-то программа выдаст такое сообщение, то можно быть уверенным в том,
что эта программа была загружена, и, по крайней мере, частично выполнена. Зная
в какой последовательности происходит запуск , можно судить о том, насколько
далеко зашел этот процесс. Важно выяснить при обращении к каким файлам или
областям диска произошел сбой. В процессе загрузки сообщения об ошибках могут
быть выведены следующими программами:
-
включение питания системы.
-
самопроверка источника питания.
Если все уровни напряжений и токов приемлемы, то на системную плату с БП
подается сигнал POWER GOOD. Задержка выдачи этого сигнала лежит в пределах 0,1
– 0,5 сек.
-
сигнал PG
поступает на ИМС системного тактового генератора, который в результате
прекращает вырабатывать сигнал сброса МП.
-
МП начинает выполнять
подпрограмму, хранящуюся в ПЗУ с известным начальным адресом. Поскольку
указанная ячейка отстоит всего на 16 шагов от конца отведенного для ПЗУ
адресного пространства, в ней содержатся инструкция перехода (jmp) на реальный начальный адрес системы BIOS.
-
система BIOS
выполняет тестирование основных компонентов ПК, проверяя их
работоспособность. О любой ошибке сообщает только звуковым сигналом т.к.
видеосистема ещё не активна.
-
система BIOS
выполняет сканирование пространства памяти в интервале адресов от
С000:0000 до С780:0000 в поисках BIOS видеоплаты.
Если ПЗУ видеоплаты найдено, то проверяется его контрольная сумма. Если
проверка заканчивается успешно, то запускается программа, записанная в ПЗУ
видеоплаты. Карта инициализируется и на экране появляется курсор. Если
тест контрольной суммы не проходит, то появляется С000 ROM ERROR
-
если BIOS
не находит ПЗУ видеоплаты, то для запуска видеосистемы используется
драйвер, записанный в ПЗУ системы BIOS, но курсор
не появляется.
-
система BIOS
сканирует ячейки памяти в диапазоне адресов от С800:0000 до DF80:0000 с шагом 2кв поисках других ПЗУ, расположенных
на платах адаптеров. Если такие ПЗУ обнаружатся,, то проверяется их
контрольная сумма и выполняется записанная в них программа. Программы BIOS, записанные в ПЗУ адаптеров, могут подменять собой
программы системы BIOS либо загружаться в
дополнение к ним.
-
если тест контрольной суммы
к.-л. из ПЗУ не проходит, то появляется сообщение ХХХХ ROM ERROR. Код ХХХХ представляет
собой сегментный адрес поврежденного ПЗУ.
-
система BIOS
проверяет значение слова в ячейке памяти 0000:0472на наличие флага
«горячей» загрузки. Если значение этого слова 1234Н – «горячий» запуск и
процедура тестирования в программе POST пропускается. Любое другое значение - «холодный»
запуски процедура тестирования в программе POST
выполняется в полном объеме.
-
если запуск системы «холодный»
- выполняется процедура POST. При обнаружении
ошибок подается определенный звуковой сигнал и на экран выдается
сообщение. После успешного завершения процедуры POST
подается одиночный сигнал.
-
система BIOS
ищет VBS (цилиндр, головка, сектор –
начального сектор диска) на диске А. Содержимое этого сектора загружается
в область памяти с начальным адресом 0000:7С00 и подвергается проверке.
Если в дисководе нет дискеты или она установлена, но не читается, то BIOS переходит к следующему этапу
-
если значение первого байта VBS на диске А меньше чем 06h
или оно больше или равно 06h, но при этом первые 9
слов одинаковые, то появляется сообщение об ошибке и система
останавливается 602 – DISKETTE BOOTRECORD ERROR
-
если дискета была подготовлена
программами format.com или
sys.com, входящими в DOS 3.3 или меньше, но соответствующие системные файлы
не являются первыми в каталоге выдается сообщение NON
SYS TEM
DISKOR DISK ERROR REPLACE AND STRIKE ANY
KEY WHEN READY.
-
если VBS
поврежден, то вы увидите сообщение: DISK BOOT FAILURE.
-
если дискета подготовлена
программами format.com / sys.com из DOS
4.0 и выше, но системные файлы не являются первыми в каталоге или VBS поврежден, то появляется сообщение из п.14
-
если VBS
на диске А на не найден, то BIOS начинает поиск MBS на первом жестком диске (цил. - 0 гол - 0, сектор
–1 - начальный сектор MBR) если MBS
найден, то его содержимое загружается в область памяти с начальным адресом
0000:7С00 и подвергается проверке на предмет наличия специального
ключевого кода – сигнатуры.
-
если последние два байта
сигнатуры MBS жесткого диска не равны 55ААh, то в большинстве систем формируется прерывание с
номеров 18h. При этом в ПК PS/2
на экран выводится запрос на гибкий диск и нажатие клавиши F1 такого вида: NO BOOT DEVICE AVAILABLE
STRIKE F1
TO RETRY BOOT, F2
FOR SETUP UTILITY.
-
программа, записанная в MBS жесткого диска, разыскивает в своей таблице
разбиения запись с системными индикаторными байтами, указывающими на
наличие расширенного раздела. При наличии такой записи, она записывает
содержимое загрузочного сектора расширенного раздела (содержимое этого
сектора наз. Расширенной загрузочной записью EBR).
Частью EBR также является таблица, в которой может
содержаться указание на следующий расширенный раздел. Если такая запись
найдена, то с указанного места на диске, считывается еще одна EBR. Поиск продолжается до тех пор, пока не будут
исчерпаны все EBR или их количество достигнет
максимального – 24.
-
программа MBS
пытается найти в своей таблице разбиения индикаторные байты загрузки,
которыми помечаются активные разделы.
-
в ПК от IBM
если ни один из разделов не отмечен как активный, вызывается встроенный
интерпретатор Бэйсика.
-
если индикаторный байт загрузки
в таблице разбиения MBS задан неверно или в
качестве активных указано несколько разделов, то работа системы
прекращается и на экране появляется: INVALID PARTITIOM TABLE.
-
если в MBS найдена запись об активном разделе , то загружается и
проверяется содержимое его VBS.
-
если VBS
активного раздела не может быть правильно прочитан (5 попыток) из-за
ошибок считывания, то работа системы прекращается и выдается сообщение: ERROR LOADING OPERATING SYSTEM.
-
VBS
активного раздела проверяется на наличие сигнатуры. Если последние два
байта сектора не равны контрольному значению 55ААh,
то работа системы прекращается и выдается сообщение: MISSING OPERATING SYSTEM.
-
выполняется программа,
записанная в VBS активного раздела. Она проверяет
корневой каталог тома и выясняет являются ли файлы IBMBIO.COM , IBMDOS (IO.SYS, MSDOS.SYS)
– первыми в этом каталоге. Если это так, то происходит их загрузка.
-
так же как в п. 14
-
так же как в п. 15
-
так же как в п. 16
-
если проблем не возникло, то
программа, записанная в VBS, производит загрузку
вышеупомянутых файлов или файла WINBOOT.SYS.
-
программа инициализации,
являющаяся частью IBMBIO.COM
(IO.SYS), копирует себя в
максимально удаленную не фрагментированную область памяти DOS и передает управление этой копии. Затем копия
перемещает IBMDOS, заменяя при этом свой исходный
код (часть кода IBMBIO), располагающийся в
основной памяти, поскольку в это области он больше не нужен.WINBOOT.SYS сочетает в себе
функции как IBMBIO.COM (IO.SYS) так и IBMDOS.COM(MSDOS.SYS)
-
программа инициализации
запускает программы-драйверы, определяет состояние аппаратной части,
происходит сброс дисковой системы, сброс и запуск подключенных устройств и
устанавливаются параметры системы по умолчанию.
-
после того как DOS приведена в активное состояние управление
возвращается программе-инициализации. IBMBIO.COM.
-
IBMBIO
или WINBOOT.SYSнесколько
раз просматривают файл CONFIG.SYS
и ищет регистрационный файл SYSTEM.DAT.
-
в процессе первого просмотра CONFIG.SYS выполняются все
операторы DEVICE по порядку, и загружаются
указанные в них драйверы.
-
в процессе второго просмотра
выполняются операторы INSTALL,по порядку.
-
при третьем просмотре
выполняются операторы SHALL, в результате
запускается указанный командный процессор. Если нет оператора, запускается
КП по умолчанию, первый, встреченный в корне диска файл с указанным
именем. При загрузке КП программа инициализации стирается из памяти т.к.
ее миссия выполнена. В WINDOWS95 КП загружается
если есть файл AUTOEXEC.BAT,
т.к. только в этом случае могут быть выполнены команды ДОС.
-
в процессе последнего просмотра
исполняются в определенном порядке все остальные операторы. Поэтому
порядок появления в файле CONFIG.SYS
прочих операторов, кроме DEVICE, INSTALL,
SHALL не имеет значения.
-
если файл AUTOEXEC.BAT существует, то КП запускает его на выполнение. После
выполнения команд появляется приглашение DOS если
не вызвана программа - оболочка.
-
если AUTOEXEC.BAT отсутствует, то КП выполняет встроенные команды DATE, TIME, выводит сообщение об
авторских правах и появляется приглашение DOS. В WINDOWS 95 при выполнении программы WINBOOT.SYS автоматически загружаются драйверы HIMEM.SYS, IFSHLP.SYS,
SETVER.EXE . последний
запускает WIN.COM и
начинается сеанс WINDOWS 95.