Порядок загрузки системы ПК. Компьютер включается, но не запускается операционная система: возможные причины и способы решения проблемы

Приветствую, друзья!

На вопрос «что происходит с компьютером сразу после включения» можно дать простой ответ.

Он начинает шуметь вентиляторами, шуршать винчестером, мигать индикаторами, выводить служебные сообщения на экран монитора.

И загружать операционную систему.

Но за этой внешней простотой скрывается кое-что еще. Давайте-ка запасемся «мелкоскопом» и глянем более внимательно, что же именно творится в недрах компьютера!

Источник дежурного напряжения в блоке питания

Сразу отметим, что, если питающий шнур системного блока вставлен в сеть, часть работает, вырабатывая так называемое дежурное напряжение +5 В. Это напряжение питает часть компонентов материнской платы.

Это позволяет включать компьютер не только нажатием кнопки включения, но и нажатием кнопки на клавиатуре, движением мыши или нажатием ее кнопки.

Можно «будить» компьютер и через локальную сеть (при соответствующих настройках Setup).

Эти экзотические функции используются редко. Но при этом часть блока питания работает все время.

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

Поэтому сетевое напряжение в отсутствие работы на блок питания лучше не подавать.

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

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

Следует отметить, что сразу после запуска основного инвертора выходные напряжения колеблются в течение нескольких десятков или сотен миллисекунд. Это так называемые переходные процессы.

Что такое сигнал «Power Good»и зачем он нужен?

Если процессор будет в это время выполнять какие-то действия, то может быть искажение данных в его регистрах и ячейках оперативной памяти. Поэтому процессор содержит в себе вывод (вход) сброса или обнуления Reset.

Если на нем будет низкий логический уровень (напряжение, близкое к нулю), то процессор будет находиться в состоянии сброса. При этом все его регистры очищаются. Как только логический уровень станет высоким (напряжение станет равным +5 В), процессор стартует, начиная выполнение программы с нулевого адреса.

Сигнал на этот вход подается со специального вывода (вывод 8) разъема блока питания, который называется «Power Good» или «Power OK». Чаще всего он серого цвета.

Напряжение +5 В появляется там с задержкой, к тому времени, как переходные процессы уже закончились.

Бывают случаи (к счастью, достаточно редко), когда блок питания вырабатывает все основные напряжения в пределах нормы, а сигнал «Power Good» отсутствует. И компьютер при вроде бы исправном блоке питания не стартует. Это может ввести в ступор неопытного ремонтника.

Решается проблема ремонтом (или заменой) блока питания.

Как работает POST и что это такое?

Если все напряжения в норме и присутствует сигнал «Power Good», начинается выполнение программы POST (Power-On Self Test).

Это программа встроена (еще говорят «прошита») в BIOS (Basic Input Output System, базовая система ввода-вывода) материнской платы.

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

Проверяется наличие винчестера, приводов DVD, видеоподсистемы, устройств ввода (мыши, клавиатуры) и другого оборудования. Кроме того, производится быстрый тест памяти. Надо сказать, что тест памяти, заложенный в программе POST, именно быстрый.

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

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

Если в ячейку записались одни данные, а считались другие – ячейка считается дефектной.

Такой модуль подлежит замене.

BIOS Setup и Hardware Monitor

Если все оборудование в норме, программа POST издает короткий звуковой сигнал и обращается дальше к программе настройки (также «зашитой» в BIOS) Setup. Программа BIOS Setup имеет систему вложенных меню, которые можно увидеть на экране монитора.

Чтобы их увидеть, надо во время процедуры POST (сразу после включения) периодически кратковременно нажимать на клавиши Del, F2, F10 или другие (зависит от производителя BIOS и компьютера).

В настройках можно устанавливать дату, время, источник загрузки системы, константы, определяющие работу процессора, памяти и множество других параметров. Можно увидеть и параметры – напряжения блока питания, обороты вентиляторов, температуру процессора.

Это чрезвычайно полезная информация, позволяющая определить причины нестабильной работы компьютера.

Отметим, что если сразу после старта компьютера температура процессора достигает 50-60 градусов Цельсия и выше, то это говорит о проблемах с его охлаждением.

Часто BIOS Setup можно настроить так, что эти параметры будут выводиться при старте компьютера (перед загрузкой операционной системы).

И не нужно будет каждый раз входит в Setup. Но эти служебная информация будет пребывать на экране недолго, не более 2 секунд. Чтобы внимательно посмотреть на все параметры, надо нажать кнопку Pause на клавиатуре.

Отметим, что все эти параметры можно посмотреть и другим способом, уже после загрузки операционной системы. Для этого можно использовать программы Aida, Everest и им подобные.

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

Если вы плохо ориентируетесь в опциях BIOS Setup (или забыли, что меняли), то при выходе из нее используйте опцию «Exit without saving» (выйти без записи). И все, что вы случайно «наклацали», не запишется.

Многие, прочитав заглавие, улыбнутся: ну что же здесь сложного? Однако вдумайтесь: что же происходит с ПК после нажатия кнопки 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:

C0 - осуществляется программирование регистров микросхемы Host Bridge для установки следующих режимов:

запрещается Internal и External Cache, а также операции с кэш-памятью;

перед запретом Internal Cache очищается;

Shadow RAM запрещается, вследствие чего происходит направление непосредственно к ROM циклов обращения к адресам расположения System BIOS. Эта процедура должна соответствовать конкретному чипсету;

C1 - с помощью последовательных циклов запись/чтение определяется тип памяти, суммарный объем и размещение по строкам. И в соответствии с полученной информацией настраивается DRAM-контроллер. На этом же этапе процессор должен быть переключен в Protected Mode (защищенный режим).

C3 - проверяются первые 256 Кб памяти, которые в дальнейшем будут использованы как транзитный буфер, а также осуществляется распаковка и копирование System BIOS в DRAM.

C6 - по специальному алгоритму определяется наличие, тип и параметры External Cache.

CF - определяется тип процессора, а результат помещается в CMOS. Если по каким-либо причинам определение типа процессора закончилось неудачно, такая ошибка становится фатальной, и система, а соответственно и выполнение POST, останавливается.

05 - осуществляется проверка и инициализация контроллера клавиатуры, однако на данный момент прием кодов нажатых клавиш еще не возможен.

07 - проверяется функционирование CMOS и напряжение питания ее батареи. Если фиксируется ошибка питания, выполнение POST не останавливается, однако BIOS запоминает этот факт. Ошибка при контрольной записи/чтении CMOS считается фатальной, и POST останавливается на коде О7.

BE - программируются конфигурационные регистры Host Bridge и PIIX значениями, взятыми из BIOS.

0A - генерируется таблица векторов прерываний, а также производится первичная настройка подсистемы управления питанием.

0B - проверяется контрольная сумма блока ячеек CMOS, а также, если BIOS поддерживает PnP, выполняется сканирование устройств ISA PnP и инициализация их параметров. Для PCI-устройств устанавливаются основные (стандартные) поля в блоке конфигурационных регистров.

0C - инициализируется блок переменных BIOS.

0D/0E - определяется наличие видеоадаптера путем проверки наличия сигнатуры 55АА по адресу начала Video BIOS (C0000:0000h). Если Video BIOS обнаружен и его контрольная сумма правильная, включается процедура инициализации видеоадаптера. С этого момента появляется изображение на экране монитора, высвечивается заставка видеоадаптера, инициализируется клавиатура. Далее по ходу POST тестируется контроллер DMA и контроллер прерываний.

30/31 - определяется объем Base Memory и External Memory, и с этого момента начинается отображаемый на экране тест оперативной памяти.

3D - инициализируется PS/2 mouse.

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

42 - выполняется программный сброс контроллера жестких дисков. Если в Setup указан режим AUTO, производится детектирование устройств IDE, в противном случае параметры устройств берутся из CMOS. В соответствии с конфигурацией системы размаскируются прерывания IRQ14 и IRQ15.

45 - инициализируется сопроцессор FPU.

4E - настраивается клавиатура USB. На данном этапе становится возможен вход в CMOS Setup по нажатию клавиши DEL.

4F - осуществляется запрос на ввод пароля, если это предусмотрено установками CMOS Setup.

52 - производится поиск и инициализация ПЗУ дополнительных BIOS, а также картируется каждая из линий запросов прерывания PCI.

60 - если в Setup включен данный режим, устанавливается антивирусная защита BOOT Sector.

62 - осуществляется автоматический переход на зимнее или летнее время, для клавиатуры настраиваются состояние NumLock и режим автоповтора.

63 - корректируются блоки ESCD (только для PNP BIOS) и производится очистка ОЗУ.

B0 - это состояние записывается в регистр сигнатурного анализатора только в случае наличия ошибок, например, при тесте Extended Memory. Если при работе в Protected Mode сбои отсутствуют, то POST не включает эту ветвь. При наличии страничных нарушений и других исключительных ситуаций управление будет передано на эту процедуру, она выведет код B0 в порт 80(84)h и остановится.

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, загружаются из раздела файла 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 предоставляет ряд менее очевидных методов для выполнения этой же задачи:

После завершения теста оборудования клавишей F8 вызвать меню Startup;

Отредактировать инструкции запуска системы в файле MSDOS.SYS;

Использовать один из перечисленных методов для "остановки" в режиме DOS, после чего запустить Windows из командной строки с набором необходимых ключей;

Изменить содержимое папки Startup. По материалам сайта


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

Первый этап

На первом этапе запуском управляет человек. Предварительно он должен убедиться в том, что клавиатура - основное устройство управления - имеется в наличии и подключена, а электропитание подано. Для инициализации запуска достаточно нажать кнопку на лицевой панели - далее процесс развивается автоматически.

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

Второй этап

На втором этапе запуском компьютера управляют устройства. Точнее - материнская плата . Еще точнее - микросхема постоянного запоминающего устройства (ПЗУ), находящаяся на ней. Совсем точно - пакет встроенных программ, который называется BIOS. Как настроить Boot menu в BOIS Вы можете прочитать в другой инструкции.

Третий этап

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

Как и на втором этапе, управляющее стороной третьего этапа запуска является программа. Только теперь она не «зашита» в ПЗУ материнской платы, а берется с того диска, который назначен системным. Эта программа - первоначальный загрузчик операционной системы.

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

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

Что означают слова «мой компьютер не запускается»?

Каждый сетевой администратор постоянно сталкивается с ситуацией, когда пользователи, жалующиеся на неполадки, произносят туманную фразу, которая может слегка испортить настроение: «Компьютер не запускается!» Обычно при этом пользователи сообщают, что нечто непредвиденное произошло в процессе загрузки - либо во время самотестирования компьютера (Power On Self Test, POST), либо во время процедур начальной загрузки Windows. Для диагностики и устранения подобных проблем администратор должен понимать, что происходит в процессе загрузки.

Термин «сбой в процессе загрузки» относится и к аппаратным проблемам, и к проблемам операционной системы. Во времена компьютеров с MS-DOS, POST занимал больше времени, чем загрузка операционной системы, и аппаратура была источником большинства проблем при начальной загрузке. За последние годы аппаратное обеспечение стало более надежным, а благодаря развитым функциям BIOS возможности мониторинга, диагностики и управления оборудованием стали значительно шире. Поэтому в ситуации сбоя во время загрузки пользователи, скорее всего, сталкиваются именно с проблемой операционной системы. Давайте последовательно изучим процесс начальной загрузки, наблюдая, что происходит на каждом этапе, и уясним смысл каждого появляющегося сообщения об ошибке. Для удобства будем предполагать, что используются Windows 2000 или более поздние версии.

Включение питания

Не жалуется ли пользователь, что ничего не происходит, когда он нажимает кнопку питания? Если да, то сначала проверьте кабель.

Вот старый администраторский трюк на случай, если проходится иметь дело с выключенным из розетки компьютером при разговоре с пользователем по телефону. Пользователи часто не проверяют, включен ли их компьютер в розетку, а когда вы указываете им на такую возможность, возмущаются. Пользователь может воскликнуть: «Конечно, он включен!», но следует проверить, правда ли это. Попросите пользователя вынуть вилку из розетки и вставить заново, ссылаясь на необходимость «проверить полярность». Постарайтесь не хихикать. Просто невероятно, как часто пользователи отвечают: «О, сработало!»

Если дело не в вилке, то, возможно, в источнике бесперебойного питания - тоже уязвимом аппаратном компоненте системе. Источники бесперебойного питания стоят недорого, но замена аккумуляторов в них - утомительная и трудоемкая задача.

Проверка оборудования и BIOS

Если пользователь видит сообщение об ошибке в процессе POST или если компьютер просто зависает, прежде чем запускается операционная система, значит, проблема в оборудовании или в BIOS. Система выводит на экран сообщения об ошибках оборудования и BIOS и подает характерные звуковые сигналы. Некоторые ошибки BIOS выводятся в виде чисел и некогда все производители BIOS использовали одни и те же числа (те, что придумали в IBM), но теперь все изменилось. Теперь, чтобы интерпретировать номер ошибки, администратору требуется документация, пришедшая вместе с компьютером. Также можно поискать ее на Web-сайте производителя BIOS. Однако, скорее всего, на экране появится текст, а не числа, например Hard drive controller failure («Ошибка контроллера жесткого диска») или забавное сообщение Keyboard error, press F1 to continue («Ошибка клавиатуры, нажмите F1 для продолжения»).

Возможно, появится сообщение об ошибке, относящейся к проблемам с памятью. Когда-то память имела дополнительный компонент, называвшийся «чип четности», и частью теста BIOS была проверка на четность. Компоненты памяти больше не содержат чип четности, поскольку теперь в этом нет необходимости: производители памяти так продвинулись по пути совершенствования своих продуктов, что ошибки памяти стали крайне редки. Тем не менее после добавления в компьютер памяти при последующей загрузке может появиться сообщение об ошибке памяти. Сообщение содержит примерно такой текст: Mismatched memory information («Несоответствие параметров памяти»). В действительности это сообщение является подтверждением того, что система видит установленную память, но обнаружила, что она не соответствует общему количеству, записанному в CMOS.

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

Если после добавления в компьютер памяти система выдала сообщение об ошибке, в котором не говорится о разночтении в подсчете объема памяти, значит, проблема оказалась серьезнее. Система не распознает новую память. Эта ситуация почти всегда вызвана неаккуратными действиями при установке памяти, такими как использование неверного слота. В то же время мне доводилось видеть, как проблема вызывалась установкой памяти неверного типа (например, установкой плат памяти DRAM в старый компьютер с Enhanced Data Output, EDO), когда материнская плата не была предназначена для установки памяти смешанного типа, SIMM и DIMM, или когда материнская плата не воспринимала смешивание плат памяти с разными скоростями. Некоторые материнские платы при добавлении памяти нуждаются в изменении положения двухпозиционных переключателей и перемычек, хотя такие требования становятся все менее распространенными. Чтобы избежать подобных проблем, всегда перед добавлением памяти проверяйте документацию материнской платы.

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

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

Управление передается записи Master Boot Record

Далее компьютер начинает загрузку операционной системы. Во время установки программа загрузки Windows помещает данные на первый сектор главного раздела компьютера (загрузочный сектор). Эти данные - не что иное, как Master Boot Record, MBR (главная загрузочная запись), которая содержит исполняемые команды. Программа установки также копирует два файла, инициирующие начальный этап загрузки Windows, - Ntldr и Ntdetect - в корневой каталог загрузочного диска. Кроме того, Windows Setup копирует boot.ini, файл, содержащий параметры загрузки, в корневой каталог загрузочного диска.

Кроме исполняемых команд, MBR содержит таблицу, определяющую расположение главных разделов диска. При установке Windows необязательно делать так, чтобы системный раздел и загрузочный раздел совпадали, хотя это распространенный подход. Загрузочные файлы Windows расположены в системном разделе, а файлы операционной системы - в загрузочном (логика именования отстала от жизни).

Системный раздел содержит файлы привязки к аппаратным компонентам, которые необходимы для загрузки Windows, включая MBR. Этот раздел должен быть главным разделом и отмечается как активный. Это всегда диск 0, поскольку именно к этому диску обращается BIOS, чтобы передать процесс загрузки файлу MBR. Загрузочный раздел содержит файлы операционной системы (папка \%systemroot%) и файлы поддержки операционной системы (\%systemroot%System).

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

Запуск Ntldr

Код загрузочного сектора считывает Ntldr в память, чтобы запустить процесс начальной загрузки операционной системы. В Ntldr хранится доступный только для чтения код NTFS и FAT. Он начинает работать в реальном режиме, и первая выполняемая им задача заключается в переключении системы в некоторую форму защищенного режима. Более подробно об этих режимах рассказано во врезке «Реальный режим против защищенного». Этот первоначальный вариант защищенного режима не может в полной мере выполнять аппаратно-зависимых преобразований, которые обеспечивают защиту оборудования, - данная функция становится доступной, когда операционная система загрузится полностью.

Теперь вся физическая память доступна операционной системе, и компьютер работает как 32-разрядная машина. Ntldr делает возможной постраничную загрузку и создает таблицы страниц. Затем Ntldr считывает boot.ini из корневого каталога и, если на машине многовариантная загрузка или если выполнена настройка boot.ini на отображение меню, на экране появляется меню выбора вариантов загрузки. Если Ntldr отсутствует или поврежден, система выдаст сообщение об ошибке Ntldr is missing. Press Ctrl-Alt-Del to restart.

Не стоит зря тратить время, выполняя предложенное действие: после очередного цикла система вернется к тому же сообщению. Необходимо заменить Ntldr. Если создан загрузочный флоппи-диск, можно использовать его для копирования Ntldr в корневой каталог основного загрузочного диска (обычно C). Если Ntldr отсутствует, следует просто скопировать его. Если файл имеется на жестком диске, возможно, он поврежден. Для того чтобы заменить его, сначала нужно изменить его атрибут «только для чтения». Если загрузочного флоппи-диска под рукой нет, придется запустить программу Setup с компакт-диска Windows и выбрать Repair.

Запуск Ntdetect

Ntldr запускает Ntdetect, который запрашивает BIOS системы о данных конфигурации устройств. Система отправляет информацию, которую Ntdetect собирает в реестр и помещает в подразделы HKEY_LOCAL_MACHINEHARDWARE DESCRIPTION.

Если возникнет какая-нибудь проблема с Ntdetect (утрата или повреждение), возможно, система не выдаст никакого сообщения об ошибке. Обычно в таком случае процесс загрузки просто останавливается. Единственным действенным средством при утрате или повреждении файла Ntdetect является его замена. Необходимо воспользоваться для загрузки загрузочным флоппи-диском, затем скопировать Ntdetect с этого флоппи-диска в корневой каталог жесткого диска. Или же запустите Setup с компакт-диска Windows и выберите Repair.

Запуск Ntoskrnl и загрузка HAL

После того как Ntdetect закончит выполнение подпрограмм проверки оборудования, он передает процесс загрузки обратно файлу Ntldr, который запускает ntoskrnl.exe и загружает.dll-файл Hardware Abstraction Layer (HAL). (Оба файла расположены в папке \%systemroot%system32.) Ntoskrnl - это главный файл ядра Windows и исполнительных подсистем. Он содержит Executive, Kernel, Cache Manager, Memory Manager, Scheduler, Security Reference Monitor и другие. Именно Ntoskrnl приводит в действие Windows. Для работы Ntoskrnl необходим файл hal.dll, который содержит код, позволяющий оборудованию взаимодействовать с операционной системой.

На экране может появиться сообщение об ошибке, говорящее о наличии проблемы с Ntoskrnl, но почти всегда это сообщение фиктивно и появляется потому, что ссылка на папку в boot.ini не совпадает с именем папки, в которую были установлены системные файлы Windows.

Как правило, это означает, что кто-то переименовал папку \%systemroot% или создал новую папку и переместил в нее файлы Windows. В таком случае нужно переместить файлы обратно в то место, которое указано в boot.ini. Если boot.ini. был кем-то отредактирован, следует исправить эту ошибку.

Загрузка драйверов и служб

Теперь Ntldr загружает низкоуровневые системные службы и драйверы устройств, но службы не инициализируются - это происходит позже. На этом фаза начальной загрузки завершается и начинается процесс основной загрузки (load sequence или kernel phase).

При загрузке системных служб и драйверов устройств Ntldr следует определенному порядку. В процессе установки Windows драйверы и системные службы копируются на компьютер, а информация о них записывается в реестр. Данные в реестре представляют собой шестнадцатеричную запись, оканчивающуюся числом в круглых скобках. Это число и определяет порядок, в котором Ntldr загружает драйверы и системные службы. Для примера следует открыть реестр и перейти в раздел HKEY_LOCAL_MACHINESYSTEM CurrentControlSetServices. На экране появится длинный список служб и драйверов устройств. Выберите любой подраздел и взгляните на данные типа REG_DWORD под именем Start.

  • (0) означает, что служба загружается во время фазы основной загрузки.
  • (1) означает, что служба загружается во время фазы инициализации (следующая фаза).
  • (2) означает, что служба загружается во время фазы загрузки, предназначенной для служб.
  • (3) означает, что служба включена, но не инициализируется (запуск службы осуществляется вручную через оснастку Services консоли Microsoft Management Console (MMC)).
  • (4) означает, что служба отключена.

Загрузка операционной системы

Ntoskrnl начинает загрузку операционной системы. Инициализируется ядро Windows и загружаются и инициализируются подсистемы. Эти действия формируют базовые элементы, необходимые для завершения загрузки операционной системы. Загрузочные драйверы, которые модуль Ntldr загрузил ранее, теперь инициализируются, вслед за чем инициализируются оставшиеся драйверы и службы. Когда инициализируются драйверы первого уровня, может возникнуть проблема в виде ошибки STOP или Blue Screen of Death. Это почти всегда бывает в процессе первой загрузки после обновления какого-либо драйвера. Во время инициализации драйвера файлом Ntoskrnl операционная система отторгает его.

Для решения проблемы необходимо перезагрузить компьютер, нажать F8 для отображения меню дополнительных возможностей (Advanced Options) и выбрать вариант загрузки последней успешной конфигурации (Last Known Good Configuration), соответствующей предыдущей версии драйвера.

Теперь ядро Windows и исполняющие модули работоспособны. Программа Session Manager Subsystem (smss.exe) настраивает пользовательскую среду. Система выполняет сверку с реестром, для того чтобы иметь возможность начать загрузку оставшихся драйверов и программного обеспечения, которые необходимо добавить. Ядро операционной системы также загружает файлы kernel32.dll, gdi32.dll и user32.dll, которые обеспечивают программное обеспечение пользователя доступом к Win32 API.

Регистрация компьютера в домене

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

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

В качестве дополнительной меры безопасности компьютеры (как и пользователи в сети с усиленной настройкой системы безопасности) должны периодически менять пароли. По умолчанию интервал смены пароля составляет 30 дней. Когда настает время менять пароль, компьютер генерирует новый пароль и отправляет его по защищенному каналу (доступ к которому он получил, используя предыдущий пароль) на ближайший DC. В дальнейшем для доступа к защищенному каналу компьютер должен использовать новый пароль.

DC немедленно обновляет свою базу данных и реплицирует изменение пароля компьютера на другие DC домена. Пароли учетных записей компьютера содержат отметку о событии первостепенной важности (Announce Immediately), поэтому они не дожидаются следующей репликации DC по расписанию. Иногда эти события могут вызывать заметное снижение производительности. Если у многих или у всех компьютеров домена срок действия паролей заканчивается в один и тот же день, работа, которую должны будут выполнить контроллеры домена, сразу же затормозит другие важные задачи DC, такие как аутентификация пользователей или выполнение запланированных репликаций. Ситуация может осложниться еще и в том случае, если DC предоставляет другие услуги, такие как, например, услуги сервера DNS. Можно изменить способ обслуживания паролей компьютера для домена, для организационной единицы (OU) и для индивидуального компьютера, хотя стремление повысить производительность путем настройки компьютеров по одному неэффективно. В следующей статье я планирую рассказать о методах изменения процедуры регистрации компьютера в домене.

Загрузка служб регистрации пользователя

Подсистема Win32 запускает winlogon.exe, которая выводит на экран диалоговое окно регистрации пользователя и загружает процесс Local Security Authority (lsass.exe). Начинается процесс регистрации, и пользователь должен ввести имя и пароль в диалоговом окне Windows Log On To. Если пользователь указывает правильные имя и пароль, система завершает процесс регистрации, и пользователь может начинать работать. В этот момент загрузка Windows окончена, а текущие параметры загрузки сохраняются в так называемой последней успешной конфигурации (Last Known Good Configuration). Нужно иметь в виду, что успешная регистрация пользователя необходима для сохранения Last Known Good Configuration.

Действительно, сбои во время загрузки мешают всем - и пользователям, и администраторам. Однако, если досконально разобраться в процессе загрузки, проблемы становятся менее устрашающими и администраторам удается без труда решить их.

Реальный режим против защищенного

Тем, кто работает с компьютерами со времен DOS, будет легко понять разницу между реальным и защищенным режимом. Но для тех, чье знакомство с компьютером состоялось после распространения Windows, она может быть не столь очевидной.

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

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

Кэти Ивенс ([email protected]) - редактор Windows & .NET Magazine. Является соавтором более 40 книг по компьютерной тематике, включая «Windows 2000: The Complete Reference»

После включения вашего компьютерапроисходит тестирование апgаратного обеспечение. Рассмотрим порядок загрузки Windows. Операционная система проверяет какие именно компоненты подключены к компьютеру, и их испраdность. Если же система обнаруживает какую либо неполадку с одной из важных составляющих, тогда процесc загрузки будет остановлен и вы будите уведомлены о причине в сообщении выведенном на экране.Кроме этого имеется еще и специальная «азбука» звуковых сигналов. По количеству писков BIOS можно определить работоспособность вашего компьютера. К примеру, один короткий сигнал, значит, что тестирование уcпешно завершено. А допустим один длинный и два коротких, о том что BIOS не обнаружил видеокарту.

После этой процедуры происходит поиски загрузочного сектора, который заранее выбран в BIOS. Как правило это жесткий диск. Но и этот этап не относится к загрузке операционной системы.

Когда загрузочный сектор найден, то BIOS производит считывание содержимого с 1-го сектора диска. В нем и находится MBR (Master Boot Records), это основная загрузочная запись и конечно же таблица разделов диска.Именно с ее помощью BIOS может определить, какой раздел является активным. И с него начинается загрузка операционной системы.

В дальнейшеv по порядку загрузки Windows управление передается загрузочной записи,она находится в 1-ом секторе активного раздела. При ее помощи запускается менеджер загрузки Windows.

После этого из файла Boot Configuration Data который находится в папке (Boot) активного раздела, менеджер загрузки производит считывание конфигурации системы. Если Этот файл содержит несколько записей, то вы увидите меню в котором сможете выбрать операционную систему.

Далее происходит запуск Winload.exe, это модуль загрузки системы, компонентов ядра (Ntoskml.exe и Hal.dll), а так же системных служб и других составляющих компонентов. Ну а в это время вы увидите логотип Windows.

После происходит автоматический вход в систему. Если же у вас установлен вход в систему при помощи логина и пароля, тогда происходит загрузка процесса winlogon.exe, который выведет вам окно для ввода вашего логина и пароля.

Итак. При соблюдении ряда условий, не будет нарушен порядок загрузки Windows, а следовательно вы сможете спокойно работать за своим компьютером. Таких условий четыре, а именно:

1. В параметрах BIOS обязательно должен быть прописан диск, на котором хранится операционная система;

2. В первом секторе жесткого диска должны быть корректные MBR и таблица разделов, и один из разделов помечен как активный;

3. На активном разделе должна быть загрузочная запись а в его корневой папке должен содержаться файл bootmgr;

4. В папке Boot должен содержаться файл BCD с правильными записями о операционных системах которые установленны на жестком диске.

После включения вашего компьютера происходит тестирование апgаратного обеспечение. Рассмотрим порядок загрузки Windows .

Операционная система проверяет какие именно компоненты подключены к компьютеру, и их испраdность. Если же система обнаруживает какую либо неполадку с одной из важных составляющих, тогда процесc загрузки будет остановлен и вы будите уведомлены о причине в сообщении выведенном на экране.

Кроме этого имеется еще и специальная «азбука» звуковых сигналов. По количеству писков BIOS можно определить работоспособность вашего компьютера или ноутбука. К примеру, один короткий сигнал, значит, что тестирование уcпешно завершено. А допустим один длинный и два коротких, о том что BIOS не обнаружил видеокарту. Мы в сервис-центре можем подсказать и расшифровать сигналы даже удаленно, обращайтесь и ремонт ноутбуков на дому покажеться проще простого.

Поиски загрузочного сектора

После этой процедуры происходит поиски загрузочного сектора, который заранее выбран в BIOS. Как правило это жесткий диск. Но и этот этап не относится к загрузке операционной системы.Когда загрузочный сектор найден, то BIOS производит считывание содержимого с 1-го сектора диска. В нем и находится MBR (Master Boot Records), это основная загрузочная запись и конечно же таблица разделов диска. Именно с ее помощью BIOS может определить, какой раздел является активным. И с него начинается загрузка операционной системы. В дальнейшем по порядку загрузки Windows управление передается загрузочной записи, она находится в 1-ом секторе активного раздела. При ее помощи запускается менеджер загрузки Windows. После этого из файла Boot Configuration Data который находится в папке (Boot) активного раздела, менеджер загрузки производит считывание конфигурации системы. Если Этот файл содержит несколько записей, то вы увидите меню в котором сможете выбрать операционную систему. Далее происходит запуск Winload.exe, это модуль загрузки системы, компонентов ядра (Ntoskml.exe и Hal.dll), а так же системных служб и других составляющих компонентов. Ну а в это время вы увидите логотип Windows. После происходит автоматический вход в систему. Если же у вас установлен вход в систему при помощи логина и пароля, тогда происходит загрузка процесса winlogon.exe, который выведет вам окно для ввода вашего логина и пароля. Если произошел сбой, то компьютерная помощь на дому оперативно поможет. Итак. При соблюдении ряда условий, не будет нарушен порядок загрузки Windows, а следовательно вы сможете спокойно работать за своим компьютером. Таких условий четыре, а именно:

1. В параметрах BIOS обязательно должен быть прописан диск, на котором хранится операционная система;

2. В первом секторе жесткого диска должны быть корректные MBR и таблица разделов, и один из разделов помечен как активный;

3. На активном разделе должна быть загрузочная запись а в его корневой папке должен содержаться файл bootmgr;

4. В папке Boot должен содержаться файл BCD с правильными записями о операционных системах которые установленны на жестком диске.