Аппаратные и программные диагностические средства

Автор: | 17.03.2005
     Диагностическое программное обеспечение чрезвычайно необходимо в том случае, если система начинает сбоить или если вы модернизируете ее, добавляя новые устройства. Даже когда вы пытаетесь выполнить простую операцию (например, установить новую плату) или ищете неисправность в аппаратуре, приведшую к сбою или «зависанию» системы, вам необходимо знать о компьютере больше, чем написано в прилагаемой к нему инструкции. Диагностические программы позволяют проверить работу как всей системы, так и отдельных ее узлов.
Естественно, при эксплуатации системы необходимо регулярное техническое обслуживание. Именно это и служит залогом нормальной работы компьютера. Здесь описаны диагностические программы трех уровней: POST, системные средства и дополнительные программы, которые либо поставляются вместе с компьютером, либо приобретаются у его изготовителя. Кроме того, здесь вы узнаете, как получить от этих программ максимальную пользу, и познакомитесь с применяемыми IBM звуковыми кодами, кодами неисправностей и диагностическими программами.      Для PC существует несколько видов диагностических программ (некоторые из них поставляются вместе с компьютером), которые позволяют пользователю выявлять причины неполадок, возникающих в компьютере. Во многих случаях такие программы могут выполнить основную работу по определению дефектного узла. Условно их можно разделить на несколько групп, представленных ниже в порядке усложнения программ и расширения их возможностей.

  • POST (Power-On Self Test — процедура самопроверки при включении). Выполняется при каждом включении компьютера.
  • Диагностические программы фирм-производителей. Большинство известных фирм — производителей компьютеров (IBM, Compaq, Hewlett-Packard, Dell и т.д.) выпускают для своих систем специализированное диагностическое программное обеспечение, которое обычно содержит набор тестов, позволяющих тщательно проверить все компоненты компьютера.
  • Диагностические программы фирм — производителей оборудования. Многие производители оборудования выпускают диагностические программы, предназначенные для проверки определенного устройства. Например, фирма Adaptec выпускает программы для проверки работоспособности SCSI-адаптеров.
  • Диагностические программы операционных систем. Windows 9х и Windows NT/2000 поставляются с несколькими диагностическими программами для проверки различных компонентов компьютера.
  • Диагностические программы общего назначения. Такие программы, обеспечивающие тщательное тестирование любых PC-совместимых компьютеров, выпускают многие фирмы.

     Процедура POST- последовательность коротких подпрограмм, хранящихся в ROM BIOS на системной плате. Они предназначены для проверки основных компонентов системы сразу после ее включения, что, собственно, и является причиной задержки перед загрузкой операционной системы.      При каждом включении компьютера автоматически выполняется проверка его основных компонентов: процессора, микросхемы ROM, вспомогательных элементов системной платы, оперативной памяти и основных периферийных устройств. Эти тесты выполняются быстро и не очень тщательно по сравнению с тестами, выполняемыми диагностическими программами. При обнаружении неисправного компонента выдается предупреждение или сообщение об ошибке (неисправности).
     Хотя выполняемая программой POST диагностика не совсем полная, она является первой «линией обороны», особенно если обнаруживаются серьезные неисправности в системной плате. Если окажется, что неполадка достаточно серьезная, дальнейшая загрузка системы будет приостановлена и появится сообщение об ошибке (неисправности), по которому, как правило, можно определить причину ее возникновения. Такие неисправности иногда называют фатальными ошибками (fatal error). Процедура POST обычно предусматривает три способа индикации неисправности: звуковые сигналы, сообщения, выводимые на экран монитора, и шестнадцатеричные коды ошибок, выдаваемые в порт ввода-вывода.      При обнаружении процедурой POST неисправности компьютер издает характерные звуковые сигналы, по которым можно определить неисправный элемент (или их группу). Если компьютер исправен, то при его включении вы услышите один короткий звуковой сигнал; если же обнаружена неисправность, выдается целая серия коротких или длинных звуковых сигналов, а иногда и их комбинация. Характер звуковых кодов зависит от версии BIOS и разработавшей ее фирмы.      В большинстве PC-совместимых моделей процедура POST отображает на экране ход тестирования оперативной памяти компьютера. Последнее выведенное на экран число соответствует количеству памяти, успешно прошедшей проверку. Так, может появиться следующее сообщение: 256 MB OK      В общем случае последнее выведенное во время тестирования число должно совпадать с объемом всей установленной в компьютере памяти. Если по окончании тестирования число на экране не соответствует общему объему памяти, значит, в системной памяти обнаружена ошибка.

     Если во время выполнения процедуры POST обнаружена неисправность, на экран выводится соответствующее сообщение, как правило в виде числового кода из нескольких цифр, например: 1790-Disk 0 Error. Воспользовавшись руководством по эксплуатации и сервисному обслуживанию, можно определить, какая неисправность соответствует данному коду.

     Большинство SCSI-адаптеров имеют встроенную BIOS, с помощью которой можно настраивать адаптер и выполнять его диагностику. Например, SCSI-адаптеры, выпускаемые фирмой Adaptec, поставляются с программой SCSISelect, которая позволяет правильно сконфигурировать и протестировать работоспособность адаптера.      Некоторые производители сетевых плат, например SMC и 3COM, также предлагают диагностическое программное обеспечение. С помощью этих программ можно проверить интерфейс шины, контроль памяти, установленной на плате, векторы прерываний, а также выполнить циклический тест. Эти программы можно найти на дискете или компакт-диске, поставляемом вместе с устройством, или же обратиться на Web-узел производителя.      Существует множество разнообразных диагностических программ для PC-совместимых компьютеров. Есть специальные программы для тестирования памяти, жестких дисков, видеоадаптеров и других компонентов системы. Одни из них занимают достойное место среди такого рода программ, другие явно не дотягивают до профессионального уровня. Программы, ориентированные на пользователей со средней подготовкой, выполнены не очень тщательно и лишены многих возможностей, необходимых для профессиональной работы.      В большинстве случаев протестировать существующими средствами операционной системы. В составе Windows 95, Windows 98, Windows Me, Windows NT, Windows 2000 и Windows XP есть несколько диагностических программ.      Термин загрузка (boot) произошел от английского bootstrap (самозагрузка, самораскрутка) и означает начало работы персонального компьютера. В компьютер загружается большая операционная система, но все начинается с маленькой программы, которая затем «вытягивает» все остальное.
     Иногда при загрузке системы появляется сообщение какой-либо программы об ошибке. Совмещая полученную информацию со своими знаниями о процессе загрузки, вы можете определить, где произошел сбой. Чтобы распознать ошибку, прежде всего нужно выяснить, какая программа выдала сообщение. Ниже перечислены программы, которые могут выдавать на экран сообщение в процессе загрузки.

  • ROM BIOS на системной плате;
  • дополнительные ROM BIOS адаптеров;
  • главная загрузочная запись (MBR);
  • загрузочный сектор активного раздела.
  • системные файлы (Io.sys/Ibmbio.com и Msdos.sys/Ibmdos.com);
  • драйверы устройств, загружаемые в Config.sys или в файл System.dat системного реестра Windows 9х;

  • оболочки операционной системы (например, Command.com);
  • программы, запускаемые из файла Autoexec.bat, группы программ автозагрузки или соответствующие ключи системного реестра;
  • Windows (файл Win.com).

     Начальный этап загрузки выполняется на всех компьютерах одинаково и не зависит от установленной на данном компьютере операционной системы. Дальнейшие действия зависят от типа установленной операционной системы, а следовательно, и сообщения об ошибках могут быть различны.      Если у вас возникли проблемы при загрузке компьютера, постарайтесь определить, на каком этапе это случилось. Процесс стандартной загрузки компьютера можно разделить на ряд этапов.
1. Включение питания компьютера.
2. Источник питания выполняет самотестирование. Если все нормально и все выходные напряжения соответствуют требуемым, источник питания выдает на системную плату сигнал Power_Good. Между включением компьютера и подачей сигнала проходит 0,1-0,5 с.
3. Микросхема таймера получает сигнал Power_Good и прекращает генерировать подаваемый на процессор сигнал Reset.
4. Процессор начинает выполнять код, записанный в ROM BIOS по адресу FFFF:0000. Размер ROM BIOS от этого адреса до конца составляет 16 байт; по данному адресу записана команда перехода на реально выполняемый код ROM BIOS.
5. ROM BIOS выполняет тестирование системы, чтобы проверить ее работоспособность. Обнаружив ошибку, система подаст звуковой сигнал, так как видеоадаптер все еще не инициализирован. Если BIOS соответствует стандарту Plug and Play, выполняются все последующие действия; в противном случае осуществляется переход к п. 10.
6. Plug and Play BIOS проверяет постоянные адреса ввода-вывода, линии прерываний, каналы прямого доступа к памяти и другие параметры, необходимые для конфигурации устройств, соответствующих стандарту Plug and Play.
7. Все устройства Plug and Play, перечисленные в Plug and Play BIOS, деактивизируются.
8. Создается карта используемых и свободных ресурсов.
9. Устройства Plug and Play конфигурируются и активизируются. Если в компьютере установлена BIOS, не удовлетворяющая стандарту Plug and Play, устройства Plug and Play инициализируются на основе параметров по умолчанию. Эти устройства могут быть динамически переконфигурированы при загрузке Windows 9x (диспетчер конфигурации Windows 9x запрашивает у Plug and Play BIOS информацию об устройстве, а затем выясняет, какова конфигурация каждого устройства Plug and Play).
10. В поисках программы работы с видеоадаптером BIOS сканирует адреса памяти видеоадаптера, начиная с C000:0000 и заканчивая C780:0000. Если BIOS видеоадаптера найдена, проверяется контрольная сумма ее кода. При совпадении контрольной суммы с заданной управление передается BIOS видеоадаптера, которая инициализирует видеоадаптер и выводит на экран курсор; в противном случае появляется сообщение C000 ROM Error.
11. Если BIOS видеоадаптера не найдена, используется видеодрайвер, записанный в микросхеме ROM системной платы, который инициализирует видеоадаптер и выводит на экран курсор.
12. BIOS системной платы сканирует оставшуюся память с C800:0000 по DF80:0000 с шагом 2 Кбайт в поисках BIOS любых других подключенных к системной плате адаптеров (таких как SCSI-адаптеры). Обнаруженные BIOS выполняются так же, как и BIOS видеоадаптера.
13. При несоответствии контрольной суммы любых BIOS выводится сообщение
XXXX ROM Error, где XXXX- сегментный адрес некорректного модуля ROM.
14. BIOS проверяет значение слова по адресу 0000:0472, чтобы определить, какая загрузка выполняется (холодная или горячая). В случае горячей загрузки по этому адресу записано слово 1234h, что приводит к пропуску POST (Power On Self Test — самотестирование при включении питания). Если по этому адресу записано другое слово, выполняется POST.
15. В случае холодной загрузки выполняется POST. При тестировании на экран компьютера выводится сообщение обо всех возникающих ошибках и подается сигнал со встроенного динамика. При успешном завершении POST выдается одиночный звуковой сигнал.
16. Программа BIOS ищет в дисководе A системную дискету и читает на ней сектор 1, находящийся на цилиндре 0, стороне 0 (самый первый сектор). Современные версии BIOS позволяют загружаться не только с дискеты, но и с других устройств, например жесткого диска и накопителя CD-ROM. Порядок поиска загрузочных устройств определяется с помощью программы установки параметров BIOS. Этот сектор загружается по адресу 0000:7C00 и проверяет, является ли диск загрузочным.
17. Если значения первых байтов считанного сектора некорректны, на экране отображается сообщение об ошибке загрузочной записи дискеты 602-Diskette Boot Record Error и система останавливается.
18. Если дискета была подготовлена в DOS с помощью команды Format или Sys, а два первых файла в корневом каталоге не являются системными или их нельзя прочитать, выдается сообщение о том, что диск не системный:
Non-System disk or disk error
Replace and strike any key when ready

Если дискета была подготовлена в DOS с помощью команды Format или Sys, а загрузочный сектор испорчен, на экран выдается сообщение о сбое при загрузке с диска: Disk Boot failure
19. Если в дисководе A нет системной дискеты, BIOS читает сектор MBR (Master Boot Record — главная загрузочная запись); это самый первый сектор на жестком диске, который находится по тому же физическому адресу, что и загрузочный сектор на дискете (цилиндр 0, сторона 0, сектор 1). Обнаружив такой сектор, BIOS загружает его в память по адресу 0000:7C00 и затем проверяет его.
20. Если последних два байта этого сектора (его сигнатура) не равны 55AAh, вызывается прерывание 18h. При этом на экране появляется предупреждающее сообщение (оно зависит от производителя BIOS вашего компьютера):
Non-System disk or disk error replace and strike any key when ready DISK BOOT FAILURE, INSERT SYSTEM DISK AND PRESS ENTER No boot device available strike F1 to retry boot, F2 for setup utility No boot sector on fixed disk

strike F1 to retry boot, F2 for setup utility

Сектор главной загрузочной записи (MBR) записывается на жесткий диск программой Fdisk. После форматирования жесткого диска на низком уровне во всех его секторах находятся одни нули, и, естественно, первый сектор не содержит необходимой сигнатуры в последних двух байтах. Из этого следует, что описанные сообщения об ошибках будут выдаваться, если вы отформатировали диск на низком уровне, но забыли разбить его на разделы (логические диски).

21. Программа, находящаяся в MBR (начальный загрузчик), просматривает таблицу разделов (partition table) в поисках дополнительного раздела (extended partition). Если таковой будет обнаружен, то анализируется загрузочный сектор этого раздела. Процесс продолжается до тех пор, пока не закончатся дополнительные разделы либо не будет достигнут лимит в 24 дополнительных раздела.

22. Начальный загрузчик ищет в таблице разделов активный раздел.
23. Если в таблице нет активного раздела, отображается сообщение об ошибке.
24. Если хотя бы один раздел содержит неправильную метку либо несколько разделов помечены как активные, выдается сообщение об ошибке Invalid partition table и система останавливается.
25. Если найден только один активный раздел, его загрузочный сектор читается в память и проверяется, действительно ли он загрузочный.
26. Если загрузочный сектор активного раздела не читается за пять попыток, выдается сообщение об ошибке Error loading operating system и система останавливается.
27. Проверяется сигнатура считанного загрузочного сектора активного раздела. Если последних два байта не соответствуют сигнатуре 55AAh, выдается сообщение об ошибке Missing operating system и система останавливается.
28. Загрузочный сектор активного раздела, как следует из его названия, содержит программу загрузки операционной системы. Если загрузочный сектор испорчен, вы получите сообщение Disk boot failure. Если системные файлы не являются первыми в корневом каталоге или при попытке их чтения возникают сбои, выдается сообщение, что диск не системный или содержит ошибку:

Non-System disk or disk error
Replace and strike any key when ready

Дальнейшие действия зависят от установленной операционной системы. Понимая процесс загрузки Windows 9x/Me, вы сможете достаточно быстро решить возникающие проблемы. ЗагрузкуWindows 9x можно разделить на три этапа:

  • загрузка и запуск файла Io.sys;
  • настройка реального режима;
  • загрузка и запуск файла Win.com.

1. Код инициализации активизирует драйверы базовых устройств, определяет состояние оборудования, сбрасывает и инициализирует подключенные устройства и устанавливает параметры системы по умолчанию.
2. Активизируется файловая система, управление передается файлу Io.sys.
3. Отображается сообщение Starting Windows в течение «n» секунд. Время отображения этого сообщения определяется строкой BootDelay=»n» в файле Msdos.sys (по умолчанию 2 с).
4. При использовании аппаратных конфигураций появляется следующее сообщение: Windows cannot determine what configuration your computer is in. Из приведенного списка следует выбрать необходимую аппаратную конфигурацию.
5. Загружается и отображается файл Logo.sys (стартовая заставка).
6. Если существуют файлы Drvspace.ini или Dblspace.ini, то они загружаются в память. Также загружаются драйверы Himem.sys, Ifshlp.sys и Setver.exe.
7. Файл Io.sys проверяет файлы системного реестра System.dat и User.dat.
8. Файл Io.sys открывает файл System.dat. Если такого файла не существует, то используется файл System.da0. При успешном запуске Windows 9х файл System.da0 копируется в System.dat.
9. Если в файле Msdos.sys присутствует строка DoubleBuffer=1 или двойная буферизация активизируется с помощью параметров в ветви реестра HKLM\System\ CurrentControlSet\Control\WinBoot\DoubleBuffer, то загружается файл Dblbuff.sys.
10. Если существует несколько аппаратных конфигураций, то выбранная конфигурация загружается из системного реестра.
11. В Windows 9x/Me просматривается ветвь реестра HKLM\System\CurrentControlSet загружаются найденные драйверы устройств, а затем выполняется файл Config.sys.
     Для правильной работы некоторых старых устройств и программ необходимо загружать драйверы и файлы в реальном режиме. Чтобы обеспечить обратную совместимость, Windows 9х обрабатывает файлы Config.sys и Autoexec.bat (если они существуют).
1. Если файл Config.sys существует, то обрабатываются содержащиеся в нем операторы и команды загрузки драйверов. Если же этого файла на жестком диске нет, то загружаются следующие необходимые для работы драйверы: Ifshlp.sys, Himem.sys, Setver.sys Информацию о расположении этих файлов на жестком диске файл Io.sys получает из строки WinBootDir — файла Msdos.sys.
2. Windows резервирует все глобальные блоки верхней памяти для использования операционной системой или для поддержки расширенной памяти.
3. Обрабатывается содержимое файла Autoexec.bat, и все перечисленные в нем резидентные программы загружаются в память. 1. Загружается и запускается файл Win.com.
2. Файл Win.com обращается к файлу Vmm32.vxd. Если в компьютере установлено достаточное количество оперативной памяти, то этот файл загружается в память. В противном случае организуется доступ к этому файлу на жестком диске, что увеличивает время загрузки.
3. Загрузчик драйверов виртуальных устройств реального режима сравнивает копии вир- туальных драйверов устройств (VxD) в папке Windows\System\Vmm32 и файле Vmm32.vxd. Если виртуальный драйвер устройства существует и в папке и в файле, то копия виртуального драйвера «помечается» в файле Vmm32.vxd как незагружаемая.
4. Виртуальные драйверы устройств, не загруженные с помощью файла Vmm32.vxd, загружаются из раздела [386 Enh] файла System.ini папки Windows.
5. Загрузчик драйверов виртуальных устройств реального режима проверяет правильность загрузки всех необходимых виртуальных драйверов устройств. Если при загрузке необходимого драйвера появляется ошибка, загрузчик пытается выполнить еще раз эту операцию.
6. После загрузки виртуальные драйверы устройств реального режима инициализируются.
7. Файл Vmm32 переключает процессор в защищенный режим.
8. Начинается процесс инициализации виртуальных драйверов устройств согласно их параметру InitDevice, а не порядку загрузки в память.
9. После загрузки всех виртуальных драйверов устройств начинается загрузка файлов Krnl32.dll, Gdi.exe, User.exe и Explorer.exe (оболочка по умолчанию операционной системы Windows 9х).
10. Если компьютер подключен к сети, то загружается сетевое окружение. Пользователю предлагается ввести имя и пароль для входа в сеть. Операционная система Windows 9х позволяет нескольким пользователям сохранять параметры рабочего стола. При входе в Windows эти параметры загружаются из системного реестра. Если пользователь не вводит имени, то загружается конфигурация с установленными по умолчанию параметрами рабочего стола.
11.На последней фазе загрузки операционной системы запускаются программы из папки автозагрузки и ветви системного реестра RunOnce. После загрузки программы ее параметр из ветви системного реестра RunOnce удаляется.      Загрузка операционной системы Windows NT или Windows 2000 аналогична загрузке других систем до момента чтения загрузочной записи активного раздела. Вместо файлов Io.sys и Msdos.sys в Windows NT/2000 запускается загрузчик системы NTLDR, который начинает определять оборудование и позволяет выбрать систему для загрузки. Загружаемые системы определяются в файле Boot.ini.
     После выбора из списка загружаемых систем Windows NT/2000 загружается файл Ntdetect.com и определяется оборудование компьютера. Затем в память компьютера загружается ядро Windows NT (Ntoskrnl.exe) и уровень аппаратных абстракций (Hal.dll). Ядро системы несет ответственность за инициализацию большей части операционной системы, включая драйверы устройств, подсистему Windows NT, службы, систему управления памятью. На этом автоматическая загрузка системы прекращается до тех пор, пока вы не нажмете комбинацию клавиш «Ctrl+Alt+Del» и не зарегистрируетесь в системе.

В начало страницы