Post при загрузке компьютера

Процесс загрузки компьютера —
от включения питания до запуска ОС

Многие, прочитав заглавие, улыбнутся: ну что же здесь сложного? Однако вдумайтесь: что же происходит с ПК после нажатия кнопки Power (включение питания)? Этот вопрос редко задают себе как начинающие, так и опытные пользователи. Автору приходилось задавать его и специалистам в области компьютерной техники, но исчерпывающих ответов было мало. Тем не менее при сбоях или отказе компьютера знание основ процесса начальной загрузки во многих случаях помогает обнаружить или быстро локализовать неисправность.

Для конкретизации изложения рассмотрим процесс загрузки компьютера, оснащённого материнской платой, на которой установлен BIOS AWARD и Intel-совместимый микропроцессор, а в качестве ОС — Windows 98.

После нажатия кнопки Power источник питания выполняет самотестирование. Если все напряжения соответствуют номинальным, источник питания спустя 0,1. 0,5 с выдаёт на материнскую плату сигнал PowerGood, а специальный триггер, вырабатывающий сигнал RESET, получив его, снимает сигнал сброса с соответствующего входа микропроцессора. Следует помнить, что сигнал RESET устанавливает сегментные регистры и указатель команд в следующие состояния (не используемые в реальном режиме биты не указываются): CS = FFFFh; IP = 0; DS = SS = ES = 0 и сбрасывает все биты управляющих регистров, а также обнуляет регистры арифметическо-логического устройства. Во время действия сигнала RESET все тристабильные буферные схемы переходят в высокоимпендансное состояние. С момента снятия этого сигнала микропроцессор начинает работу в реальном режиме и в течение примерно 7 циклов синхронизации приступает к выполнению инструкции, считываемой из ROM BIOS по адресу FFFF:0000. Размер области ROM BIOS от этого адреса до конца равен 16 байт, и в ней по указанному адресу записана команда перехода на реально исполняемый код BIOS. В этот момент процессор не может выполнять никакую другую последовательность команд, поскольку нигде в любой из областей памяти, кроме BIOS, её просто не существует. Последовательно выполняя команды этого кода, процессор реализует функцию начального самотестирования POST (Power-On Self Test). На данном этапе тестируются процессор, память и системные средства ввода/вывода, а также производится конфигурирование программно-управляемых аппаратных средств материнской платы. Часть конфигурирования выполняется однозначно, другая часть может определяться положением джамперов (перемычек или переключателей) системной платы, но ряд параметров возможно (а иногда и необходимо) устанавливать пользователю. Для этих целей служит утилита Setup, встроенная в код BIOS. Параметры конфигурирования, установленные с помощью этой утилиты, запоминаются в энергонезависимой памяти, питаемой от миниатюрной батарейки, размещённой на материнской плате. Часть из них всегда хранится в традиционной CMOS Memory, объединённой с часами и календарём RTC (Real Time Clock). Другая часть (в зависимости от фирмы-производителя) может помещаться и в энергонезависимую (например, флэш) память (NVRAM). Кроме этой части статически определяемых параметров, имеется область энергонезависимой памяти ESCD для поддержки динамического конфигурирования системы Plug and Play, которая может автоматически обновляться при каждой перезагрузке компьютера.

Утилита BIOS Setup имеет интерфейс в виде меню или отдельных окон, иногда даже с поддержкой мыши. Для входа в Setup во время выполнения POST появляется предложение нажать клавишу DEL. В других типах BIOS (в отличие от указанного выше) для этого может использоваться сочетание клавиш Ctrl+Alt+Esc, Ctrl+Esc, клавиша Esc, бывают и другие варианты (например, нажать клавишу F12 в те секунды, когда в правом верхнем углу экрана виден прямоугольник). В последнее время появились версии BIOS, в которых вход в Setup осуществляется нажатием клавиши F2, однако чаще клавиши F1 или F2 используются для вызова меню Setup, если POST обнаружит ошибку оборудования, которая может быть устранена сменой начальных установок. Для некоторых BIOS удержание клавиши INS во время POST позволяет установить настройки по умолчанию, отменяя все «ускорители». Это бывает удобно для восстановления работоспособности компьютера после попыток его неудачного «разгона». Выбранные установки сохраняются при выходе из Setup (по желанию пользователя) и начинают действовать с момента следующего выполнения POST.

При выполнении каждой подпрограммы POST записывает её сигнатуру (код) в диагностический регистр. Этот регистр физически должен располагаться на специальной плате диагностики (сигнатурном анализаторе, или так называемой POST-карте), устанавливаемой в слот системной шины при анализе неисправности. Такие POST-карты бывают в двух исполнениях: для шин ISA и PCI. На данной плате обязательно устанавливается двухразрядный семисегментный индикатор, высвечивающий содержимое регистра диагностики. Возможно также наличие двоичного индикатора адреса. В пространстве ввода/вывода регистр занимает один адрес, зависящий от архитектуры РС (версии BIOS). Например, для ISA, EISA — 80h; ISA Compaq — 84h; ISA-PS/2 — 90h; для некоторых моделей EISA — 300h; MCA-PS/2 — 680h. Имея в наличии подобный сигнатурный анализатор по индицируемым кодам, можно определить, на каком этапе остановился POST. Зная специфическую таблицу сигнатур для каждой версии BIOS, легко определить неисправность системной платы.

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

  1. C0 — осуществляется программирование регистров микросхемы Host Bridge для установки следующих режимов:
    • запрещается Internal и External Cache, а также операции с кэш-памятью;
    • перед запретом Internal Cache очищается;
    • Shadow RAM запрещается, вследствие чего происходит направление непосредственно к ROM циклов обращения к адресам расположения System BIOS. Эта процедура должна соответствовать конкретному чипсету;
    • далее программируются РIIХ ресурсы: контроллер DMA, контроллер прерываний, таймер, блок RTC. При этом контроллер DMA переводится в пассивный режим.
  2. C1 — с помощью последовательных циклов запись/чтение определяется тип памяти, суммарный объём и размещение по строкам. И в соответствии с полученной информацией настраивается DRAM-контроллер. На этом же этапе процессор должен быть переключён в Protected Mode (защищённый режим).
  3. C3 — проверяются первые 256 кб памяти, которые в дальнейшем будут использованы как транзитный буфер, а также осуществляется распаковка и копирование System BIOS в DRAM.
  4. C6 — по специальному алгоритму определяется наличие, тип и параметры External Cache.
  5. CF — определяется тип процессора, а результат помещается в CMOS. Если по каким-либо причинам определение типа процессора закончилось неудачно, такая ошибка становится фатальной и система, а соответственно и выполнение POST, останавливается.
  6. 05 — осуществляется проверка и инициализация контроллера клавиатуры, однако на данный момент приём кодов нажатых клавиш ещё не возможен.
  7. 07 — проверяется функционирование CMOS и напряжение питания её батареи. Если фиксируется ошибка питания, выполнение POST не останавливается, однако BIOS запоминает этот факт. Ошибка при контрольной записи/чтении CMOS считается фатальной и POST останавливается на коде О7.
  8. BE — программируются конфигурационные регистры Host Bridge и PIIX значениями, взятыми из BIOS.
  9. 0A — генерируется таблица векторов прерываний, а также производится первичная настройка подсистемы управления питанием.
  10. 0B — проверяется контрольная сумма блока ячеек CMOS, а также, если BIOS поддерживает PnP, выполняется сканирование устройств ISA PnP и инициализация их параметров. Для PCI-устройств устанавливаются основные (стандартные) поля в блоке конфигурационных регистров.
  11. 0C — инициализируется блок переменных BIOS.
  12. 0D/0E — определяется наличие видеоадаптера путём проверки наличия сигнатуры 55АА по адресу начала Video BIOS (C0000:0000h). Если Video BIOS обнаружен и его контрольная сумма правильная, включается процедура инициализации видеоадаптера. С этого момента появляется изображение на экране монитора, высвечивается заставка видеоадаптера, инициализируется клавиатура. Далее по ходу POST тестируется контроллер DMA и контроллер прерываний.
  13. 30/31 — определяется объём Base Memory и External Memory, и с этого момента начинается отображаемый на экране тест оперативной памяти.
  14. 3D — инициализируется PS/2 mouse.
  15. 41 — производится инициализация подсистемы гибких дисков.
  16. 42 — выполняется программный сброс контроллера жёстких дисков. Если в Setup указан режим AUTO, производится детектирование устройств IDE, в противном случае параметры устройств берутся из CMOS. В соответствии с конфигурацией системы размаскируются прерывания IRQ14 и IRQ15.
  17. 45 — инициализируется сопроцессор FPU.
  18. 4E — настраивается клавиатура USB. На данном этапе становится возможен вход в CMOS Setup по нажатию клавиши DEL.
  19. 4F — осуществляется запрос на ввод пароля, если это предусмотрено установками CMOS Setup.
  20. 52 — производится поиск и инициализация ПЗУ дополнительных BIOS, а также картируется каждая из линий запросов прерывания PCI.
  21. 60 — если в Setup включён данный режим, устанавливается антивирусная защита BOOT Sector.
  22. 62 — осуществляется автоматический переход на зимнее или летнее время, для клавиатуры настраиваются состояние NumLock и режим автоповтора.
  23. 63 — корректируются блоки ESCD (только для PNP BIOS) и производится очистка ОЗУ.
  24. B0 — это состояние записывается в регистр сигнатурного анализатора только в случае наличия ошибок, например, при тесте Extended Memory. Если при работе в Protected Mode сбои отсутствуют, то POST не включает эту ветвь. При наличии страничных нарушений и других исключительных ситуаций управление будет передано на эту процедуру, она выведет код B0 в порт 80(84)h и остановится.
  25. FF — последний этап, на котором подводится итог тестирования — успешная инициализация аппаратных средств компьютера сопровождается одиночным звуковым сигналом, после чего осуществляется передача управления загрузчику BOOT-сектора.

Порядок поиска загрузочного диска на компьютерах x86 (FDD, жёсткие диски IDE и SCSI, устройства CD-ROM) задаёт BIOS. Современные BIOS позволяют переконфигурировать этот порядок, называемый последовательностью загрузки (boot sequence). Если при этом дисковод A: включён в последовательность загрузки первым и в нём находится дискета, BIOS попытается использовать эту дискету в качестве загрузочной. Если дискеты в дисководе нет, BIOS проверяет первый жёсткий диск, который к этому времени уже инициализировался, и выполняет команду INT19h. Процедура обработки прерывания INT19h для загрузки BOOT-сектора должна прочитать сектор с координатами Cylinder:0 Head:0 Sector:1 и поместить его по адресу 0000:7С00h, после чего осуществляется проверка, является ли диск загрузочным. Сектор MBR (Master Boot Record — главная загрузочная запись) на жёстком диске находится по тому же физическому адресу, что и BOOT-сектор на дискете (цилиндр 0, сторона 0, сектор 1).

Если при проверке загрузочный сектор не обнаружен, т.е. два последних байта этого сектора (его сигнатура) не равны 55ААh, вызывается прерывание INT18h. При этом на экране появляется предупреждающее сообщение, зависящее от производителя BIOS компьютера.

Сектор MBR записывается на жёсткий диск программой FDISK, поэтому если HDD был отформатирован на низком уровне, во всех его секторах находятся нули и, естественно, первый сектор не может содержать необходимой сигнатуры. Отсюда следует, что сообщения об ошибке будут выдаваться, если диск не разбивался на разделы (логические диски). Главная загрузочная запись обычно не зависит от операционной системы (на платформах Intel она используется для запуска любой из операционных систем). Код, содержащийся в главной загрузочной записи, сканирует таблицу разделов (partition table) в поисках активного системного раздела. Если в таблице разделов активный раздел не обнаружен или хотя бы один раздел содержит неправильную метку, а также если несколько разделов помечены как активные, выдаётся соответствующее сообщение об ошибке.

Код главной загрузочной записи определяет расположение загрузочного (активного) раздела, считывая таблицу разделов, расположенную в конце MBR. Если активный раздел найден, производится чтение его загрузочного сектора и определяется, является ли он действительно загрузочным. Попытка чтения может осуществляться до пяти раз, в противном случае выдаётся сообщение об ошибке, и система останавливается. Если загрузочный сектор найден, Master Boot Record передаёт управление коду загрузочного сектора в активном (загрузочном) разделе, который содержит загрузочную программу и таблицу параметров диска. Загрузочный сектор раздела просматривает блок параметров BIOS в поисках расположения корневого каталога, а затем копирует из него в память системный файл IO.SYS (который, по сути, является частью DOS и включает в себя функции файла MSDOS.SYS из предыдущей версии DOS) и передаёт ему управление. IO.SYS загружает драйверы некоторых устройств и выполняет ряд операций, связанных с загрузкой. Сначала IO.SYS считывает файл MSDOS.SYS. Нужно помнить, что этот файл не похож на одноимённые файлы из предыдущих версий DOS. В Windows 98 MSDOS.SYS является текстовым файлом, содержащим опции процедуры запуска. Затем загружается и отображается файл LOGO.SYS (стартовая заставка).

На следующем этапе IO.SYS считывает информацию из системного реестра, а также исполняет файлы CONFIG.SYS и AUTOEXEC.BAT (при их наличии в корневом каталоге). При этом загружаются драйверы устройств, работающих в реальном режиме работы процессора, выполняются некоторые системные установки. Ниже приводится неполный список возможных драйверов и программ, загружаемых на данном этапе.

DBLSPACE.BIN или DRVSPACE.BIN. Драйвер сжатия дисков.

HIMEM.SYS. Администратор верхней памяти в реальном режиме работы процессора.

IFSHLP.SYS. Оказывает содействие при загрузке VFAT и прочих файловых систем, поддерживающих Windows 98.

SETVER.EXE. Утилита, подменяющая номер версии операционной системы. Существуют программы, ориентированные на более ранние версии операционных систем и отказывающиеся функционировать под Windows 98. Благодаря SETVER.EXE подобной программе возвращается именно тот номер версии DOS, который её устраивает.

DOS=HIGH. Загружает DOS в область памяти HMA. Если в файле конфигурации CONFIG.SYS содержится инструкция для загрузки администратора отображаемой памяти EMM386.EXE, в эту строку добавляется параметр UMB, позволяющий EMM386.EXE использовать верхнюю память. Нужно помнить, что IO.SYS не загружает администратор EMM386.EXE автоматически. Поэтому, если планируется его использование, в файл CONFIG.SYS необходимо вставлять строку DEVICE=EMM386.EXE.

FILES=30. В этой строке определяется число создаваемых дескрипторов файла. Windows 98 не использует это параметр; он включён для совместимости с предыдущими версиями программ.

LASTDRIVE=Z. Здесь определяется последняя буква для логических дисков. Эта опция также введена для обратной совместимости и не используется Windows 98.

BUFFER=30. Определяет число создаваемых файловых буферов. Буферы файлов используются приложениями при вызовах подпрограмм ввода/вывода из файла IO.SYS.

STACKS=9,256. Этой записью определяется число кадров стека и размер каждого кадра.

FCBS=4. Данная команда задает число блоков управления файлом. Оба последних параметра применяются только для обратной совместимости.

На последнем этапе загружается и запускается файл WIN.COM. Он обращается к файлу VMM32.VXD. Если в компьютере установлен достаточный объём ОЗУ, то этот файл загружается в память, в противном случае организуется доступ к этому файлу на жёстком диске, что, естественно, увеличивает время загрузки. Загрузчик драйверов реального режима сравнивает копии виртуальных драйверов устройств (VxD) в папке Windows/System/VMM32 и файле VMM32.VXD. Если виртуальный драйвер устройства существует и в папке и в файле, копия виртуального драйвера «помечается» в файле VMM32.VXD как незагружаемая. Виртуальные драйверы устройств, не загруженные с помощью файла VMM32.VXD, загружаются из раздела [386 Enh] файла SYSTEM.INI папки Windows. Во время описанного процесса загрузчик драйверов виртуальных устройств реального режима постоянно проверяет правильность загрузки всех необходимых виртуальных драйверов устройств, а при появлении ошибки при загрузке нужного драйвера он пытается выполнить эту операцию ещё раз. После загрузки виртуальные драйверы устройств реального режима инициализируются, затем файл VMM32.VXD переключает процессор в защищённый режим, и начинается процесс инициализации виртуальных драйверов устройств согласно их параметру InitDevice. Процедура загрузки ОС заканчивается загрузкой файлов KRNL32.DLL, GDI.EXE, USER.EXE и EXPLORER.EXE. Если компьютер подключён к сети, то загружается сетевое окружение. Пользователю предлагается ввести имя и пароль для входа в сеть. Затем из системного реестра загружается конфигурация с параметрами, установленными по умолчанию. На последней фазе загрузке операционной системы производится обработка содержимого папки Startup (Автозагрузка) и запускаются указанные в ней программы. После этого ОС готова к работе.

Существует несколько стандартных способов, позволяющих видоизменить описанную выше процедуру запуска:

  • при исполнении POST на этапе проверки памяти и инициализации загрузочных устройств нажать кнопку клавиатуры DEL для входа в программу Setup;
  • вставить перед окончанием теста оборудования загрузочный диск (например, аварийный диск Windows 98);
  • внести исправления в файл CONFIG.SYS;
  • отредактировать файл AUTOEXEC.BAT.

Помимо них, Windows 98 предоставляет ряд менее очевидных методов для выполнения этой же задачи:

AMIBIOS8:

нет сигнала на мониторе.

пост кодов не было вообще, снял проц, сдул всю пыль под куллером, на контактах проца были желтые следы, почистил. после этого пошли коды
00 — d0 — 80 — b1 — b2 — 00 — е8 — 01 — b2. после b2 пауза и последние 4 повторяются бесконечно. китайская пост карта.

блок питания менял.. мосты, проц греются в пределах нормы.

Список материнских плат, как зайти в BIOS:

Можно заметить закономерность, что везде используется клавиша F2.

Все та же клавиша F2 используется и в ноутбуках. Сразу после включения ноутбука нажимаете F2, и заходите в BIOS. Желательно делать это в момент появления первых букв на экране.

Post при загрузке компьютера

Сообщения: 2230
Откуда: Екатеринбург/Свердловская обл.

Репутация: 0

Приветствую всех форумчан!
Тут у знакомого что-то на компе долго POST идет, висит картинка заставки. Но всегда по-разному. Может 15 секунд повисеть и продолжить загрузку, а может и 2 минуты висеть. В чем может быть трабла?

Система:
Е4500
Асус Р5В
2 Гб Кингстон РС-5300
2600ХТ от Сапфира
БП 460Вт

Сообщения: 6189
Откуда: Львов

Репутация: 8

1 кривая настройка BIOS.
2 неправильно подключенное (кривое) железо.
3 глючная мать

Тут у знакомого что-то на компе долго POST идет, висит картинка заставки
если картинку отключить, тогда на каком именно месте висит. (что при этом написано на экране).

скорее всего инициалазация харда или сд-рома. также как вариант какойто ЮСБ девайс, возможно с внешним питанием, которое отключают.

Сообщения: 2365
Откуда: Россия, Новосибирск

Репутация: 2

dodge_ki
Я прошу прощения за нескромный вопрос: а что такое «POST»?

Если система во время загрузки надолго подвещивается — ищите неправильно работающий драйвер, либо драйвер к несуществующему устройству, либо устройство, которое не отвечает на запросы драйвера.

Сообщения: 2230
Откуда: Екатеринбург/Свердловская обл.

Репутация: 0

PANpredator
а что такое «POST»? — я имею в виду, компутер долго проверяет все девайсы перед загрузкой (в самом начале загрузки).

MBear
если картинку отключить, тогда на каком именно месте висит. (что при этом написано на экране) — написано типа:
Е4500 2200@2400
DRAM 2Gb PC-5300 Dual Interleving
точно уже не помню, но висит перед проверкой винта и сидюка, точнее последнего.
Сидюк Lite-On сатовский. правда отключать не пробовал.

Сообщения: 6189
Откуда: Львов

Репутация: 8

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

Сообщения: 2230
Откуда: Екатеринбург/Свердловская обл.

Репутация: 0

Проверю, но это уже после НГ
Еще заметил одну особенность:
Когда нажимаешь на системнике вкл, то индикатор загорается примерно на секунду и тутже гаснет (куллеры тоже ессно также) и через секунду снова загорается и начинается загрузка компутреа.
Что это за дела такие? Собирали компутер в магазине. Не уж то намутили с подключением питания к маме?

Репутация: 5

dodge_ki Двойного старта на твоей мамке не замечал. Сбрось бивис в дефолт и смотри что будет. Проблема двойного старта уже обсуждалась. правда в ключе p5b/p5k.

Сообщения: 555
Откуда: Москва

Репутация: 0

У друга тоже была подобная проблема. Помню материнка Asus на 865 чипсете, жесткий, сидюк — IDE, Detecting IDE Drivers в течении минуты. Проблема была решена перемычками на CD/HDD, настройкой BIOS.

Сообщения: 3493
Откуда: г.Тольятти

Репутация: 1

Сообщения: 255
Откуда: М/О г. Пушкино

Репутация: 0

Сообщения: 2230
Откуда: Екатеринбург/Свердловская обл.

Репутация: 0

sergey2400
IDE нет вовсе. все сата.
IdeaFix
Попробую БИОС на дефолт сбросить. может что путное и случится, ну или мож обновлю его, если более новая версия существует.

Сообщения: 3493
Откуда: г.Тольятти

Репутация: 1

dodge_ki
Если сброс CMOS не поможет, попробуйте SATA шлейфочки поменять, они тоже из строя выходят, контак пропадать может из-за деформации разъёма

Сообщения: 6189
Откуда: Львов

Репутация: 8

Сообщения: 2230
Откуда: Екатеринбург/Свердловская обл.

Репутация: 0

sergey2400
Хорошо, проверю разъемы. Я вот заметил, они (сборщики в магазине) сата шлейфы закручивают, чтобы они места меньше занимали. А на сидюк шлейф натянут довольно прилично.

В общем будем разбираться. Месяца не прошло как дружище компутер приобрел, а уже траблы появились.

Спасибо всем, кто принимал участие в обсуждении.
Будут еще проблемы, сообщу.

Сообщения: 70
Откуда: Казань

Репутация: 0

dodge_ki
Обновляйте Биос. Через меня много таких плат прошло. Обновление и проблему двойного старта решило и скорость поста увеличила.

Сообщения: 2230
Откуда: Екатеринбург/Свердловская обл.

Репутация: 0

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector