Возможности BIOS по диагностике аппаратных проблем

Вы включили питание компьютера — на экране отобразилась заставка производителя или мелькают текстовые пояснения, сопровождающие процесс инициализации аппаратных компонентов, привычно пискнул спикер, сигнализирующий об успешном прохождении всех POST-тестов, началась загрузка операционной системы… Картина настолько обыденна, что многие просто не обращают на нее внимания. Но вот что-то пошло не так и вместо привычных «окон» на мониторе высветились непонятные сообщения об ошибках. Или, хуже того, экран так и остался темным, а единственный признак «жизни» компьютера — прерывистый писк системного спикера…

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

На самом деле с ошибками, возникающими в процессе либо после загрузки операционной системы, все не так просто. Чаще всего вина за них действительно лежит на программном обеспечении («слетевшая» операционная система, некорректно работающие драйверы, компьютерный вирус и т.д.). Но нередко нестабильная работа — следствие сбоев отдельных аппаратных компонентов (например, оперативной памяти). Выявление причины подобных ошибок — зачастую весьма нетривиальная задача, требующая запуска множества тестов, проверяющих стабильность работы компьютера. (Вы ведь не меняли никаких настроек в BIOS Setup, не пытались разогнать компьютер? Если пытались, верните прежние значения.)

Что такое POST-коды?

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

Если быть совсем точным, во многих современных чипсетах перед передачей команд процессору системным контроллером предварительно конфигурируется «умная» системная шина. Но это не меняет сути дела.

Основная задача BIOS на данном этапе — проверка исправности и инициализация основных аппаратных компонентов компьютера. Вначале конфигурируются внутренние регистры чипсета и процессора, проверяется целостность кода BIOS. Затем происходит определение типа и размера оперативной памяти, поиск и инициализация видеокарты (интегрированной в чипсет или внешней). Следом конфигурируются порты ввода-вывода, контроллер дисковода, IDE/SATA-контроллер и подключенные к нему накопители. И, наконец, осуществляется поиск и инициализация интегрированных на материнскую плату дополнительных контроллеров и установленных карт расширения. Всего получается около ста промежуточных шагов, после чего управление передается загрузчику BOOTStrap, отвечающему за старт операционной системы.

Имейте в виду, после перезагрузки компьютера средствами операционной системы («мягкая» или «горячая» перезагрузка) или при выходе из энергосберегающего режима обычно выполняются не все шаги по тестированию и конфигурированию аппаратных компонентов, а только необходимый минимум — так быстрее. При поиске неисправности необходимо всегда выполнять «жесткую» («холодную») перезагрузку — клавишей RESET или отключением питания компьютера. Только так гарантируется, что все этапы инициализации будут выполнены в полном объеме.

Каждый из шагов POST-тестов имеет свой уникальный номер, называемый POST-кодом. Перед началом выполнения очередной процедуры ее POST-код записывается в специальный порт, именуемый Manufacturing Test Port. При успешной инициализации устройства в Manufacturing Test Port записывается POST-код следующей процедуры и так далее, до полного прохождения всех тестов. Если сконфигурировать устройство не удалось, дальнейшее выполнение POST-тестов прекращается, а в Manufacturing Test Port остается POST-код процедуры, вызывавшей сбой. Прочитав его можно однозначно идентифицировать проблемное устройство.

Чтение POST-кодов

Достаточно долгое время чтение POST-кодов можно было осуществить только с помощью специальной карты расширения (рис. 1). Она вставляется в свободный слот (большинство современных моделей рассчитано на шину PCI) и по мере загрузки отображает на своем индикаторе код выполняемой в текущий момент процедуры.

Карта расширения, отображающая POST-коды в процессе загрузки

Рис. 1. Карта расширения, отображающая POST-коды в процессе загрузки

Однако POST-карту в своем распоряжении имеет ничтожное количество пользователей. Скорее, это инструмент профессионального ремонтника компьютеров. Осознавая данный факт, производители материнских плат стали оснащать модели, рассчитанные на энтузиастов, встроенными индикаторами POST-кодов (рис. 2).

Индикатор POST-кодов на материнской плате

Рис. 2. Индикатор POST-кодов на материнской плате

Встречается и более дешевое решение — во время начальной инициализации компонентов POST-коды могут отображаться на экране наряду с другой служебной информацией (рис. 3). Правда у этого решения есть существенный недостаток: если проблема связана с видеокартой, вы, скорее всего, ничего не увидите.

В правом нижнем углу стартового экрана отображается текущий POST-код

Рис. 3. В правом нижнем углу стартового экрана отображается текущий POST-код

Звуковые сигналы и сообщения об ошибках

Несмотря на то, что POST-коды являются самым мощным инструментом по выявлению аппаратных проблем при старте компьютера, BIOS предоставляет и другие средства диагностики. Если в вашем распоряжении нет POST-карты, а материнская плата не умеет индицировать POST-коды, можно ориентироваться на звуковые сигналы и сообщения об ошибках.

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

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

Надо заметить, что звуковые сигналы и сообщения об ошибках фактически являются более наглядным вариантом отображения определенных POST-кодов, а отнюдь не дополнительным средством диагностики. Если в вашем распоряжении есть POST-карта, либо материнская плата способна отображать POST-коды, ориентироваться надо именно на коды — они дают гораздо более точную и детальную картину. Сравните хотя бы количество POST-кодов (около ста) и количество различных сообщений об ошибках или звуковых сигналов (несколько десятков).

Опубликовано 09.02.2010.

Служебная информация:

время выполнения: 0.0106 с;

количество запросов: 3.