Коды и диагностические сообщения POST BIOS различных компаний
Ниже рассмотрены типичные коды ошибок и наиболее распространенные диагностические сообщения, генерируемые POST BIOS, производства различных компаний. Несмотря на то, что предложенная информация охватывает программные продукты, появившиеся в различные годы, основные информационные параметры тестов актуальны и для диагностики неисправностей современных компьютеров.
С дополнительными материалами и диагностическими сообщениями конкретных BIOS читатели могут познакомиться в документации, поставляемой с системными платами ПК, а также на Web узлах компаний производителей компьютерных компонентов.
Знакомство с POST кодами Award BIOS Medallion V 6.0
POST коды Award BIOS Medallion V 6.0 являются одной из наиболее популярных систем для современных ПК. Начиная с 1999 года этот программный продукт не сколько раз модернизировался, что, в целом, не существенно сказалось на его структуре, состоящей из трех фаз инициализации аппаратного обеспечения ранней (Early), позд ней (Late) и финальной (System). На алгоритмических особенностях Award BIOS Medallion отразилось появление новых технологий, современных компьютерных компонентов. Су щественные изменения в процедурах были вызваны также отказом от применения уста ревших шин и устройств.
POST-коды Award BIOS Medallion V 6.0
POST-код (hex) Выполненная проверка
Выполнение стартовых процедур POST из Flash BIOS
CF Раннее определение типа процессора. Запись результатов в CMOS. Функциональный тест чтения/записи CMOS.
Если определение типа процессора или запись в CMOS закончились неудачей, устанавливается фатальная ошибка операции и выполнение POST останавливается
C0 Предварительная инициализация чипсета.
Запрет областей теневого ОЗУ, отключение кэша L2. Очистка кэша L1.
Программирование следующих базовых регистров чипсета.
- Контроллеров прерываний: прием по фронту IRQ, Master Controller — IRQ 00h=INT 8...IRQ 7=INT 0Fh, Slave Controller — IRQ 8= INT 70h...IRQ 15=INT 77h.
- Интервального таймера: Counter 0 — режим деления частоты на 65 536 (18,2 Гц) для генерации запросов IRQ 0 системных часов. Counter 1 — выработка импульсов для регенерации DRAM (128 циклов выполняется за 2 мс или интервал между регенерацией двух строк составляет около 15 мкс). Counter 2 — используется для озвучивания системного динамика.
- RTC инициализируется в том случае, если произошел сбой питания от аккумулятора. Если сбоя Vcc (bat) не было, то инициализируются только регистры, отвечающие за взаимодействие RTC и процессора, но не часы
C1
|
Проверка типа, объема, старшего адреса и ECC ОЗУ. Проверка первых 256 Кбайт ОЗУ.
|
|
Организация в этой области транзитного буфера, в который из Flash BIOS
|
|
копируется Boot Block для проверки контрольных сумм
|
0C
|
Проверка контрольной суммы BIOS и наличия метки BBSS. Если проверки некорректны,
|
|
принимается решение о частичном повреждении ИМС Flash BIOS. Если проверки
|
|
корректны, то в буфер копируется программа распаковки системной BIOS
|
C3
|
Распаковка системной BIOS в ОЗУ, копирование в ОЗУ факультативной системы
|
|
BIOS. Подготовка к затенению BIOS
|
C5
|
Копирование выполняемого кода POST в область E000h-F000h теневого ОЗУ.
|
|
Передача управления модулю Boot Block.
|
|
Начало выполнения POST из теневого ОЗУ.
|
Проверка целостности структуры BIOS. Если контрольные суммы проверки служебных полей BIOS совпадают, выполнение проверки ОЗУ продолжается, в противном случае управление передается программам восстановления BIOS
Выполнение POST в теневом ОЗУ (Shadow RAM)
1 По физическому адресу 1000:0000h распаковывается модуль BIOS — программа XGROUP, позволяющая установить все ресурсы системной платы, включая системный таймер, контроллеры прерываний и ПДП, математический сопроцессор и видеоконтроллер по умолчанию
3 Выполнение ранней инициализации чипа Super I/O, первый этап был выполнен на шагах алгоритма CFh и C0h
5 Установка начальных атрибутов видеосистемы.
Проверка флага состояния CMOS, его содержимое обнуляется
7 Сброс входного и выходного буферов контроллера клавиатуры (совместимого с ИМС 8042 или 8742). Контроллер входит в состав чипа Super I/O системной
платы. Самотестирование, инициализация контроллера клавиатуры. Разрешается подключение интерфейса клавиатуры
На данном этапе прием скан-кодов с клавиатуры и их обработка контроллером 8742 и процессором невозможны, поскольку запрещены прерывания, не подготовлена область данных BIOS, а клавиатура не инициализирована. Настройки Setup BIOS не должны противоречить выполнению последовательности POST
08
|
Запрет подключения интерфейса компьютерной мыши PS/2.
|
|
Определяется тип интерфейса клавиатуры (PS/2 или AT/DIN). Программируется
|
|
контроллер клавиатуры. Разрешается использование клавиатуры
|
0A
|
Интерфейс PS/2-мыши еще запрещен.
|
|
Для некоторых систем — определение портов, к которым подключены PS/2-клавиатура
|
|
и мышь, что может вызвать переназначение портов
|
0E
|
Проверка теневого сегмента F000h циклами чтения и записи. Данная область
|
|
будет использоваться для DMI и ESCD. Если проверка некорректна, то
|
|
вырабатывается звуковой сигнал и код ошибки EFh выводится в порт 0080h
|
EF
|
Если записанные и считанные данные из сегмента F000h не совпадают,
|
|
констатируется ошибка и выполнение POST останавливается
|
10 Определение типа установленной Flash BIOS. Проверка позволяет выбрать для BIOS соответствующую программу записи, с помощью которой загружается специальная команда Read Intelligent Identifier. Команда используется также процедурами модификации блоков ESCD и DMI, которые могут быть перезаписаны как при загрузке, так и после нее — при обращении приложений к функциям Plug and Play или DMI.
Код BIOS, выполняемый в рабочем сеансе, будет декодирован и переписан в область Run-time area (F000h).
Программирование регистров чипсета
12 Выполнение цепочки тестов CMOS. В часах RTC устанавливается режим питания. Ячейки CMOS используются в дальнейшем для хранения промежуточных результатов в ходе процедуры инициализации. В частности, в ячейки загружаются значения по умолчанию
14 Выполнение ранней инициализации чипсета. На первом этапе программируются ресурсы, недоступные разработчику системной платы. На втором этапе в регистры чипсета загружаются значения, изменяемые с помощью утилиты MODBIN. Становится возможной тонкая настройка ОЗУ и устройств PCI
16 Ранняя инициализация системного тактового генератора — установка значений по умолчанию
18 Определение параметров процессора: компании производителя, семейства, поколения, определение вида и объема кэша L1 и L2, типа SMI. Выполнение функции команды CPUID (коды и архитектура процессоров различных производителей отличаются).
Проверка регистров процессора, измерение тактовой частоты ядра процессора. После выполнения функции результат размещается в 128-разрядном слове, образованном ячейками регистров центрального процессора — EAX+EBX+ECX+EDX. Для расшифровки значения используемого кэша код сдвигается и перемещается в регистр AL
1B
|
Инициализация таблицы векторов прерываний (объем 1 024 байта, 256 типов
|
|
прерываний). На данном этапе устанавливаются типы для 32 векторов (INT 00h-
|
|
INT 1Fh), указывающих на процедуры BIOS.
|
|
Выполнение проверок, направленных на обеспечение требований Y2K
|
1C
|
Проверка контрольной суммы CMOS и соответствия напряжения питания
|
|
аккумулятора номиналу. Если выявлены ошибки — устанавливаются значения по
|
|
умолчанию, задаваемые производителем системной платы
|
|
|
На данном этапе прием скан-кодов с клавиатуры и их обработка контроллером 8742 и процессором невозможны, поскольку запрещены прерывания, не подготовлена область данных BIOS, а клавиатура не инициализирована. Настройки Setup BIOS не должны противоречить выполнению последовательности POST
1D
|
В однопроцессорных системах выполняется начальная настройка системы
|
|
Power Management
|
1F
|
Загрузка из внешнего модуля XGROUP клавиатурной матрицы для ноутбука.
|
|
Матрица представляет собой таблицу перекодировок значений, вводимых
|
|
клавишами <Fn>
|
21 Инициализация системы Hardware Power Management для ноутбуков.
Формирование таблицы физических параметров, структуры для обслуживания автономного аккумуляторного питания, функций энергосбережения при работе жестких дисков, а также операций сохранения образа ОЗУ на диске
23 Обнаружение математического сопроцессора.
Проверка количества цилиндров — 40 или 80, а также типа установленного флоппи-диска.
Выполнение ранней инициализации чипсета.
Подготовка карты ресурсов BIOS, предназначенной для дальнейшей инсталляции устройств Plug and Play, а также УВВ на шине PCI
24 В процессорах поколений Intel P6 и P7 предусмотрена возможность организации доступа к памяти микропрограмм, в которой содержатся алгоритмы выполнения каждой машинной команды. На данном этапе в микрокод микропрограмм могут быть внесены изменения, позволяющие модернизировать алгоритмы или ввести новые микрокоды, предназначенные для новых машинных команд. Процедура обновления микрокода выполняется следующим образом.
- С помощью команды CPUID идентифицируется процессор и определяются его параметры — тип (Type), семейство (Family), модель (Model) и коэффициент умножения частоты (Stepping).
- Из модуля обновления микрокода, хранимого в BIOS, считывается нужный блок объемом 2 048 байт и распаковывается не в ОЗУ, а в SM RAM.
- Обновляется микрокод процессора.
Для некоторых процессоров Intel выполняется дополнительная идентификация. Обновляется карта распределения ресурсов
Инициализируются устройства Plug and Play. Информация о ресурсах, затребованных устройствами Plug and Play, обновляется на основании сканирования данных из CMOS, расширений BIOS, расположенных на шинах расширения УВВ, а также информации, хранящейся в блоке данных ESCD. Запись данных в ESCD откладывается на финальную стадию выполнения POST
25 Ранняя инициализация PCI. Перечисление устройств на шине. Назначение ресурсов ОЗУ и УВВ.
Поиск устройства видеосистемы, расширения BIOS и запись информации в область C000:0h (сегментный адрес в регистре CS:адрес смещения в регистре IP)
26 Настройка логики, обслуживающей линии Vendor Identification.
Завершение инициализации системного тактового генератора. Отключение синхронизации неиспользуемых слотов DIMM и PCI.
Инициализация системы мониторинга напряжений и температур, выполняемая в соответствии с типом системной платы
На данном этапе прием скан-кодов с клавиатуры и их обработка контроллером 8742 и процессором невозможны, поскольку запрещены прерывания, не подготовлена область данных BIOS, а клавиатура не инициализирована. Настройки Setup BIOS не должны противоречить выполнению последовательности POST
27 Разрешение прерывания INT 09h. Повторная инициализация контроллера клавиатуры на основе новых данных (таблицы векторов прерываний, инициализации чипсета).
Для BIOS формируется 16-символьный буфер ввода и устанавливается область памяти для полноценного функционирования
29 Программирование регистров MTRR процессора поколения Р6, а также инициализация контроллера APIC процессоров Pentium.
|
Программирование чипсета (например, контроллера IDE) в соответствии
|
|
с установками в CMOS.
|
|
Измерение внутренней частоты процессора.
|
|
Вызов расширения BIOS видеосистемы
|
2D
|
Инициализация модуля многоязычности.
|
|
Посылка данных для отображения на экране дисплея (заставка Award, тип
|
|
процессора и его скорость)
|
33
|
Программирование чипа Super I/O
|
3E
|
Проверка битов маскирования канала 1 контроллера прерываний (совместимого
|
|
с ИМС 8259)
|
40 Проверка битов маскирования канала 2 контроллера прерываний (совместимого с ИМС 8259)
43
|
Проверка функционирования контроллера прерываний (совместимого с ИМС 8259)
|
49
|
Подсчет общей памяти проверкой каждого двойного слова в каждой странице 64 Кбайт.
|
|
Запись программы, предназначенной для проверки процессоров семейства AMD
|
4E
|
Программирование регистров MTRR процессора семейства Syrix. Инициализация
|
|
кэша L2 процессоров поколения P6, а также инициализация APIC для P6
|
50
|
Инициализация шины USB
|
52
|
Проверка всей памяти, очистка расширенной памяти
|
55 Для многопроцессорной платформы выполняется отображение числа процессоров
57 Отображение экрана логотипа Plug and Play. Ранняя инициализация устройств Plug and Play
59 Активизация ресурса антивирусной защиты — интегрированного антивирусного средства Trend Anti-Virus
5B
|
Факультативная функция отображения сообщения для вводимой с флоппи-диска
|
|
утилиты обновления BIOS — AWDFLASH.EXE
|
5D
|
Подключение интегрированных модулей — Super I/O и аудиосистемы
|
60 Этап, позволяющий загрузить программу Setup.
До этой стадии POST вы должны успеть нажать соответствующую клавишу
65 Инициализация компьютерной мыши PS/2
67 Подготовка информации для адресного пространства, предназначенного для функции вызова: INT 15h (содержимое регистра AX=E820h)
На данном этапе прием скан-кодов с клавиатуры и их обработка контроллером 8742 и процессором невозможны, поскольку запрещены прерывания, не подготовлена область данных BIOS, а клавиатура не инициализирована. Настройки Setup BIOS не должны противоречить выполнению последовательности POST
69
|
Включение кэша L2
|
6B
|
Программирование регистров чипсета в соответствии с элементами, описанными
|
|
в Setup и в таблице автоконфигурирования
|
6D
|
Назначение ресурсов для всех устройств Plug and Play.
|
|
Автоматическое распределение COM-портов для интегрированных устройств
|
|
в том случае, если установлена опция Setup “AUTO”
|
6F
|
Инициализация контроллера флоппи-дисков.
|
|
Дополнительная настройка регистров флоппи-диска
|
73 Факультативная функция ввода утилиты обновления BIOS AWDFLASH.EXE, если она находится на флоппи-диске и выбрана комбинация клавиш <Alt+F2>
75 Обнаружение и инсталляция всех IDE-устройств: жестких дисков, LS-120, ZIP, CD-R/RW, DVD и т.д.
77
|
Обнаружение последовательных и параллельных портов
|
7A
|
Обнаружение и инсталляция математического сопроцессора
|
7F
|
Переключение в текстовый режим.
|
|
Полноэкранное отображение логотипа EPA или производителя.
|
Если обнаружена ошибка, выводится соответствующее сообщение, и программа ожидает нажатия клавиши.
Если ошибка не обнаружена или нажата клавиша <F1>, выполнение POST продолжается.
Очистка заставки с логотипом EPA или производителя
На данном этапе все основные процедуры инициализации завершены. Выполняется подготовка к загрузке операционной системы, составляются необходимые для этого таблицы, формируются массивы, структуры
82 В зависимости от типа чипсета и системной платы в ОЗУ выделяется область для управления питанием.
В таблицу ESCD вносятся последние изменения, связанные с управлением питанием.
После снятия заставки с логотипом EPA видеорежим восстанавливается. Запрос пароля, если таковой предусмотрен установками CMOS
83 Восстановление данных из стека временного хранения в CMOS
84 Вывод на экран сообщения “Initializing Plugand Play Cards...” об обнаруженных ранее устройствах Plug and Play и параметрах
85 Завершение инициализации USB.
Определение порядка загрузки с жестких дисков SCSI
87 Переключение видеосистемы на текстовый режим работы.
Построение таблиц SYSID в области DNI согласно спецификации “System Management BIOS”.
Для обслуживания сетевых устройств создается идентификатор UUID (Universal Unique ID), а также идентификатор для загрузки с устройств Fire Wire IEEE 1394
На данном этапе все основные процедуры инициализации завершены. Выполняется подготовка к загрузке операционной системы, составляются необходимые для этого таблицы, формируются массивы, структуры
89 Если программой Setup предусмотрено использование протокола ACPI, в верхнюю область адресного пространства 4 Гбайт вставляются соответствующие таблицы
8B
|
Сканирование в пространстве PCI расширений BIOS, предназначенных для
|
|
реализации протокола AOL (Alert On LAN). Инициализация средств AOL
|
8D
|
Разрешение использования логических средств поддержки немаскированного
|
|
прерывания NMI.
|
|
Разрешение использования контроля четности модулей ОЗУ
|
8F
|
Для горячего подключения мыши PS/2 разрешается линия IRQ 12.
|
|
Обслуживание линии IRQ 11, нормализация параметров шумовых помех линий
|
|
запросов прерываний
|
91 Подготовка условий для обслуживания жестких дисков в режиме Power Management. Операции подобного типа (Suspend to RAM) могут быть реализованы в рабочем сеансе операционной системы.
Установка переменных BIOS, хранящих базовые адреса последовательных и параллельных портов, которые располагают программами расширения BIOS
93 Подготовка к сохранению информации о разделах загрузочных устройств
94 Если Setup предусмотрена, включается кэш L2. Программируется параметр Boot Up Speed.
Завершение инициализации чипсета и системы управления питанием.
Снятие стартовой заставки BIOS, на экран монитора выводится таблица распределения ресурсов.
Настройка регистров процессоров семейства AMD K6. Завершающее обновление регистров процессоров семейства Intel P6.
Окончательная инициализация подсистемы удаленной загрузки Remote Pre Boot
95 Установка режима автоматического перехода на зимнее/летнее время Daylight Saving.
Программирование контроллера клавиатуры на число нажатий в секунду и время ожидания до входа в режим автоповтора.
Чтение идентификатора клавиатуры KBD ID.
Для 101-кнопочной клавиатуры устанавливается флаг NumLock в соответствии с информацией CMOS
96 Сохранение информации о разделах загрузочных устройств.
В многопроцессорных системах выполняется завершающая настройка системы, формируются служебные таблицы и поля, используемые в рабочем сеансе операционной системы.
Настройка регистров процессоров семейства Cyrix.
Заполнение и корректировка таблицы ESCD в соответствии с состоянием системы Power Management устройств Plug and Play и ATAPI.
Корректировка CMOS в соответствии с требованиями протокола Y2K.
Установка счетчика системных часов DOS Time в соответствии с показаниями RTC CMOS. Значение времени из формата “часы:минуты:секунды” пересчитывается
в такты (временные интервалы следования импульсов) интервального таймера 18,2 Гц и записывается в область переменных BIOS — DOS Time.
На данном этапе все основные процедуры инициализации завершены. Выполняется подготовка к загрузке операционной системы, составляются необходимые для этого таблицы, формируются массивы, структуры
Сохранение разделов устройств загрузки для дальнейшего использования интегрированными антивирусными средствами Trend Anti-Virus и Paragon Anti-Virus Protection.
|