Какая программа определяет порядок загрузки компьютера. Что происходит с компьютером после включения

Вкратце процесс загрузки компьютера описан в статье "Включение ПК" раздела BIOS. Рассмотрим этот процесс более подробно.

Инициализация системы средствами BIOS

  1. Нажатие кнопки включения питания. При включении кнопки Power на элементы материнской платы поступают питающие напряжения; по сигналу Power Good запускается тактовый генератор; на процессор подается сигнал сброса, который устанавливает его в исходное состояние. Начинают работать программы системного BIOS.
  2. Проверка BIOS. Контрольная сумма системных программ, находящихся в ПЗУ, находится в одной из ячеек. После запуска контрольная сумма пересчитывается и сравнивается с эталонным значением.
  3. Идентификация процессора. Материнская плата предусматривает возможность установки различных моделей процессора. БИОС подает запрос на идентификацию процессора и по полученному ответу определяет тип процессора, частоту, напряжения и проч.
  4. Настройка базовых элементов. Инициализируются и тестируются базовые компоненты системной платы: блок прямого доступа к памяти, таймер, блок аппаратных прерываний.
  5. Тестирование ОЗУ. Определяется тип модулей памяти, их объем, организация; тестируются первые 64 Кб оперативной памяти.
  6. Организация рабочих структур ОЗУ. Выделяется область под БИОС, настраиваются прерывания.
  7. Проверка CMOS-памяти и батарейки. При неисправной батарейке CMOS все данные настройки БИОС, находящиеся в памяти теряются. Загрузка последней конфигурации становится невозможной, о чем сообщается на экране монитора. Есть возможность осуществить загрузку стандартных заводских значений БИОС.
  8. Инициализация устройств материнской платы. Производится поиск и настройка загрузочных устройств (жесткий диск, привод CD, FDD), средств управления процессом загрузки (клавиатура, мышь), устройств ввода-вывода (COM, LPT). Устройствам выделяются соответствующие линии прерывания .
  9. PnP. Идентифицируются устройства, подключенные через системные разъемы. Устройствам выделяются ресурсы и прерывания.
  10. Включение видеосистемы. Запускается Video BIOS, который настраивает видеоконтроллер на режим VGA или EGA, которые поддерживают все видеоконтроллеры. После этого видеоконтроллер готов к работе.
  11. Выдача сообщения на экран монитора. На экране монитора появляется первое сообщение: фирма-производитель BIOS, тип и частота процессора, тип и объем ОЗУ.
  12. Тестирование ОЗУ. Производится выборочная проверка незадействованной оперативной памяти.
  13. Инициализация контроллера дисководов.
  14. Инициализация контроллера жестких дисков.
  15. Инициализация клавиатуры. Включается контроллер клавиатуры, производится тест матрицы контактов, устанавливаются временные параметры опроса клавиш и режим NumLock. Клавиатура готова к работе. На экран выводится сообщение о возможности использования программы BIOS Setup (обычно для этого используется клавиша Del).
  16. Поиск устройств с собственным BIOS. Если таковые устройства найдены, то управление передается BIOS-программам этих устройств и происходит их инициализация.
  17. Передача управления загрузчику ОС. По программному прерыванию Int 19h на дисковых накопителях ищется загрузчик ОС (Boot Record). Он должен находиться на одном из устройств (HDD, CD, FDD, SCSI). Местоположение загрузчика везде одинаково. После того, как загрузчик ОС найден, управление передается ему.

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

Ядро операционной системы (ОС) загружается в ОЗУ, после чего в памяти системы размещается основная часть ОС.


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


На заре развития персоналок конфигурирование системы требовало от пользователей соответствующей квалификации. Наверняка, пользователи со стажем еще помнят такие файлы, как config.exe и autoexec.bat , которые надо было правильно настроить, чтобы "телега" нормально поехала.


Что поделать, - это была обратная сторона медали открытой архитектуры IBM. За удобство получения компьютера нужной конфигурации надо было платить знаниями по его правильной настройке. Такие неудобства отпугивали неподготовленных пользователей, поэтому, фирмы-производители ПК не могли долго мириться с подобным положением вещей. Производители компьютерной техники и разработчики программного обеспечения постарались максимально снять с потребителя необходимость конфигурирования своего компьютера. Впервые новая процедура настройки системы была применена в ОС Windows - операционная система сама "опрашивала" подключенные устройства и правильно настраивала их:

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

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

  • Инициализирующие программы заносят управляющие коды по конкретным адресам (разовая процедура);
  • Драйверы - это программы, управляющие работой контроллера соответствующего устройства;
  • INF-файл - командный файл, помогающий ОС организовать процедуру настройки конкретного компьютерного блока.

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


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

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

  1. Power On Self Test (POST) - запускается только один раз и сразу после включения питания. В этом тесте проверяется аппаратура на наличие грубых ошибок (функционирование аппаратуры вообще). Одним из видимых шагов на экране - тестирование памяти.
  2. Инициализация - запускается каждый раз, когда машина перегружается (например, когда пользователь нажимает Ctrl-Alt-Del) - инициализирует все доступные устройства на плате и в слотах расширения (ISA, PCI, AGP).
  3. Третья часть - это собственно BIOS (BASIC INPUT/OUTPUT SYSTEM) - базовая система ввода/вывода на низком уровне. Этими функциями пользуются некоторые операционные системы (DOS, Windows и др.) Обычно, весь BIOS располагается на отдельном чипе, который программируется на заводе, хотя в современных компьютерах может быть перепрограммирован прямо из системы. Т.е. сейчас используется Flash Memory.

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

Тест памяти - это наиболее видимая часть теста аппаратуры на этапе POST. Кстати, о видимости - видеоадаптер - тоже аппаратура, и его как раз необходимо инициализировать в первую очередь - чтобы пользователь мог видеть процесс тестирования и инициализации устройств. Так же, необходимо установить еще и режим (частоту обновления, разрешение) экрана. Ведь видеокарты могут быть сделаны разными фирмами, да еще и разные модели - кому как не БИОСу самой карточки знать досконально, как ее нужно инициализировать?
На каждой видеокарте есть свой BIOS, который опрашивается на его наличие при тестировании аппаратуры. Сначала системный БИОС ищет видео по стандартным адресам ISA VGA, - если там нет адаптера, то он ищется на PCI , потом на AGP (или сначала AGP, а потом PCI - это прописывается в установках BIOS SETUP). И если, видеобиос найден в одном из слотов, то управление передается на него.

И вообще, присутствие БИОСа на различных адаптерах заставляет системный БИОС отдавать им управление - в случае с видеоадаптером - это включение режима и т.д., в случае с сетевой картой - загрузка с сети (в случае с без дисковыми машинами - удаленная загрузка с сети) - при наличие BIOS на сетевой карте и наличие жесткого диска БИОС, например, может спросить - как будем грузиться - с сети или с имеющегося HDD? При наличии SCSI адаптера - он должен проинициализировать свои устройства (диски, CD-приводы, ленточные накопители и т.п.) и если таковые найдутся из числа дисков SCSI - необходимо будет поддержать int13 для того, чтобы система могла обращаться к ним, как к обычным жестким дискам. Хотя, инициализация SCSI устройств необязательна - например, при старте, ее можно отключать - если SCSI устройство не является загрузочным, это разумно.

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

Итак, коротко можно описать следующим образом: все, кроме SCSI, IDE, USB "оживает" сразу - из адаптеров исключение составляет видеоадаптер, который инициализируется даже до проверки памяти.

Далее - если в слотах ISA находятся другие устройства, имеющие свои ПЗУ (с BIOS) - они инициализируются на этапе проверки внешних устройств, потом проходит проверка и назначение PCI (проверка устройств Plug and Play). Кстати, PnP есть и на ISA адаптерах.
Только после этого начинается проверка наличия устройств на IDE шине.

Тут может возникнуть вопрос - а как быть, если на ISA нет видеоадаптера, а есть на PCI - но ведь он "оживает" сразу - не дожидаясь даже проверки всего PCI? Просто на PCI есть BIOS, отображаемый в обычное пространство памяти, и все VGA PCI имеют еще и стандартную VGA программную часть, находящуюся в тех же регистрах, как и в случае, если бы это был ISA адаптер. Системный BIOS проверяет, есть ли VGA на ISA шине - если да, то на PCI шину и "не лезет", если нет - то сканирует PCI.

Ну, и в конце концов, после инициализации - считывается первый сектор первой дорожки первой головки жесткого диска и управление передается загрузочному сектору, который уже управляет дальнейшими действиями (либо выдается сообщение типа "NO SYSTEM TO BOOT"). Или подобным же образом система грузится с дискеты.


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

Первый этап

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

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

Второй этап

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

Третий этап

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

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

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

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

Процесс загрузки ПК можно разделить на определенные этапы.
1. Включение питания.
2. Блок питания выполняет процедуру самотестирования. Если выходные напряжения соответствуют определенным параметрам, на материнскую плату подается сигнал Power_Good. Интервал между включением и подачей сигнала составляет порядка 0,1-0,5 секунд.
3. Микросхема памяти, получив сигнал Power_Good, прекращает генерировать сигнал Reset, подаваемый на процессор.
4. Процессор запускает выполнение кода, записанного в ROM BIOS (начинает с адреса FFFF:0000). По данному адресу находится инструкция перехода на исполняемый код ROM BIOS.
5. Далее ROM BIOS запускает тестирование системы для проверки ее работоспособности. Выявив ошибку, система подает серию звуковых сигналов, поскольку видеоадаптер в этот момент не инициализирован. Если версия BIOS системы соответствует требованиям стандарта Plug and Play, проходят нижеперечисленные этапы. В противном случае производится переход к п.10.
6. Система Plug and Play BIOS сканирует каналы прямого доступа к памяти, линии прерываний, постоянные адреса ввода-вывода и другие параметры, требуемые для конфигурации устройств, поддерживающих данный стандарт.
7. Все устройства Plug and Play, обозначенные в BIOS, деактивизируются для того, чтобы избежать потенциальных конфликтов.
8. Формируется карта ресурсов (свободных и используемых).
9. Устройства Plug and Play активизируются, после предварительной конфигурации. Если в компьютере используется BIOS, не поддерживающая стандарт Plug and Play, установленные устройства Plug and Play проходят процесс инициализации с параметрами по умолчанию. Данные устройства в дальнейшем могут изменить конфигурацию при загрузке системы (диспетчер конфигурации запрашивает у BIOS данные об устройстве, а затем выясняет конфигурацию каждого устройства с поддержкой Plug and Play).
10. В поисках приложения работы с видеокартой BIOS сканирует память видео-адаптера в диапазоне адресов от C000:0000 до С780:0000. После нахождения BIOS видеокарты, сравнивается контрольная сумма ее программного кода. В случае совпадения контрольной суммы управление получает BIOS видеокарты, которая проводит инициализацию видеоадаптера и выводит на дисплей курсор; в противном случае формируется сообщение об ошибке.
11. Если не удается обнаружить BIOS видеокарты, используется видеодрайвер, сохраненный в микросхеме ROM материнской платы, который и проводит процедуру инициализации видеоадаптера.
12. BIOS материнской платы проверяет оставшийся диапазон памяти (с C800:0000 до DF80:0000) на наличие BIOS других адаптеров, подключенных к системной плате (например, SCSI).Найденные BIOS также запускаются на выполнение.
13. При выявлении несоответствий контрольной суммы одной из BIOS отображается сообщение об ошибке вида **** ROM ERROR, где **** – сегментный адрес модуля ROM с некорректными данными.
14. BIOS определяет слово, записанное по адресу 0000:0472, для определения вида загрузки (горячая или холодная). Если выполняется горячая загрузка, значение слова будет 1234h, в результате чего пропускается процедура POST. Если данный адрес хранит другое слово, запускается тест POST.
15. При холодном старте выполняется POST. В процессе тестирования на экране отображаются сообщения обо всех найденных ошибках и подается звуковой сигнал из встроенного динамика.
16. BIOS считывает 1 сектор, расположенный на стороне 0, цилиндре 0 (первый сектор) накопителя, с которого производится загрузка.
17. Если загрузка осуществляется с дискеты и первый байт, расположенный в загрузочной записи, меньше 06h или если данный байт равен или больше данного числа, но первые пять слов имеют одинаковые шаблоны данных, выводится сообщение о некорректной загрузочной записи дискеты.
18. Если загрузочной записи тома не удается загрузить или найти системные файлы, выводится оповещение о том, что накопитель не является системным.
19. Если в дисководе отсутствует системная дискета, BIOS считывает сектор MBR (главная загрузочная запись).
20. Если сигнатура данного сектора (последние два байта) не равны 55AAh, создается прерывание 18h. На монитор ПК при этом выводится соответствующее предупреждение.
21. Загрузчик производит поиск в таблице разделов активного раздела.
22. Если в таблице отсутствует активный раздел, выводится оповещение об ошибке при помощи вызова программного прерывания 18h.
23. Если какой либо из разделов содержит некорректную метку либо более одного раздела помечены как активные, выводится сообщение Invalid partition table и загрузка системы прекращается.
24. Если активный раздел найдет, его загрузочный сектор копируется в память и запускается проверка, действительно ли он является загрузочным.
25. Если загрузочный сектор загрузочного раздела не удается считать за пять попыток, выводится сообщение Error loading operating system и загрузка системы останавливается.
26. Сканируется сигнатура загрузочного сектора. Если два последних байта не равны значению 55AAh, выводится сообщение Missing operating system и загрузка системы прекращается.
27. Загрузочный сектор активного раздела хранит приложение загрузки ОС. Если системные файлы не расположены первыми в корневом каталоге, попытка чтения не удалась или загрузочный сектор поврежден, выводится сообщение о том, что диск содержит ошибку или не является системным.
Дальнейшая загрузка зависит от используемой операционной системы.

Загрузка операционной системы является сложным процессом и состоит из нескольких этапов.


Немногие пользователи ПК знают, что происходит после нажати кнопки Power с их компьютером. Итак, поехали!

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

4. MBR находит активный раздел и передает управление загрузочной записи, которая должна находиться в первом секторе активного раздела. С подмогой загрузочной записи запускается менеджер загрузки Windows 7 (файл bootmgr, тот, что находится в корневой папке активного раздела).
5.Менеджер загрузки считывает данные конфигурации системы ПК, которые хранятся в файле BCD (Boot Configuration Data). При наличии нескольких записей в файле BCD будет отображено меню выбора операционной системы. Файл BCD находится в папке Boot активного раздела.
6. После выбора системы запускаются модуль загрузки операционной системы Winload. exe, компоненты ядра Ntoskrnl. exe и Hal. dll, системные службы и другие компоненты - данный этап сопровождается итогом анимированного экрана с логотипом Windows.
7. Загружается процесс winlogon. exe, тот, что управляет входом пользователей в систему. Если на компьютере имеется одна учетная запись, не защищенная паролем, вход будет исполнен автоматически. В другом случае система будет ждать выбора имени пользователя и ввода пароля.
8. В процессе входа в систему запускаются элементы автозагрузки, которые прописаны в реестре Windows 7 и папке Автозагрузка.
Исходя из изреченного выше, дозволено сделать итог, что для удачной загрузки Windows 7 нужны следующие данные.
Нынешние настройки BIOS обязаны обеспечивать загрузку с HDD, на котором установлена Windows 7. Если в BIOS установлена первоочередная загрузка со сменных носителей, следует также извлечь диски из приводов.

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

На активном разделе должна быть загрузочная запись Windows 7, а в его корневой папке должен находиться файл bootmgr.
В папке Boot активный раздела должен присутствовать файл BCD, содержащий верные записи об установленных операционных системах.

Примечание
в качестве 2-й операционной системы активный традиционно является раздел, на котором установлена предыдущая версия Windows. Именно там находятся файл bootmgr и папка Boot. Если же вы исполняли разбивку жесткого диска на разделы средствами Windows 7, то активным будет назначен спрятанный раздел размером около 100 Мбайт.
Если компьютер не загружается, попытайтесь узнать, на каком именно этапе происходит остановка. Сообщение, которое выводится при прекращении загрузки системы, обычно разрешает достаточно верно определить возникшую загвоздку.
Не поленитесь при необходимости перевести его с английского языка. Если вам не удалось обнаружить место ошибки по сообщениям либо загрузка останавливается без их возникновения, испробуйте воспользоваться следующими советами.
Посмотрите, отображается ли на экране меню выбора операционной системы либо меню дополнительных вариантов загрузки. Если нет, испробуйте в процессе загрузки несколько раз нажать клавишу F8. Если меню выбора вариантов загрузки не удалось вывести на экран, причинами могут быть ошибки оборудования, неправильные параметры BIOS, поврежденные загрузочные секторы либо файлы (см. этапы 1-5 описанной выше последовательности ).
Если меню загрузки отображается, но сразу после выбора операционной системы запуск останавливается, допустимо, в файле BCD содержатся ложные записи.
Если запуск останавливается позже итога анимированного экрана с логотипом Windows, возможно, поводом сбоя является драйвер устройства либо системная служба.