Принцип загрузки компьютера

Почему необходимо понимать принцип загрузки операционной системы Windows? Старт компьютера, загрузка операционной системы — поэтапные процессы, проходящие соответственно определенным правилам и протоколам. Зачастую, на форуме компьютерной помощи, «знатоки» начинают советовать не понимая ни сути проблемы, ни метода ее устранения. Без понимания принципа работы и архитектуры ПК ремонт компьютеров не возможен: переустановкой Windows и сбросом батарейки CMOS сложные проблемы не решаются. Для восстановления работоспособности компьютера необходимо четко понимать принцип загрузки операционной системы WIndows от нажатия кнопки Power до появления рабочего стола.

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

 

BIOS

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

Базовая операционная система ввода-вывода (BIOS) необходима для начального старта компьютера: распознавания и конфигурации устройств (железа), распределения прерываний, выставления частот и таймингов устройств, поиска загрузочного устройства хранения (по определенным меткам) для загрузки операционной системы Windows/Linux/BSD и т.п. Так же операционная система BIOS содержит драйвера для работы с базовыми устройствами ввода-вывода: клавиатура, дисплей. Хотя Windows, например, не использует драйвера BIOS имея в распоряжении собственные, такие операционные системы как DOS охотно используют модули драйверов базовой системы ввода-вывода. Т.о. основная функция BIOS проинициализировать, проверить и настроить все устройства до этапа загрузки операционной системы. При включении компьютера на базе х86 его процессор начинает работать в режиме реальной адресации. В конце доступного процессору адресного пространства оперативной памяти из ПЗУ материнской платы отображен загрузчик базовой системы ввода-вывода (BIOS) которому передается управление.

Такой принцип загрузки компьютера класса IBM PC был сформирован и утвержден много лет назад. Однако, современные реалии уже не приемлют устаревший 16-и разрядный BIOS. На его смену пришел программный продукт Intel под названием EFI BIOS обладающий значительными преимуществами.

Режим реальной адресации ЦП

Режим реальной адресации — это такой режим работы процессора при котором ему доступно 1Мб (именно 1 мегабайт — это не опечатка) памяти в которой размещаются основная область 640Кб хранящая таблицу прерываний устройств, данные BIOS и данные 16-и битных программ DOS (если их кто-то еще запускает). За основной область памяти «внутри» первого 1Мб хранится Upper Memory Area (UMA) размером 384 Кб. В ней содержится информации об аппаратной части компьютера: видеопамять, адаптеры BIOS, а так же зарезервированное место размером 128Кб использующееся как специальное программное окно, через которое можно странично адресовать память выше 1Мб. Память свыше первого 1Мб может быть доступна через спецификацию расширенной памяти (англ. Expanded Memory Specification, EMS) при этом там можно хранить только данные, но не код программы. Для того, чтобы память выше 1Мб была доступна непосредственно программам без интерфейса EMS, процессор необходимо переключить в защищенный режим работы. Принцип загрузки компьютера в режиме реальной адресации — историческая особенность первых процессоров таких как Intel 80286 который не мог адресовать более одного мегабайта памяти. BIOS — из той же эпохи. Вот почему современные компьютеры и ноутбуки используют с недавнего времени вместо BIOS расширенную базовую систему ввода-вывода под названием EFI.

Согласно настройкам Boot device priority BIOS опрашивает устройства хранения и ищет в первом секторе диска сигнатуру 55AA. Это является признаком наличия MBR на загрузочном устройстве. В противном случае выводится информация об ошибке: «No bootable device».

 

Первый сектор MBR занимает 512 байт и содержит код загрузчика, таблицу разделов (4 поля по 16байт) и признак загрузочного устройства в виде записи 55AA.

 

Загрузка Windows

BIOS производит чтение 512 байт первого сектора жесткого диска в оперативную память по адресу 0x00007C00, далее прочитанному коду передаётся управление. Этот программный код MBR сканирует таблицу разделов жесткого диска и передает управление загрузочному коду (PBR — Partition Boot Record) одного из разделов ЖД имеющего статус «активный». Windows, например не будет загружаться с раздела жесткого диска не имеющего статус активного. Задача кода в активном разделе диска загрузить ядро операционной системы в память и передать ему управление. Код в загрузочном секторе  считывает корневой каталог для Ntldr. Ntldr производит следующие шаги:

  • Переводит процессор в 32-битный режим работы — вариант реального режима процессора, в котором может адресоваться до 4 Гб памяти.
  • Организовывает доступ к файловой системе
  • Ntldr.exe считывает boot.ini (файл конфигурации загрузки в Windows XP)
  • Ntldr запускает файл ntdetect.com, который собирает основную информацию об аппаратном обеспечении компьютера, сообщаемую BIOSом

Далее загружается Ntoskrnl.exe (ядро системы), hal.dll. Ядро и HAL (уровень аппаратных абстракций) инициализируют Windows executive, который читает конфигурацию оборудования из реестра (ключ HKEY_LOCAL_MACHINE\SYSTEM) и запускает сервисы и драйверы.

Во время загрузки драйверов устройств на экране монитора отображается анимированный бегунок загрузки Windows. Так что если «бегунок подвис», загружайтесь в безопасном режиме (F8) и отключайте по одному основные драйверы: видеокарты, драйверы сетевых адаптеров.

 

Оставить комментарий

Поиск
Техника
Архивы
Обновления
Новые статьи

Последние комментарии
Исправленая тема от Thomas W.P. Slatin.
Business Key Top Sites