Вы включили компьютер, появляется текстовый экран
загрузки на котором быстро мелькают цифры и буквы. Обычно, компьютер
работает нормально, и Вы не обращаете внимание на них. Но это важная
часть работы компьютера в процессе которой работают микропрограммы
встроенные в BIOS. Но вот случилось что-то
непонятное и все остановилось, на экран выводится код ошибки, а
иногда вообще ничего не выводится - мигает курсор и все застыло в
непонятном сне.
Как это работает
После включения компьютера в его оперативной памяти нет
операционной системы. А без операционной системы,
аппаратное обеспечение компьютера не может выполнять сложные
действия, такие как, например, загрузку программы в память. Таким
образом возникает парадокс, который кажется неразрешимым:
для того, чтобы загрузить операционную систему в память, мы уже
должны иметь операционную систему в памяти.
Решением данного парадокса является использование нескольких
микропрограмм размещаемых в одной или нескольких микросхемах, BIOS (Basic
Input/Output System). Процесс загрузки
начинается с автоматического выполнения
процессором команд, расположенных в
постоянной (или перезаписываемой) памяти (EEPROM
или Flash ROM), начиная с
заданного адреса. Эти микропрограммы не обладает всей
функциональностью операционной системы, но её (функциональности) достаточно для того,
чтобычтобы выполнить последовательную
загрузку других программ, которые выполняются друг за другом до
тех пор, пока последняя из них не загрузит операционную систему.
Последовательность основных блоков функций
BIOS в PC-совместимых
компьютерах:
1. - POST - самотестирование при
включении питания процессора, памяти, набора микросхем системной
логики, видеоадаптера, контроллера дисков, клавиатуры, мыши и других
контроллеров и устройств;
2. - Setup BIOS (программа
установки параметров BIOS) - конфигурирование параметров системы. Она может быть запущена во
время выполнения процедуры POST при
нажатии определенной комбинации клавиш. Если она не была вызвана
пользователем, загружаются параметры установленные и сохраненные в
постоянной памяти во время последнего
конфигурирования Setup BIOS.
3. - Загрузчик операционной системы - подпрограмма, выполняющая
поиск действующего основного загрузочного сектора на дисковом
устройстве.
4. - BIOS - набор драйверов,
предназначенных для взаимодействия операционной системы и
аппаратного обеспечения при загрузке системы.
В процессе загрузки BIOS
осуществляется, кроме перечисленного, подключение, отключение,
установка режима работы контроллеров устройств системной платы в
соответствии с настройками записанными в постоянную память.
Зачем это нужно?
Это нужно для:
проверки исправности и поэтому готовности к работе аппаратного обеспечения
системной платы;
проверки готовности работы внешнего аппаратного обеспечения,
в том числе его параметров и исправности, а так же соответствие
его необходимому минимуму, который позволит управлять компьютером до и после
загрузки;
проверки возможности загрузки операционной системы.
В процессе его выполнения проверяется наличие загрузочных устройств которые должны быть проинициализировано до
загрузки операционной системы.
К ним относятся:
устройства ввода
(клавиатура, мышь),
базовое устройство вывода (дисплей),
устройство, с которого будет произведена загрузка ОС — дисковод,
жесткий диск, CD-ROM, флэш-диск, SCSI-устройство, сетевая карта (при
загрузке по сети)
Затем BIOS опрашивает устройства, перечисляемые в заранее
созданном списке, пока не найдёт загрузочное устройство. Если такое
устройство найдено не будет, будет выведено сообщение об ошибке, а
процесс загрузки будет остановлен. Если BIOS обнаружит загрузочное
устройство, он считает с него начальный загрузчик и передаст ему
управление.
В случае жесткого диска, начальный загрузчик называется главной
загрузочной записью (MBR) и часто не зависит от операционной
системы. Обычно он ищет активный раздел жесткого диска, загружает
загрузочный сектор данного раздела и передает ему управление. Этот
загрузочный сектор, как правило, зависит от операционной системы. Он
должен загрузить в память ядро операционной системы и передать ему
управление.
Если активного раздела не существует, или загрузочный
сектор активного раздела некорректен, MBR может загрузить резервный
начальный загрузчик и передать управление ему. Резервный начальный
загрузчик должен выбрать раздел (зачастую с помощью пользователя),
загрузить его загрузочный сектор и передать ему управление.
После включения персонального компьютера его процессор еще не начинает
работу.
Первое устройство, которое запускается после нажатия кнопки
включения компьютера, — блок питания. Если все питающие напряжения
окажутся в наличии и будут соответствовать норме, на системную плату будет подан специальный сигнал Power Good,
свидетельствующий об успешном тестировании блока питания
и разрешающий запуск компонентов системной платы.
После этого чипсет формирует сигнал сброса центрального процессора,
по которому очищаются регистры процессора, и он запускается.
Первая выполняемая команда расположена по адресу FFFF0h и
принадлежит пространству адресов BIOS. Данная команда просто
передает управление программе инициализации BIOS и выполняет
следующую команду (микропрограмму BIOS).
Программа инициализации BIOS с помощью программы POST проверяет, чтовсе необходимые для работы BIOS и
последующей загрузки основной операционной системы,
устройства компьютера работают корректно и инициализирует их.
Таким
образом, его работа — последовательно читать и выполнять команды из
памяти.
Системная память сконфигурирована так, что первая команда,
которую считает процессор после сброса, будет находиться в
микросхеме BIOS.
Последовательно выбирая команды из BIOS, процессор
начнет выполнять процедуру самотестирования, или POST.
Процедура POST
Процедура самотестирования POST состоит из нескольких этапов.
Первоначальная инициализация основных системных компонентов;
Детектирование оперативной памяти, копирование кода BIOS в оперативную
память и проверка контрольных сумм BIOS;
Первоначальная настройка чипсета;
Поиск и инициализация видеоадаптера.
Современные видеоадаптеры имеют
собственную BIOS, которую системная BIOS пытается обнаружить в специально
отведенном сегменте адресов. В ходе инициализации видеоадаптера на экране
появляется первое изображение, сформированное с помощью BIOS видео адаптера;
Проверка контрольной суммы CMOS и состояния батарейки.
Если контрольная
сумма CMOS ошибочна, будут загружены значения по умолчанию;
Тестирование процессора и оперативной памяти.
Результаты
тестирования обычно выводятся на экран;
Подключение клавиатуры, тестирование портов ввода/вывода и других устройств.
Инициализация дисковых накопителей.
Сведения об обнаруженных устройствах
обычно выводятся на экран;
Распределение ресурсов между устройствами и вывод таблицы с обнаруженными
устройствами и назначенными для них ресурсами;
Поиск и инициализация устройств, имеющих собственную BIOS;
Вызов программного прерывания BIOS INT 19h, который ищет загрузочный сектор
на устройствах, указанных в списке загрузки.
В зависимости от конкретной версии BIOS порядок процедуры POST может
немного раз отличаться, но приведенные выше основные этапы
выполняются при загрузке любого компьютера.
Что такое POST-коды?
После включения питания компьютера, если исправны блок питания и
основные узлы материнской платы (генератор тактовых частот,
компоненты, отвечающие за работу системной шины и шины памяти),
процессор начинает выполнение кода BIOS.
Если быть совсем точным, во многих современных
чипсетах перед передачей команд процессору системным контроллером
предварительно конфигурируется «умная» системная шина. Но это не
меняет сути дела.
Основная задача BIOS на данном этапе — проверка исправности и
инициализация основных аппаратных компонентов компьютера. Вначале
конфигурируются внутренние регистры чипсета и процессора,
проверяется целостность кода BIOS. Затем происходит определение типа
и размера оперативной памяти, поиск и инициализация видеокарты
(интегрированной в чипсет или внешней). Следом конфигурируются порты
ввода-вывода, контроллер дисковода, IDE/SATA-контроллер и
подключенные к нему накопители. И, наконец, осуществляется поиск и
инициализация интегрированных на материнскую плату дополнительных
контроллеров и установленных карт расширения. Всего получается около
ста промежуточных шагов, после чего управление передается загрузчику
BOOTStrap, отвечающему за старт операционной системы.
Каждый из шагов POST-тестов имеет свой уникальный номер,
называемый POST-кодом. Перед началом выполнения очередной процедуры
ее POST-код записывается в специальный порт, именуемый Manufacturing
Test Port. При успешной инициализации устройства в Manufacturing
Test Port записывается POST-код следующей процедуры и так далее, до
полного прохождения всех тестов. Если сконфигурировать устройство не
удалось, дальнейшее выполнение POST-тестов прекращается, а в
Manufacturing Test Port остается POST-код процедуры, вызывавшей
сбой. Прочитав его можно однозначно идентифицировать проблемное
устройство.
Имейте в виду, после перезагрузки компьютера
средствами операционной системы («мягкая» или «горячая»
перезагрузка) или при выходе из энергосберегающего режима обычно
выполняются не все шаги по тестированию и конфигурированию
аппаратных компонентов, а только необходимый минимум — так быстрее.
При поиске неисправности необходимо всегда выполнять «жесткую»
(«холодную») перезагрузку — клавишей RESET или отключением питания
компьютера. Только так гарантируется, что все этапы инициализации
будут выполнены в полном объеме.
Award
BIOS 6.0: вариант полной загрузки
Данную таблицу можно использовать не только как список
POST-кодов, но и как последовательность действий, которые
выполняются при включении компьютера. Она содержит POST-коды,
которые отображаются при полной процедуре POST.
POST-код
Описание процедуры
CF
Определяется тип процессора и
тестируется чтение/запись CMOS
Отображается заставка Award,
информация о типе процессора и его скорости
33
Сбрасывается клавиатура
35
Тестируется первый канал DMA
37
Тестируется второй канал DMA
39
Тестируются страничные регистры
DMA
3C
Настраивается контроллер 8254
(таймер)
3E
Проверка контроллера прерываний
8259
43
Проверяется контроллер прерываний
47
Тестируются шины ISA/EISA
49
Вычисляется объем оперативной
памяти. Настраиваются регистры для процессора AMD K5
4E
Программируются регистры MTRR для
процессоров Syrix. Инициализируются кэш L2 и APIC
50
Определяется шина USB
52
Тестируется ОЗУ с отображением
результатов. Очищается расширенная память
53
Если выполнена очистка CMOS, то
сбрасывается пароль на вход в систему
55
Отображается количество
процессоров (для многопроцессорных платформ)
57
Отображается логотип EPA.
Начальная инициализация устройств ISA PnP
59
Определяется система защиты от
вирусов
5B
Вывод подсказки для запуска
обновления BIOS с дискеты
5D
Запускается контроллер Super I/O и
интегрированный аудиоконтроллер
60
Вход в CMOS Setup, если была
нажата клавиша Delete
65
Инициализируется мышь PS/2
69
Включается кэш L2
6B
Настраиваются регистры чипсета
согласно BIOS Setup
6D
Назначаются ресурсы для устройств
ISA PnP и COM-порты для интегрированных устройств
6F
Инициализируется и настраивается
контроллер гибких дисков
75
Детектируются и устанавливаются
IDE-устройства: жесткие диски, CD/DVD, LS-120, ZIP и др
76
Выводится информация об
обнаруженных IDE-устройствах
77
Инициализируются последовательные
и параллельные порты
7A
Сбрасывается и готовится к работе
математический сопроцессор
7C
Определяется защита от
несанкционированной записи на жесткие диски
7F
При наличии ошибок выводится
сообщение и ожидается нажатие клавиш Delete и F1
82
Выделяется память для
управления питанием и заносятся изменения в таблицу ESCD.
Убирается заставка с логотипом EPA. Запрашивается
пароль, если нужен
83
Все данные сохраняются из
временного стека в CMOS
84
Вывод на экран сообщения
Initializing Plug and Play Cards
85
Завершается инициализация USB
87
Создаются таблицы SYSID в области
DMI
89
Устанавливаются таблицы ACPI.
Назначаются прерывания для PCI-устройств
8B
Вызывается BIOS дополнительных ISA-
или PCI-контроллеров, за исключением видеоадаптера
8D
Устанавливаются параметры контроля
четности ОЗУ по CMOS Setup. Инициализируется APM
8F
IRQ 12 разрешается для «горячего»
подключения мыши PS/2
94
Завершение инициализации чипсета.
Отображение таблицы распределения ресурсов. Включение
кэша L2. Установка режима перехода на летнее/зимнее
время
95
Устанавливается частота
автоповтора клавиатуры и состояния Num Lock
96
Для многопроцессорных
систем настраиваются регистры (для процессоров Cyrix).
Создается таблица ESCD. Устанавливается таймер DOS Time
по показаниям часов RTC CMOS. Сохраняются разделы
загрузочных устройств для использования встроенным
антивирусом. Динамик оповещает об окончании POST.
Создается таблица MSIRQ FF Выполняется прерывание BIOS
INT 19h. Поиск загрузчика в первом секторе загрузочного
устройства
Невыполнение или сбой выполнения любого шага в
последовательности тестов приводит к остановке тестирования и выдаче
POST - кода соответствующего данному шагу
сбоя.
POST - коды других
производителей можно найти на сайтах производителя Вашей системной
платы или производителя DIOS или в
Internet.
Чтение
POST-кодов
В мастерских или у занимающихся ремонтом специалистов контроль
выполнения микропрограмм BIOS
осуществляется с помощью специальной карты расширения. Она вставляется в
свободный слот (большинство современных моделей рассчитано на шину PCI) и по мере загрузки отображает на своем индикаторе код
выполняемой в текущий момент процедуры.
Примером может быть Post карта PCI BM9222.
Однако POST-карта это не широко распространенное средство. Скорее, это инструмент профессионального ремонтника
компьютеров. Осознавая данный факт, производители материнских плат
стали оснащать модели, рассчитанные на энтузиастов
экспериментирующих с настройками и разгоном компьютера, встроенными
индикаторами POST-кодов.
Примером может быть системная плата ECS H67H2-M,
или модели X58 Extreme3, P55 Deluxe3 и 890GX
Extreme3.
Встречается и более дешевое решение — во время начальной
инициализации компонентов POST-коды могут отображаться на экране
наряду с другой служебной информацией. Правда у этого
решения есть существенный недостаток: если проблема связана с
видеокартой, вы, скорее всего, ничего не увидите.
Последняя возможность узнать о сбое проявившемся при тестировании
Звуковые сигналы сообщений об ошибках.
Звуковые сигналы и сообщения об ошибках
Несмотря на то, что POST-коды являются самым мощным инструментом
по выявлению аппаратных проблем при старте компьютера, BIOS
предоставляет и другие средства диагностики. Если в вашем
распоряжении нет POST-карты, а материнская плата не умеет
индицировать POST-коды, можно ориентироваться на звуковые сигналы и
сообщения об ошибках.
Но для этого необходимо, чтобы в корпусе ПК имел системный
динамик и он был подключен к системной платы.
Звуковые сигналы особенно ценны на начальном этапе, когда
видеокарта еще не проинициализирована и, как следствие, не в
состоянии отобразить что-либо на экране. Уникальная комбинация
длинных и коротких сигналов укажет на проблемный компонент.
На более поздних этапах проще сориентироваться по сообщению об
ошибке, выводимому BIOS в случае аппаратной проблемы. В некоторых
версиях BIOS это сообщение сопровождается особым звуковым сигналом,
в некоторых — заменяет его. Но в любом случае информации обычно
достаточно, чтобы выявить сбоящий компонент.
Надо заметить, что звуковые сигналы и сообщения об
ошибках фактически являются более наглядным вариантом отображения
определенных POST-кодов, а отнюдь не дополнительным средством
диагностики. Если в вашем распоряжении есть POST-карта, либо
материнская плата способна отображать POST-коды, ориентироваться
надо именно на коды — они дают гораздо более точную и детальную
картину. Сравните хотя бы количество POST-кодов (около ста) и
количество различных сообщений об ошибках или звуковых сигналов
(несколько десятков).
Последовательность звуковых сигналов
Описание ошибки
1 короткий
Успешный POST
2 коротких
Обнаружены незначительные ошибки.
На экране монитора появляется предложение войти в
программу CMOS Setup Utility и исправить ситуацию.
Проверьте надежность крепления шлейфов в разъемах
жесткого диска и материнской платы.
3 длинных
Ошибка контроллера клавиатуры
1 короткий, 1 длинный
Ошибка оперативной памяти (RAM)
1 длинный, 2 коротких
Ошибка видеокарты
1 длинный, 3 коротких
Ошибка при инициализации
клавиатуры или Ошибка видеокарты
1 длинный, 9 коротких
Ошибка при чтении из ПЗУ
Повторяющийся короткий
Проблемы с блоком питания
Повторяющийся длинный
Проблемы с ОЗУ
Повторяющаяся высокая-низкая
частота
Проблемы с CPU
Непрерывный
Проблемы с блоком питания
Процедура Setup
Вход в BIOS
Setup
Вход в BIOS Setup возможен только при включении компьютера и при
успешном выполнении первоначального тестировании POST (слышен один короткий сигнал из
системного динамика).
Для этого необходимо нажать определенную клавишу или
сочетание клавиш.
Обычно на экранной заставке при тестировании
отображается надпись типа «Press DEL to enter Setup» — это означает,
что для входа в BIOS Setup необходимо нажать клавишу DEL. Узнать, за
которой клавишей закреплен вход в BIOS, можно из инструкции к
материнской плате. Если инструкции нет, а экранная заставка не
отображает подсказки, можно опробовать наиболее известные варианты
комбинаций:
Delete
Esc
Ctrl + Shift + S или Ctrl + Alt + S
Ctrl + Alt + Esc
Ctrl + Alt + Delete
Безопасная работа с BIOS Setup
Работа с BIOS Setup связана с определенным
риском, поскольку при неправильном или
неосторожном изменении параметра система может
функционировать нестабильно либо не
функционировать вообще. Есть несколько простых
советов, которые позволяют свести возможный риск
к минимуму:
Экспериментировать с настройками BIOS
Setup лучше всего на новом не заполненном информацией
компьютере;
Старайтесь вообще не экспериментировать
с BIOS на компьютерах, обрабатывающих или
хранящих важную или объемную информацию.
Перед настройкой системы с помощью BIOS
позаботьтесь о резервном копировании важных
данных. Главное в таких компьютерах —
стабильность. Подвисший разогнанный
компьютер через несколько часов обработки
видео — это потеря времени, электроэнергии и
результата работы. Неразогнанный справится с
данной задачей гораздо эффективнее и сохранит ваши нервы;
Прежде, чем изменить важные параметры, всегда фиксируйте
выставленное и измененное значение. Это позволит вам в случае
нестабильной работы системы вернуть ее в рабочее состояние;
Не изменяйте значения параметров,
которые вам неизвестны. Уточните их значение
либо в инструкции к материнской плате, либо
в сети Internet на ресурсе разработчика
платы;
Не редактируйте за раз несколько важных не связанных между
собой параметров. При нестабильной работе системы гораздо
сложнее определить, какой параметр вызвал нестабильную работу;
Не разгоняйте компьютер без соответствующей изучения работы
разгоняемой системы и подготовки;
Не используйте раздел Hard Disk Utility,
который предназначен для низкоуровневого
форматирования устаревших моделей жестких
дисков и встречается в старых версиях BIOS,
т.к. может вывести из строя современный жесткий диск;
Если после выставления параметров и
выхода из BIOS компьютер перестает
запускаться вообще, вернуть систему в рабочее состояние можно
несколькими способами:
Если после перезагрузки компьютера
возможно войти в BIOS Setup, нужно
установить прежние значения
отредактированных параметров. Некоторые
версии BIOS сами осуществляют откат
изменений за последнюю сессию.
Если сделанные изменения неизвестны, то
лучше воспользоваться параметрами по
умолчанию, использовав команду Load
Fail-Safe Defaults. После этого придется
настраивать систему на оптимальную работу.
Если компьютер вовсе не запускается
из-за неправильных настроек BIOS, то в таком
случае необходимо обнулить содержимое CMOS.
При этом все значения включая дату/время
будут изменены. Для этого сбросить неправильные установки, для этого просто переместить
перемычку Flash Recovery (IBM)или джампер Clearing CMOS в
положение "очистка CMOS". В последнем
случае нужно просто замкнуть перемычкой на несколько минут контакты
соответствующего джампера.
В случае неудачных результатов настройки Setup
BIOS, необходимо после сброса неудачной конфигурации с
помощью джампера в процедуре Setup BIOS
продублировать возвращение загрузку значений BIOS
по
умолчанию с помощью команды
"Load Fail-Safe Defaults". Ваша система вернется в исходное состояние.
В Award BIOS 6.0 это строка меню
Setup BIOS - "Load
Optimized Defaults"или
"Load Fail-Safe Defaults" в этом случае
загружается исходная настройки Setup BIOS.
P.S.
Собственный BIOS имеется и на других
платах устанавливаемых в компьютер, например:
При полном или частичном использовании материалов ссылка на "www.electrosad.ru" обязательна. Ваши замечания, предложения, вопросы можно отправить
автору почтой.