Начальный этап загрузки компьютера BIOS. Процесс загрузки компьютера

16.08.2019

После включения вашего компьютерапроисходит тестирование апgаратного обеспечение. Рассмотрим порядок загрузки Windows. Операционная система проверяет какие именно компоненты подключены к компьютеру, и их испраdность. Если же система обнаруживает какую либо неполадку с одной из важных составляющих, тогда процесc загрузки будет остановлен и вы будите уведомлены о причине в сообщении выведенном на экране.Кроме этого имеется еще и специальная «азбука» звуковых сигналов. По количеству писков BIOS можно определить работоспособность вашего компьютера. К примеру, один короткий сигнал, значит, что тестирование уcпешно завершено. А допустим один длинный и два коротких, о том что BIOS не обнаружил видеокарту.

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

Когда загрузочный сектор найден, то BIOS производит считывание содержимого с 1-го сектора диска. В нем и находится MBR (Master Boot Records), это основная загрузочная запись и конечно же таблица разделов диска.Именно с ее помощью BIOS может определить, какой раздел является активным. И с него начинается загрузка операционной системы.

В дальнейшеv по порядку загрузки Windows управление передается загрузочной записи,она находится в 1-ом секторе активного раздела. При ее помощи запускается менеджер загрузки Windows.

После этого из файла Boot Configuration Data который находится в папке (Boot) активного раздела, менеджер загрузки производит считывание конфигурации системы. Если Этот файл содержит несколько записей, то вы увидите меню в котором сможете выбрать операционную систему.

Далее происходит запуск Winload.exe, это модуль загрузки системы, компонентов ядра (Ntoskml.exe и Hal.dll), а так же системных служб и других составляющих компонентов. Ну а в это время вы увидите логотип Windows.

После происходит автоматический вход в систему. Если же у вас установлен вход в систему при помощи логина и пароля, тогда происходит загрузка процесса winlogon.exe, который выведет вам окно для ввода вашего логина и пароля.

Итак. При соблюдении ряда условий, не будет нарушен порядок загрузки Windows, а следовательно вы сможете спокойно работать за своим компьютером. Таких условий четыре, а именно:

1. В параметрах BIOS обязательно должен быть прописан диск, на котором хранится операционная система;

2. В первом секторе жесткого диска должны быть корректные MBR и таблица разделов, и один из разделов помечен как активный;

3. На активном разделе должна быть загрузочная запись а в его корневой папке должен содержаться файл bootmgr;

4. В папке Boot должен содержаться файл BCD с правильными записями о операционных системах которые установленны на жестком диске.

После включения вашего компьютера происходит тестирование апgаратного обеспечение. Рассмотрим порядок загрузки Windows .

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

Кроме этого имеется еще и специальная «азбука» звуковых сигналов. По количеству писков BIOS можно определить работоспособность вашего компьютера или ноутбука. К примеру, один короткий сигнал, значит, что тестирование уcпешно завершено. А допустим один длинный и два коротких, о том что BIOS не обнаружил видеокарту. Мы в сервис-центре можем подсказать и расшифровать сигналы даже удаленно, обращайтесь и ремонт ноутбуков на дому покажеться проще простого.

Поиски загрузочного сектора

После этой процедуры происходит поиски загрузочного сектора, который заранее выбран в BIOS. Как правило это жесткий диск. Но и этот этап не относится к загрузке операционной системы.Когда загрузочный сектор найден, то BIOS производит считывание содержимого с 1-го сектора диска. В нем и находится MBR (Master Boot Records), это основная загрузочная запись и конечно же таблица разделов диска. Именно с ее помощью BIOS может определить, какой раздел является активным. И с него начинается загрузка операционной системы. В дальнейшем по порядку загрузки Windows управление передается загрузочной записи, она находится в 1-ом секторе активного раздела. При ее помощи запускается менеджер загрузки Windows. После этого из файла Boot Configuration Data который находится в папке (Boot) активного раздела, менеджер загрузки производит считывание конфигурации системы. Если Этот файл содержит несколько записей, то вы увидите меню в котором сможете выбрать операционную систему. Далее происходит запуск Winload.exe, это модуль загрузки системы, компонентов ядра (Ntoskml.exe и Hal.dll), а так же системных служб и других составляющих компонентов. Ну а в это время вы увидите логотип Windows. После происходит автоматический вход в систему. Если же у вас установлен вход в систему при помощи логина и пароля, тогда происходит загрузка процесса winlogon.exe, который выведет вам окно для ввода вашего логина и пароля. Если произошел сбой, то компьютерная помощь на дому оперативно поможет. Итак. При соблюдении ряда условий, не будет нарушен порядок загрузки Windows, а следовательно вы сможете спокойно работать за своим компьютером. Таких условий четыре, а именно:

1. В параметрах BIOS обязательно должен быть прописан диск, на котором хранится операционная система;

2. В первом секторе жесткого диска должны быть корректные MBR и таблица разделов, и один из разделов помечен как активный;

3. На активном разделе должна быть загрузочная запись а в его корневой папке должен содержаться файл bootmgr;

4. В папке Boot должен содержаться файл BCD с правильными записями о операционных системах которые установленны на жестком диске.

После включения компьютера в его оперативной памяти нет операционной системы. Само по себе, без операционной системы, аппаратное обеспечение компьютера не может выполнять сложные действия, такие как, например, загрузку программы в память. Таким образом мы сталкиваемся с парадоксом, который кажется неразрешимым: для того, чтобы загрузить операционную систему в память, мы уже должны иметь операционную систему в памяти.

Решением данного парадокса является использование специальной маленькой компьютерной программы , называемой начальным загрузчиком , или BIOS (Basic Input/Output System). Эта программа не обладает всей функциональностью операционной системы, но её достаточно для того, чтобы загрузить другую программу, которая будет загружать операционную систему. Часто используется многоуровневая загрузка, в которой несколько небольших программ вызывают друг друга до тех пор, пока одна из них не загрузит операционную систему.

В современных компьютерах процесс начальной загрузки начинается с выполнения процессором команд, расположенных в постоянной памяти (например на IBM PC - команд BIOS), начиная с предопределённого адреса (процессор делает это после перезагрузки без какой бы то ни было помощи). Данное программное обеспечение может обнаруживать устройства, подходящие для загрузки, и загружать со специального раздела выбранного устройства (чаще всего загрузочного сектора данного устройства) загрузчик ОС .

Начальные загрузчики должны соответствовать специфическим ограничениям, особенно это касается объёма. Например, на IBM PC загрузчик первого уровня должен помещаться в первых 446 байт главной загрузочной записи , оставив место для 64 байт таблицы разделов и 2 байта для сигнатуры AA55, необходимой для того, чтобы BIOS выявил сам начальный загрузчик.

История

Первые компьютеры имели набор переключателей, которые позволяли оператору размещать начальный загрузчик в памяти до запуска процессора . Затем данный загрузчик считывал операционную систему с внешнего устройства, например с перфоленты или с жесткого диска .

Псевдо-ассемблерный код начального загрузчика может быть столь же простым, как и следующая последовательность инструкций:

0: записать в регистр P число 8 1: проверить что устройство считывания с перфолент может начинать считывание 2: если не может, перейти к п. 1 3: прочитать байт с устройства считывания с перфолент и записать его в аккумулятор 4: если перфолента закончилась, перейти к п. 8 5: записать значение, хранимое в аккумуляторе, в оперативную память по адресу, хранящемуся в регистре P 6: увеличить значение регистра P на единицу 7: перейти к п. 1

Данный пример основан на начальном загрузчике одного из миникомпьютеров , выпущенного в 1970-х годах фирмой Nicolet Instrument Corporation.

0: записать в регистр P число 106 1: проверить что устройство считывания с перфолент может начинать считывание 2: если не может, перейти к п. 1 3: прочитать байт с устройства считывания с перфолент и записать его в аккумулятор 4: если перфолента закончилась, перейти к п. 8 5: записать значение, хранимое в аккумуляторе, в оперативную память по адресу, хранящемуся в регистре P 6: уменьшить значение регистра P на единицу 7: перейти к п. 1

Длина загрузчика второго уровня была такой, что последний байт загрузчика изменял команду, расположенную по адресу 6. Таким образом, после выполнения пункта 5 стартовал загрузчик второго уровня. Загрузчик второго уровня ожидал заправки в устройство считывания перфолент длинной перфоленты, содержащей операционную систему. Различием между загрузчиком первого уровня и загрузчиком второго уровня были проверки на ошибки считывания с перфоленты, которые часто встречались в то время, и, в частности, на используемых в данном случае телетайпах ASR-33.

Некоторые операционные системы, наиболее характерными из которых являются старые (до 1995 года) операционные системы компьютеров Macintosh производимых Apple Computer , настолько тесно связаны с аппаратным обеспечением компьютеров, что на данных компьютерах невозможно загрузить какую либо другую операционную систему. В данных случаях обычно разрабатывается начальный загрузчик, который работает как загрузчик стандартной ОС , а затем передает управление альтернативной операционной системе. Apple использовала данный способ для запуска A/UX версию Unix , а затем он использовался различными бесплатными операционными системами.

Устройства, инициализируемые BIOS

Загрузочное устройство - устройство, которое должно быть проинициализировано до загрузки операционной системы. К ним относятся устройства ввода (клавиатура , мышь), базовое устройство вывода (дисплей), и устройство, с которого будет произведена - дисковод , жесткий диск , CD-ROM , флэш-диск , SCSI -устройство, сетевая карта (при загрузке по сети; например, при помощи PXE).

Загрузочная последовательность стандартного IBM-совместимого персонального компьютера

Загружается персональный компьютер


Wikimedia Foundation . 2010 .

Многие, прочитав заглавие, улыбнутся: ну что же здесь сложного? Однако вдумайтесь: что же происходит с ПК после нажатия кнопки Power (включение питания)? Этот вопрос редко задают себе как начинающие, так и опытные пользователи. Автору приходилось задавать его и специалистам в области компьютерной техники, но исчерпывающих ответов было мало. Тем не менее при сбоях или отказе компьютера знание основ процесса начальной загрузки во многих случаях помогает обнаружить или быстро локализовать неисправность.

Для конкретизации изложения рассмотрим процесс загрузки компьютера, оснащенного материнской платой, на которой установлен BIOS AWARD и Intel-совместимый микропроцессор, а в качестве ОС - Windows 98.

После нажатия кнопки Power источник питания выполняет самотестирование. Если все напряжения соответствуют номинальным, источник питания спустя 0,1...0,5 с выдает на материнскую плату сигнал PowerGood, а специальный триггер, вырабатывающий сигнал RESET, получив его, снимает сигнал сброса с соответствующего входа микропроцессора. Следует помнить, что сигнал RESET устанавливает сегментные регистры и указатель команд в следующие состояния (неиспользуемые в реальном режиме биты не указываются): CS = FFFFh; IP = 0; DS = SS = ES = 0 и сбрасывает все биты управляющих регистров, а также обнуляет регистры арифметическо-логического устройства. Во время действия сигнала RESET все тристабильные буферные схемы переходят в высокоимпендансное состояние. С момента снятия этого сигнала микропроцессор начинает работу в реальном режиме и в течение примерно 7 циклов синхронизации приступает к выполнению инструкции, считываемой из ROM BIOS по адресу FFFF:0000. Размер области ROM BIOS от этого адреса до конца равен 16 байт, и в ней по указанному адресу записана команда перехода на реально исполняемый код BIOS. В этот момент процессор не может выполнять никакую другую последовательность команд, поскольку нигде в любой из областей памяти, кроме BIOS, ее просто не существует. Последовательно выполняя команды этого кода, процессор реализует функцию начального самотестирования POST (Power-On Self Test). На данном этапе тестируются процессор, память и системные средства ввода/вывода, а также производится конфигурирование программно-управляемых аппаратных средств материнской платы. Часть конфигурирования выполняется однозначно, другая часть может определяться положением джамперов (перемычек или переключателей) системной платы, но ряд параметров возможно (а иногда и необходимо) устанавливать пользователю. Для этих целей служит утилита Setup, встроенная в код BIOS. Параметры конфигурирования, установленные с помощью этой утилиты, запоминаются в энергонезависимой памяти, питаемой от миниатюрной батарейки, размещенной на материнской плате. Часть из них всегда хранится в традиционной CMOS Memory, объединенной с часами и календарем RTC (Real Time Clock). Другая часть (в зависимости от фирмы-производителя) может помещаться и в энергонезависимую (например, флэш) память (NVRAM). Кроме этой части статически определяемых параметров, имеется область энергонезависимой памяти ESCD для поддержки динамического конфигурирования системы Plug and Play, которая может автоматически обновляться при каждой перезагрузке компьютера.

Утилита BIOS Setup имеет интерфейс в виде меню или отдельных окон, иногда даже с поддержкой мыши. Для входа в Setup во время выполнения POST появляется предложение нажать клавишу DEL. В других типах BIOS (в отличие от указанного выше) для этого может использоваться сочетание клавиш Ctrl+Alt+Esc, Ctrl+Esc, клавиша Esc, бывают и другие варианты (например, нажать клавишу F12 в те секунды, когда в правом верхнем углу экрана виден прямоугольник). В последнее время появились версии BIOS, в которых вход в Setup осуществляется нажатием клавиши F2, однако чаще клавиши F1 или F2 используются для вызова меню Setup, если POST обнаружит ошибку оборудования, которая может быть устранена сменой начальных установок. Для некоторых BIOS удержание клавиши INS во время POST позволяет установить настройки по умолчанию, отменяя все "ускорители". Это бывает удобно для восстановления работоспособности компьютера после попыток его неудачного "разгона". Выбранные установки сохраняются при выходе из Setup (по желанию пользователя) и начинают действовать с момента следующего выполнения POST.

При выполнении каждой подпрограммы POST записывает ее сигнатуру (код) в диагностический регистр. Этот регистр физически должен располагаться на специальной плате диагностики (сигнатурном анализаторе, или так называемой POST-карте), устанавливаемой в слот системной шины при анализе неисправности. Такие POST-карты бывают в двух исполнениях: для шин ISA и PCI. На данной плате обязательно устанавливается двухразрядный семисегментный индикатор, высвечивающий содержимое регистра диагностики. Возможно также наличие двоичного индикатора адреса. В пространстве ввода/вывода регистр занимает один адрес, зависящий от архитектуры РС (версии BIOS). Например, для ISA, EISA - 80h; ISA Compaq - 84h; ISA-PS/2 - 90h; для некоторых моделей EISA - 300h; MCA-PS/2 - 680h. Имея в наличии подобный сигнатурный анализатор по индицируемым кодам, можно определить, на каком этапе остановился POST. Зная специфическую таблицу сигнатур для каждой версии BIOS, легко определить неисправность системной платы.

Перечислим в порядке выполнения основные тесты POST для BIOS AWARD V4.51 и их сигнатуры, высвечиваемые POST-картой на индикаторе регистра диагностики. Следует отметить, что далеко не все перечисленные ниже коды видны на индикаторе в процессе нормальной загрузки компьютера: некоторые высвечиваются лишь в том случае, если POST останавливается. Происходит это потому, что многие подпрограммы POST исполняются настолько быстро, что человеческий глаз не в состоянии уследить за индицируемым состоянием регистра диагностики, а некоторые коды появляются только при обнаружении неисправности. Для указанной версии BIOS первой исполняемой сигнатурой в последовательности POST является C0:

C0 - осуществляется программирование регистров микросхемы Host Bridge для установки следующих режимов:

запрещается Internal и External Cache, а также операции с кэш-памятью;

перед запретом Internal Cache очищается;

Shadow RAM запрещается, вследствие чего происходит направление непосредственно к ROM циклов обращения к адресам расположения System BIOS. Эта процедура должна соответствовать конкретному чипсету;

C1 - с помощью последовательных циклов запись/чтение определяется тип памяти, суммарный объем и размещение по строкам. И в соответствии с полученной информацией настраивается DRAM-контроллер. На этом же этапе процессор должен быть переключен в Protected Mode (защищенный режим).

C3 - проверяются первые 256 Кб памяти, которые в дальнейшем будут использованы как транзитный буфер, а также осуществляется распаковка и копирование System BIOS в DRAM.

C6 - по специальному алгоритму определяется наличие, тип и параметры External Cache.

CF - определяется тип процессора, а результат помещается в CMOS. Если по каким-либо причинам определение типа процессора закончилось неудачно, такая ошибка становится фатальной, и система, а соответственно и выполнение POST, останавливается.

05 - осуществляется проверка и инициализация контроллера клавиатуры, однако на данный момент прием кодов нажатых клавиш еще не возможен.

07 - проверяется функционирование CMOS и напряжение питания ее батареи. Если фиксируется ошибка питания, выполнение POST не останавливается, однако BIOS запоминает этот факт. Ошибка при контрольной записи/чтении CMOS считается фатальной, и POST останавливается на коде О7.

BE - программируются конфигурационные регистры Host Bridge и PIIX значениями, взятыми из BIOS.

0A - генерируется таблица векторов прерываний, а также производится первичная настройка подсистемы управления питанием.

0B - проверяется контрольная сумма блока ячеек CMOS, а также, если BIOS поддерживает PnP, выполняется сканирование устройств ISA PnP и инициализация их параметров. Для PCI-устройств устанавливаются основные (стандартные) поля в блоке конфигурационных регистров.

0C - инициализируется блок переменных BIOS.

0D/0E - определяется наличие видеоадаптера путем проверки наличия сигнатуры 55АА по адресу начала Video BIOS (C0000:0000h). Если Video BIOS обнаружен и его контрольная сумма правильная, включается процедура инициализации видеоадаптера. С этого момента появляется изображение на экране монитора, высвечивается заставка видеоадаптера, инициализируется клавиатура. Далее по ходу POST тестируется контроллер DMA и контроллер прерываний.

30/31 - определяется объем Base Memory и External Memory, и с этого момента начинается отображаемый на экране тест оперативной памяти.

3D - инициализируется PS/2 mouse.

41 - производится инициализация подсистемы гибких дисков.

42 - выполняется программный сброс контроллера жестких дисков. Если в Setup указан режим AUTO, производится детектирование устройств IDE, в противном случае параметры устройств берутся из CMOS. В соответствии с конфигурацией системы размаскируются прерывания IRQ14 и IRQ15.

45 - инициализируется сопроцессор FPU.

4E - настраивается клавиатура USB. На данном этапе становится возможен вход в CMOS Setup по нажатию клавиши DEL.

4F - осуществляется запрос на ввод пароля, если это предусмотрено установками CMOS Setup.

52 - производится поиск и инициализация ПЗУ дополнительных BIOS, а также картируется каждая из линий запросов прерывания PCI.

60 - если в Setup включен данный режим, устанавливается антивирусная защита BOOT Sector.

62 - осуществляется автоматический переход на зимнее или летнее время, для клавиатуры настраиваются состояние NumLock и режим автоповтора.

63 - корректируются блоки ESCD (только для PNP BIOS) и производится очистка ОЗУ.

B0 - это состояние записывается в регистр сигнатурного анализатора только в случае наличия ошибок, например, при тесте Extended Memory. Если при работе в Protected Mode сбои отсутствуют, то POST не включает эту ветвь. При наличии страничных нарушений и других исключительных ситуаций управление будет передано на эту процедуру, она выведет код B0 в порт 80(84)h и остановится.

FF - последний этап, на котором подводится итог тестирования, - успешная инициализация аппаратных средств компьютера сопровождается одиночным звуковым сигналом, после чего осуществляется передача управления загрузчику BOOT-сектора.

Порядок поиска загрузочного диска на компьютерах x86 (FDD, жесткие диски IDE и SCSI, устройства CD-ROM) задает BIOS. Современные BIOS позволяют переконфигурировать этот порядок, называемый последовательностью загрузки (boot sequence). Если при этом дисковод A: включен в последовательность загрузки первым и в нем находится дискета, BIOS попытается использовать эту дискету в качестве загрузочной. Если дискеты в дисководе нет, BIOS проверяет первый жесткий диск, который к этому времени уже инициализировался, и выполняет команду INT19h. Процедура обработки прерывания INT19h для загрузки BOOT-сектора должна прочитать сектор с координатами Cylinder:0 Head:0 Sector:1 и поместить его по адресу 0000:7С00h, после чего осуществляется проверка, является ли диск загрузочным. Сектор MBR (Master Boot Record - главная загрузочная запись) на жестком диске находится по тому же физическому адресу, что и BOOT-сектор на дискете (цилиндр 0, сторона 0, сектор 1).

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

Сектор MBR записывается на жесткий диск программой FDISK, поэтому если HDD был отформатирован на низком уровне, во всех его секторах находятся нули и, естественно, первый сектор не может содержать необходимой сигнатуры. Отсюда следует, что сообщения об ошибке будут выдаваться, если диск не разбивался на разделы (логические диски). Главная загрузочная запись обычно не зависит от операционной системы (на платформах Intel она используется для запуска любой из операционных систем). Код, содержащийся в главной загрузочной записи, сканирует таблицу разделов (partition table) в поисках активного системного раздела. Если в таблице разделов активный раздел не обнаружен или хотя бы один раздел содержит неправильную метку, а также если несколько разделов помечены как активные, выдается соответствующее сообщение об ошибке.

Код главной загрузочной записи определяет расположение загрузочного (активного) раздела, считывая таблицу разделов, расположенную в конце MBR. Если активный раздел найден, производится чтение его загрузочного сектора и определяется, является ли он действительно загрузочным. Попытка чтения может осуществляться до пяти раз, в противном случае выдается сообщение об ошибке, и система останавливается. Если загрузочный сектор найден, Master Boot Record передает управление коду загрузочного сектора в активном (загрузочном) разделе, который содержит загрузочную программу и таблицу параметров диска. Загрузочный сектор раздела просматривает блок параметров BIOS в поисках расположения корневого каталога, а затем копирует из него в память системный файл IO.SYS (который, по сути, является частью DOS и включает в себя функции файла MSDOS.SYS из предыдущей версии DOS) и передает ему управление. IO.SYS загружает драйверы некоторых устройств и выполняет ряд операций, связанных с загрузкой. Сначала IO.SYS считывает файл MSDOS.SYS. Нужно помнить, что этот файл не похож на одноименные файлы из предыдущих версий DOS. В Windows 98 MSDOS.SYS является текстовым файлом, содержащим опции процедуры запуска. Затем загружается и отображается файл LOGO.SYS (стартовая заставка).

На следующем этапе IO.SYS считывает информацию из системного реестра, а также исполняет файлы CONFIG.SYS и AUTOEXEC.BAT (при их наличии в корневом каталоге). При этом загружаются драйверы устройств, работающих в реальном режиме работы процессора, выполняются некоторые системные установки. Ниже приводится неполный список возможных драйверов и программ, загружаемых на данном этапе.

DBLSPACE.BIN или DRVSPACE.BIN. Драйвер сжатия дисков.

HIMEM.SYS. Администратор верхней памяти в реальном режиме работы процессора.

IFSHLP.SYS. Оказывает содействие при загрузке VFAT и прочих файловых систем, поддерживающих Windows 98.

SETVER.EXE. Утилита, подменяющая номер версии операционной системы. Существуют программы, ориентированные на более ранние версии операционных систем и отказывающиеся функционировать под Windows 98. Благодаря SETVER.EXE подобной программе возвращается именно тот номер версии DOS, который ее устраивает.

DOS=HIGH. Загружает DOS в область памяти HMA. Если в файле конфигурации CONFIG. SYS содержится инструкция для загрузки администратора отображаемой памяти EMM386.EXE, в эту строку добавляется параметр UMB, позволяющий EMM386.EXE использовать верхнюю память.

Нужно помнить, что IO.SYS не загружает администратор EMM386.EXE автоматически. Поэтому, если планируется его использование, в файл CONFIG.SYS необходимо вставлять строку DEVICE=EMM386.EXE.

FILES=30. В этой строке определяется число создаваемых дескрипторов файла. Windows 98 не использует это параметр; он включен для совместимости с предыдущими версиями программ.

LASTDRIVE=Z. Здесь определяется последняя буква для логических дисков. Эта опция также введена для обратной совместимости и не используется Windows 98.

BUFFER=30. Определяет число создаваемых файловых буферов. Буферы файлов используются приложениями при вызовах подпрограмм ввода/вывода из файла IO.SYS.

STACKS=9,256. Этой записью определяется число кадров стека и размер каждого кадра.

FCBS=4. Данная команда задает число блоков управления файлом. Оба последних параметра применяются только для обратной совместимости.

На последнем этапе загружается и запускается файл WIN.COM. Он обращается к файлу VMM32.VXD. Если в компьютере установлен достаточный объем ОЗУ, то этот файл загружается в память, в противном случае организуется доступ к этому файлу на жестком диске, что, естественно, увеличивает время загрузки. Загрузчик драйверов реального режима сравнивает копии виртуальных драйверов устройств (VxD) в папке Windows/System/VMM32 и файле VMM32.VXD. Если виртуальный драйвер устройства существует и в папке, и в файле, копия виртуального драйвера "помечается" в файле VMM32.VXD как незагружаемая. Виртуальные драйверы устройств, не загруженные с помощью файла VMM32.VXD, загружаются из раздела файла SYSTEM.INI папки Windows. Во время описанного процесса загрузчик драйверов виртуальных устройств реального режима постоянно проверяет правильность загрузки всех необходимых виртуальных драйверов устройств, а при появлении ошибки при загрузке нужного драйвера он пытается выполнить эту операцию еще раз. После загрузки виртуальные драйверы устройств реального режима инициализируются, затем файл VMM32.VXD переключает процессор в защищенный режим, и начинается процесс инициализации виртуальных драйверов устройств согласно их параметру InitDevice. Процедура загрузки ОС заканчивается загрузкой файлов KRNL32.DLL, GDI.EXE, USER.EXE и EXPLORER.EXE. Если компьютер подключен к сети, то загружается сетевое окружение. Пользователю предлагается ввести имя и пароль для входа в сеть. Затем из системного реестра загружается конфигурация с параметрами, установленными по умолчанию. На последней фазе загрузки операционной системы производится обработка содержимого папки Startup (Автозагрузка) и запускаются указанные в ней программы. После этого ОС готова к работе.

Существует несколько стандартных способов, позволяющих видоизменить описанную выше процедуру запуска:

При исполнении POST на этапе проверки памяти и инициализации загрузочных устройств нажать кнопку клавиатуры DEL для входа в программу Setup;

Вставить перед окончанием теста оборудования загрузочный диск (например, аварийный диск Windows 98);

Внести исправления в файл CONFIG.SYS;

Отредактировать файл AUTOEXEC.BAT.

Помимо них, Windows 98 предоставляет ряд менее очевидных методов для выполнения этой же задачи:

После завершения теста оборудования клавишей F8 вызвать меню Startup;

Отредактировать инструкции запуска системы в файле MSDOS.SYS;

Использовать один из перечисленных методов для "остановки" в режиме DOS, после чего запустить Windows из командной строки с набором необходимых ключей;

Изменить содержимое папки Startup. По материалам сайта

BIOS (Base Input/Output System) представляет собой специальное программное обеспечение , которое встроено в микроконтроллер на материнской плате, переводится с английского языка как основная система ввода-вывода. Данный программный код обеспечивает взаимодействие операционной системы с оборудованием, позволяет совместить аппаратные различия в компьютерном оборудовании.

Какова роль BIOS?

При первоначальной загрузке компьютера БИОС с помощью встроенных программных алгоритмов тестирует аппаратное оборудование на предмет работоспособности. Микроконтроллер посылает инструкции для запуска к каждому компоненту компьютера. Взамен он должен в обязательном порядке получить ответ от устройства. Если BIOS ответ не получает, система сообщает об этом пользователю посредством выдачи сообщения на монитор или звукового сигнала.

Без данного ПО невозможна работа компьютера. Также операционная система не запустится, если конфигурация БИОС настроена неправильно, или сбились настройки в результате системных неполадок. Системные настройки BIOS позволяют выполнить:

Как попасть в BIOS?

Информацию, как попасть в БИОС, можно считать в процессе загрузки компьютера. Чаще всего выдается системой запись вида: Press DEL to enter SETUP. В этом случает для входа в систему необходимо нажать клавишу DELETE в процессе загрузки компьютера. В некоторых случаях для того чтобы войти в меню BIOS, необходимо нажать определенные сочетания клавиш. Чаще всего используются F1, F2, F10, ESC или сочетания Ctrl+Alt+Ins, Ctrl+Alt+Esc.

Следует помнить: не рекомендуется менять настройки BIOS без надобности. В системе имеются жизненно важные параметры работы аппаратного оборудования, неправильная настройка которых может вывести из строя определенные компоненты или материнскую плату в целом.

Меню настроек BIOS

Наиболее распространены системы AMI BIOS и Award BIOS . Версия AMI BIOS имеет три раздела:

  • Main позволяет менять настройки системного времени. Даты, приоритет съемных носителей, содержит информацию о системе;
  • Advanced включает параметры работы центрального процессора и параметры конфигурации встроенной аппаратуры, настройки USB-портов и питания;
  • Boot содержит параметры загрузки, в том числе и настройки безопасности в процессе загрузки.

Меню Award BIOS имеет более сложную конфигурацию. Система содержит такие разделы:

  • Standart CMOS Features позволяет настраивать системную дату и время, тип используемого дисковода, а также характеристики имеющихся накопителей.
  • Advanced BIOS Features включает множество опций, в частности, порядок опроса накопителей при загрузке, включение/отключение многопоточности процессора, параметры взаимодействия ядер, информацию о состоянии жестких дисков . Данный раздел позволяет оптимизировать работу оперативной памяти .
  • Advanced Chipset Features содержит важные настройки работы встроенного оборудования: центрального процессора, оперативной памяти и системных шин передачи данных. Изменять данные настройки самостоятельно не рекомендуется.
  • Integrated Peripherals отвечает за настройку компонентов, встроенных в материнскую плату (USB-контроллер, видеокарта и звуковая карта, сетевой контроллер и различные порты).

В общем виде меню BIOS включает такие разделы (возможные названия блоков указаны в скобках):

  • общие параметры (STANDARD CMOS SETUP или MAIN);
  • свойства BIOS (ADVANCED или BIOS FEATURES SETUP);
  • свойства чипсетов (CHIPSET FEATURES SETUP или Chip Configuration);
  • свойства интегрированного оборудования (INTEGRATED PERIPHERALS или I/O Devices Configuration);
  • свойства слотов PCI (PNP/PCI CONFIGURATION или PCI CONFIGURATION);
  • управление питанием (POWER MANAGMENT SETUP или POWER);
  • пароли системы (SUPERVISOR PASSWORD или USER PASSWO RD);
  • сохранение и восстановление настроек (SAVE SETUP, LOAD SETUP DEFAULTS или LOAD BIOS DEFAULT);
  • выход из конфигурации (EXIT).

Этот небольшой кусок информации, в принципе все что нужно на первом этапе знакомства с БИОСом компьютера, мы продолжим цикл статей про сей инструмент и расскажем много интересной информации. Спасибо.

Многие начинающие пользователи спрашивают у поисковика – как настроить БИОС для того, что бы загрузиться с компакт диска. А так же, если необходимо загрузиться с флешки. В первую очередь загрузка из под BIOS требуется в тех случаях, когда вам нужно и сделать это можно только переустановкой операционной системы (Windows). А так же, если у вас есть загрузочный образ с утилитами, например для разделения жесткого диска на разделы и тут, естественно, тоже не обойтись без загрузки с диска или флешки через БИОС . В общем, поводов для загрузки с диска очень и очень много так, что начну уже рассказ о настройке BIOS.

В отличие от BIOS, код UEFI и вся ее служебная информация может храниться не только в специальной микросхеме, но и на разделах как внутренних, так и внешних жестких дисков, а так же сетевых хранилищах. В свою очередь, тот факт, что загрузочные данные могут размещаться на вместительных накопителях, позволяет за счет модульной архитектуры наделять EFI богатыми функциональными возможностями. Например, это могут быть развитые средства диагностики, или полезные утилиты , которые можно будет использовать как на этапе начальной загрузки ПК, так и после запуска ОС.

Еще одной ключевой особенностью UEFI является возможность работы с жесткими дисками огромных объемов, размеченных по стандарту GPT (Guid Partition Table). Последний не поддерживается ни одной модификацией BIOS, так как имеет 64-битные адреса секторов.

Загрузка ПК на базе UEFI, как и в случае с BIOS, начинается с инициализации устройств. Но при этом, данная процедура происходит гораздо быстрее, так как UEFIможет определять сразу несколько компонентов одновременно в параллельном режиме (BIOSинициализирует все устройства по очереди). Затем, происходит загрузка самой системы UEFI, под управлением которой выполняется какой-либо набор необходимых действий (загрузка драйверов, инициализация загрузочного накопителя, запуск загрузочных служб и т.д.), и только после этого осуществляется запуск операционной системы.


Может показаться, что такая многоступенчатая процедура должна увеличить общее время загрузки ПК, но на самом деле все происходит наоборот. С UEFI система запускается гораздо быстрее, благодаря встроенным драйверам и собственному загрузчику. В итоге, перед стартом, ОС получает исчерпывающую информацию об аппаратной начинке компьютера, что позволяет запускаться ей в течение нескольких секунд.

Несмотря на всю прогрессивность UEFI, все же существует ряд ограничений, сдерживающих активное развитие и распространение этого загрузчика. Дело в том, что для реализации всех возможностей нового загрузочного интерфейса требуется полноценная его поддержка со стороны операционных систем. На сегодняшний день в полной мере использовать возможности UEFI позволяет только Windows 8. Ограниченную поддержку нового интерфейса имеют 64-разрядные версии Windows 7, Vista и Linux на ядре 3.2 и выше. Так же возможности UEFI используются в загрузочном менеджере BootCamp компанией Apple в собственных системах Mac OS X.

Ну а как же происходит загрузка компьютера с UEFI, если на нем используются неподдерживаемая операционная система (WindowsXP, 32-битная Windows 7) или файловая разметка (MBR)? Для таких случаев в новый загрузочный интерфейс встроен модуль поддержки совместимости (Compatibility Support Module), по сути, представляющий из себя традиционную BIOS. Именно поэтому, можно видеть, как многие современные компьютеры, оснащенные системными платами с UEFI, загружается традиционным способом в режиме эмуляции BIOS. Чаше всего это происходит потому, что их владельцы продолжают использовать разделы HDD с традиционной MBR и не хотят переходить к разметке GPT.

Заключение

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

Но при этом говорить о полном отказе в ближайшее время от базовой системы ввода/вывода пока преждевременно. В первую очередь нужно вспомнить, что до сих пор большинство компьютеров находятся под управлением WindowsXP и 32-битной Windows 7, которые не поддерживаются UEFI. Да и жесткие диски, размеченные по стандарту GPT в большинстве своем можно встретить разве что в новых моделях ноутбуков на базе Windows 8.

Так что до тех пор, пока большинство пользователей в силу своих привычек или еще каких-либо причин, будут привязаны к старым версиям ОС и традиционным способам разметки винчестеров, BIOS так и будет оставаться основной системой для начальной загрузки компьютера.

Включаем БП, если все напряжения в норме, то спустя 0,1...0,5 сек БП выдаёт на материнскую плату сигнал PowerGood (PG). На материнской плате собрана специальная схема, вырабатывающая сигнал RESET. Эта же схема может быть завязана с хардваремонитором, контролирующим напряжения питания, которые поступают на маму от БП и\или вырабатываются преобразователями материнки для питания различных узлов (проца, памяти, чипсета и т.д.). В обязанности хардваремонитора также входит контроль температуры основных элементов платы и контроль оборотов вентиляторов. Только после получения PG от БП, а также сигнала от хардваремонитора "все в порядке" схема формирования RESETa снимает этот самый RESET с чипсета, мультика и различной мелкой логики, распаяной на плате, а также с самого процессора. Сигнал RESET держит сброшеными значения всех битов управляющих регистров и обнуляет регистры процессора, кроме регистра CS (Code Segment) содержащего начальный адрес сегмента кода, в нем устанавливается значение FFFFh. После снятия RESETa процессор начинает работу в реальном режиме и в течение примерно 7 циклов синхронизации приступает к выполнению инструкции, считываемой из ROM BIOS по тому самому адресу FFFF:0000. (Современный процессор (начиная с i386DX) выполняет первую инструкцию по адресу FFFFFFF0h, находящемуся в топе 4 Гб пространства.) К этому моменту клокер уже должен выдавать стабильные задающие тактовые частоты на PCI, процессор, USB, чипсет и оперативную память. Размер области ROM BIOS от адреса FFFF:0000 до конца равен 16 байт, и в ней по указанному адресу записана команда перехода на реально исполняемый код BIOS. В этот момент процессор не может выполнять никакую другую последовательность команд, поскольку нигде в любой из областей памяти, кроме BIOS, её просто не существует. Итак, начинается выполнение конкретного кода ROM BIOS. Последовательно выполняя команды этого кода, процессор реализует функцию начального самотестирования POST (Power-On Self Test). На данном этапе кроме процессора тестируются память и системные средства ввода/вывода. Обнаружив ошибку, система подаст звуковой сигнал, так как видеоадаптер пока еще не инициализирован. Также производится конфигурирование программно-управляемых аппаратных средств материнской платы. Часть конфигурирования выполняется однозначно, другая часть может определяться положением джамперов (перемычек или переключателей) системной платы, но ряд параметров возможно (а иногда и необходимо) устанавливать пользователю. Для этих целей служит утилита Setup, встроенная в код BIOS, обычно эта утилита вызывается нажатием DEL во время выполнения POST. Параметры конфигурирования, установленные с помощью этой утилиты, запоминаются в энергонезависимой памяти, питаемой от трехвольтовой батарейки, размещённой на материнской плате. Часть из них всегда хранится в традиционной CMOS Memory, объединённой с часами и календарём RTC (Real Time Clock). Другая часть (в зависимости от фирмы-производителя) может помещаться и в энергонезависимую (например, флэш) память (NVRAM). Кроме этой части статически определяемых параметров, имеется область энергонезависимой памяти ESCD для поддержки динамического конфигурирования системы Plug and Play, которая может автоматически обновляться при каждой перезагрузке компьютера. ESCD - неупакованная область, хранится во Flash ROM, его обновление на финальном этапе выполнения POST сопровождается выводом сообщения "Update DMI pool..." Останов в этом случае (до вывода сообщения или во время вывода сообщения) связан с нарушеними логических структур BIOS. Перепрограммирование - необходимое, но увы иногда недостаточное решение в такой ситуации.

Следует отметить, что далеко не все коды видны на индикаторе в процессе нормальной загрузки компьютера: некоторые высвечиваются лишь в том случае, если POST останавливается. Происходит это потому, что многие подпрограммы POST исполняются настолько быстро, что человеческий глаз не в состоянии уследить за индицируемым состоянием регистра диагностики, а некоторые коды появляются только при обнаружении неисправности. Итак, смотрим код, но не надо спешить менять девайс, если он известен! Тщательно проверяем всё, вплоть до прозвонки дорожек! Если не известно, что это за девайс, подизасмить БИОСяку, найти, где он инитится... Если не "моги", позадалбывать местных дизасмеров... Если индикатор показывает FF или 00, то наша плата вообще не смогла "стартануть", и нам надо проверять все питания элементов платы, задающий генератор, процессор и посмотреть наличие сигналов на шине данных и адреса.

Итак, программный старт компьютера вкратце выглядит примерно так:

Программируются регистры Host Bridge, очищается Internal Cache, запрещается Internal и External Cache, а также операции с кэш-памятью, запрещается Shadow RAM, вследствие чего происходит направление непосредственно к ROM циклов обращения к адресам расположения System BIOS. Эта процедура должна соответствовать конкретному чипсету. Далее программируются РIIХ ресурсы: контроллер DMA, контроллер прерываний, таймер, блок RTC. При этом контроллер DMA переводится в пассивный режим.

В компьютерах на SIMM или SDRAM с помощью последовательных циклов запись/чтение определяется тип памяти, суммарный объём и размещение по строкам. В компьютерах на SDRAM, DDR или DDR2 для определения параметров установленой памяти читается SPD (по протоколу SMBus, практически тот же самый i2c). И в соответствии с полученной информацией настраивается DRAM-контроллер. На этом же этапе процессор должен быть переключён в Protected Mode (защищённый режим).

Проверяются первые 256 кб памяти, которые в дальнейшем будут использованы как транзитный буфер, а также осуществляется распаковка и копирование System BIOS в DRAM.

По специальному алгоритму определяется наличие, тип и параметры External Cache.

Определяется тип процессора, результат помещается в CMOS. Если по каким-либо причинам определение типа процессора закончилось неудачно, для платформы на интеловском процессоре такая ошибка становится фатальной и система, а соответственно и выполнение POST, останавливается. При неудачном определении типа процессора на платформе АМД в CMOS помещается "неизвестный процессор".

Осуществляется проверка и инициализация контроллера клавиатуры, однако на данный момент приём кодов нажатых клавиш ещё не возможен.

Проверяется функционирование CMOS и напряжение питания её батареи. Если фиксируется ошибка питания, выполнение POST не останавливается, однако BIOS "запоминает" этот факт. Ошибка при контрольной записи/чтении CMOS считается фатальной и POST останавливается.

Программируются конфигурационные регистры Host Bridge и PIIX значениями, взятыми из BIOS.

Генерируется таблица векторов прерываний, а также производится первичная настройка подсистемы управления питанием.

Проверяется контрольная сумма блока ячеек CMOS, а также, если BIOS поддерживает PnP, выполняется сканирование устройств ISA PnP и инициализация их параметров. Для PCI-устройств устанавливаются основные (стандартные) поля в блоке конфигурационных регистров.

Инициализируется блок переменных BIOS.

Определяется наличие видеоадаптера путём проверки наличия сигнатуры 55АА по адресу начала Video BIOS (C0000:0000h). Если Video BIOS обнаружен и его контрольная сумма правильная, включается процедура инициализации видеоадаптера. С этого момента появляется изображение на экране монитора, высвечивается заставка видеоадаптера, инициализируется клавиатура. Далее по ходу POST тестируется контроллер DMA и контроллер прерываний.

Определяется объём Base Memory и External Memory, и с этого момента начинается отображаемый на экране тест оперативной памяти.

Инициализируется PS/2 mouse.

Производится инициализация подсистемы гибких дисков.

Выполняется программный сброс контроллера жёстких дисков. Если в Setup указан режим AUTO, производится детектирование устройств IDE, в противном случае параметры устройств берутся из CMOS. В соответствии с конфигурацией системы размаскируются прерывания IRQ14 и IRQ15.

Инициализируется сопроцессор FPU.

Настраивается клавиатура USB. На данном этапе становится возможен вход в CMOS Setup по нажатию клавиши DEL.

Осуществляется запрос на ввод пароля, если это предусмотрено установками CMOS Setup.

Производится поиск и инициализация ПЗУ дополнительных BIOS, а также картируется каждая из линий запросов прерывания PCI.

Если в Setup включён данный режим, устанавливается антивирусная защита BOOT Sector.

Осуществляется автоматический переход на зимнее или летнее время, для клавиатуры настраиваются состояние NumLock и режим автоповтора.

Корректируются блоки ESCD (только для PNP BIOS) и производится очистка ОЗУ.

Успешная инициализация аппаратных средств компьютера сопровождается одиночным звуковым сигналом, после чего управление передается загрузчику BOOT-сектора.

А как быть если 00 или FF, т.е. не выполнена ни одна команда системного BIOS? ("жизнь" на биосной флешке отсутствует):

  1. Нужно быть абсолютно уверенным, что все напряжения в норме и обеспечено надлежащее тактирование.
  2. Нужно быть абсолютно уверенным, что процессор исправен и данный экземпляр платы с данным процессором, грубо говоря "заводится".
  3. На платформах с AMD нужно обеспечить связь CPU с NB, т.к. до начала выполнения первой из команд системного BIOS по известному адресу выполняется недокументированный "Hand-Shake" между CPU и NB. Только после этого платформа переходит к нормальному старту в смысле x86. (Hand-Shake - название условное по аналогии с чем-то давно знакомым).
  4. На платформах с чипсетами VIA(начиная с KT266)/SiS(начиная с 635/735) до старта в смысле x86 выполняется "НЕЧТО", обеспеченное SB и BIOS. Поэтому BIOS должен быть достоверным (!). Кстати, на nForce тоже есть нечто подобное, хотя и не такое критичное, как VIA/SiS.
  5. Предположим, что передача управления по адресу FFFF FFF0h все-таки состоялась. До инициализации первого POST кода BIOS выполняет сотни команд, в т.ч. зачастую (Award, AMI, но не Phoenix) обращается к SIO/MIO и CMOS. Если там проблема - сообщение POST не дождаться. Если есть уверенность в том, что SIO/MIO неисправен (дикий нагрев - тут мы на все 100% солидарны) - менять и не думать. Думать будем, если это не помогло:) Тут следует заметить, что если принято решение о замене SIO, то иногда следует снять два буфера RS-232, были случаи, когда пробитый преобразователь RS232-TTL выжигал переустановленный SIO. Работы тут мало, а спокойствие дороже. Но если буфер выполнен "нестандартно", например, как у ITE или у старых Winbond, то прежде чем снимать, полезно обратиться к документации.
  6. Если это не помогло: кроме SIO/MIO на старт влияет система мониторинга (если она в SIO/MIO, то этот пункт можно и не читать), особливо ея датчики. На старых платах это что-то типа LM75. Датчики снять. Так же не будет лишним проверить на соответствие Hardware Monitor Interface (Например, Epox 3PTA, нет RESETа, на SIO не было сигнала FAN1in, выяснилось до замены SIO). В некоторых случаях настроение системной платы зависит и от звуковых чипов, сетевых чипов, прочих разных подключенных к PCI/LPC/ISA. Особенно, если они что-то там просаживают, коротят и т.п. Особенно упорные ремонтники в таких случаях на плате оставляют только чипсет, и смотрят жив ли он:)
  7. Как посмотреть, жив ли чипсет. Можно осциллографом, если есть время, осциллограф и навыки по работе с ним. Можно просто заменить чипсет, если плата того стоит и в изобилии комплектующие. Наши партнеры доложили, что они при снятом SIO ставят тестовый BIOS, и если он выполняется, то плату есть надежда поднять без BGA-операций. Но это вопрос спорный, ибо для различных SIO есть свои варианты:
    1. SIO с Flash ROM Interface (W83697HF);
    2. SIO с раздельными шинами DATA/ADDRESS(FDC37M602);
    3. LPC Inerface.
  8. Если в течение ~10 сек. процессор не выполнит инициализацию SIO, чип аппаратного мониторинга в системный динамик выведет последовательность звуковых сигналов типа "сирена". Если чип системного мониторинга в отдельном корпусе (на BX, например), то сирена будет без процессора, без BIOS и без чипа SIO. Естественно, это только в том случае, если обеспечено питание и тактирование этого самого HW-мониторинга.