Программно-аппаратная диагностика

Если все вышеперечисленное не помогло определить поломку, то придется перейти к программно-аппаратной диагностике. А для того, чтобы она прошла успешно необходимо точно знать, каков порядок включения устройств ПК.

Итак, рассмотрим порядок загрузки компьютера.

1. После включения питания БП выполняет самотестирование. Если все выходные напряжения соответствуют требуемым, БП выдает на материнскую плату сигнал Power_Good (P_G) на контакт 8 20-контактного разъема питания ATX. Между включением ПК и подачей сигнала проходит около 0,1-0,5 с.

2. Микросхема таймера получает сигнал P_G и прекращает генерировать подаваемый на микропроцессор сигнал начальной установки Reset. Если процессор не исправен, то система зависает.

3. Если CPU жив, то он начинает выполнять код, записанный в ROM BIOS по адресу FFFF0h (адрес программы перезагрузки системы). По этому адресу находится команда безусловного перехода JMP к адресу начала программы загрузки системы через конкретный ROM BIOS (обычно это адрес F0000h).

4. Начинается выполнение конкретного кода ROM BIOS. BIOS начинает проверку компонентов системы на работоспособность (POST – Power On Self Test). Обнаружив ошибку, система подаст звуковой сигнал, так как видеоадаптер пока еще не инициализирован. Проверяется и инициализируется чипсет, DMA и происходит тест определения объема памяти. Если модули памяти вставлены не до конца или некоторые банки памяти повреждены, то или система зависает или звучат длинные повторяющие сигналы из системного динамика.

5. Происходит разархивирование образа BIOS в оперативную память для более быстрого доступа к коду BIOS.

6. Инициализируется контроллер клавиатуры.

7. BIOS сканирует адреса памяти видеоадаптера, начиная с С0000h и заканчивая C7800h. Если BIOS видеоадаптера найден, то проверяется контрольная сумма (CRC) его кода. Если CRC совпадают, то управление передается Video BIOS, который инициализирует видеоадаптер и выводит на экран информацию о версии Video BIOS. Если контрольная сумма не совпадает, то выводится сообщение «C000 ROM Error». Если Video BIOS не найден, то используется драйвер, записанный в BIOS ROM, который инициализирует видеокарту.

8. ROM BIOS сканирует пространство памяти начиная с C8000h в поисках BIOS других устройств, таких как сетевые карты и SCSI-адаптеры, и проверяется их контрольная сумма.

9. BIOS проверяет значение слова по адресу 0472h, чтобы определить, какая загрузка должна быть выполнена – «горячая» или «холодная». Если по этому адресу записано слово 1234h, то процедура POST не выполняется, происходит «горячая» загрузка.

10. В случае холодной загрузки выполняется POST. Инициализируется процессор, выводится информация о его марке, модели и т.д. Выдается один короткий сигнал.

11. Тестируется RTC (Real Time Clock).

12. Определение частоты CPU, проверка типа видеоадаптера (в том числе встроенного).

13. Тестирование стандартной и расширенной памяти.

14. Присвоение ресурсов всем ISA-устройствам.

15. Инициализация IDE-контроллера. Если используется 40-контактный шлейф для подключения ATA/100 HDD, то появится соответствующее сообщение.

16. Инициализация FDC-контроллера.

17. ROM BIOS ищет системную дискету или MBR жесткого диска и читает сектор 1 на дорожке 0 стороны 0, копирует этот сектор по адресу 7С00h. Далее происходит проверка этого сектора: если он оканчивается сигнатурой 55AAh, то MBR просматривает таблицу разделов (Partition Table) и ищет активный раздел, а затем пытается загрузиться с него. Если первый сектор оканчивается любой другой сигнатурой, то вызывается прерывание Int 18h и на экран выводится сообщение «DISK BOOT FAILURE, INSERT SYSTEM DISK AND PRESS ENTER» или «Non-system disk or disk error».

В общем-то, все. Что касается последнего пункта, то ошибки указанные в нем говорят о неисправности винчестера (программной или аппаратной). Теперь вам остается только выявить, в какой именно момент перестает работать ваш компьютер. Если это происходит до появления сообщений на мониторе, то неисправность можно определить по звуковым сигналам.