Аппаратный запуск и стабилизация питания
Все начинается с механического замыкания контактов Power Switch на материнской плате. Сигнал уходит на микроконтроллер управления питанием, который дает команду блоку питания начать выработку основных рабочих напряжений на шинах номиналом 3.3, 5 и 12 вольт. Блок питания выходит на стабильный рабочий режим за долю секунды, обычно от ста до пятисот миллисекунд. Когда внутренние схемы блока питания убеждаются в стабильности выходных линий без просадок и скачков, по отдельному серому проводу подается логический сигнал Power Good на материнскую плату.
Материнская плата снимает сигнал принудительного сброса с центрального процессора только после получения подтверждения Power Good. До этого момента процессор физически удерживается в состоянии сброса, чтобы нестабильное напряжение не повредило внутренние транзисторы и не спровоцировало фатальные логические сбои. Снятие фиксации сброса заставляет процессор очистить свои внутренние регистры и выставить на шину адреса жестко закодированное шестнадцатеричное значение. В архитектуре x86 этот стартовый адрес указывает на постоянное запоминающее устройство, где размещена базовая прошивка материнской платы.
Самодиагностика и инициализация оборудования
Первой исполняемой программой становится микрокод BIOS или более современный интерфейс UEFI. Компьютер в этот момент находится в крайне уязвимом состоянии, поскольку оперативная память еще не настроена, видеокарта не выдает изображение, а контроллеры накопителей отключены. Прошивка запускает алгоритм Power-On Self-Test, проверяющий критически важные физические компоненты вычислительной машины.
Алгоритм самодиагностики выполняется строго по определенным шагам:
- Проверка целостности базовых регистров и логики самого центрального процессора
- Опрос контроллера системной памяти и вычитывание SPD-профилей таймингов модулей ОЗУ
- Запись тестовых последовательностей битов в ячейки оперативной памяти для проверки их работоспособности
- Инициализация шины PCI Express, обнаружение дискретной или встроенной видеокарты и запуск ее собственного микрокода
- Опрос интерфейсов SATA, NVMe и USB для составления перечня доступных дисков и периферии
Если какой-то компонент выходит из строя на раннем отрезке проверки, плата подает звуковые сигналы через спикер или выводит шестнадцатеричный код ошибки на индикатор POST-кодов. Успешное завершение процедуры подтверждается одиночным коротким звуковым сигналом, после которого система переходит к этапу поиска исполняемых файлов на постоянных носителях.
Передача управления системному загрузчику
Современные компьютеры используют стандарт UEFI взамен устаревшего BIOS. При старом подходе BIOS считывал самый первый сектор диска размером 512 байт, где находилась главная загрузочная запись Master Boot Record. Из-за крошечного объема MBR в него помещался лишь примитивный код, чьей единственной задачей было найти активный раздел диска и запустить оттуда следующий этап загрузки.
Система UEFI работает иначе. Она содержит полноценную среду с поддержкой собственной файловой системы FAT32, поэтому умеет напрямую обращаться к системному разделу EFI на диске со структурой разметки GPT. Прошивка читает внутренний список приоритета загрузки из энергонезависимой памяти NVRAM, находит нужный накопитель и запускает исполняемый файл загрузчика операционной системы с расширением efi. В семействе Windows этим файлом выступает bootmgfw.efi, а в большинстве дистрибутивов Linux используется GRUB.
Развертывание ядра операционной системы
Загрузчик операционной системы переводит процессор из базового режима совместимости в полнофункциональный 64-битный защищенный режим Long Mode. На этом этапе загрузчик считывает с диска ядро системы, образ начальной файловой системы и минимально необходимый набор низкоуровневых драйверов. Для Windows ядром выступает ntoskrnl.exe, а критические драйверы загружаются в оперативную память пакетом.
После копирования необходимых файлов в память загрузчик передает управление точке входа в ядро. Ядро операционной системы настраивает подсистемы виртуальной памяти, организует таблицы страниц, запускает базовый планировщик потоков и активирует обработку аппаратных прерываний. С этого мгновения микросхема UEFI теряет контроль над машиной, а все вычислительные ресурсы берет под единоличное управление ядро ОС.
Инициализация оборудования и фоновых служб
Ядро приступает к поэтапному подключению остальных комплектующих. Для этого задействуются полнофункциональные драйверы оборудования, хранящиеся в файловой системе. Система определяет чипсет, аудиокодеки, контроллеры сетевых плат и видеокарту. В момент активации полноценного видеодрайвера разрешение экрана скачкообразно меняется со стандартного базового на родное разрешение подключенного монитора.
Одновременно с настройкой оборудования ядро запускает системные демоны и службы. В среде Windows стартует диспетчер сеансов smss.exe, который формирует базовую пользовательскую среду, запускает подсистему безопасности lsass.exe и службу входа winlogon.exe. В операционных системах семейства Linux инициализируется корневой процесс systemd с идентификатором процесса 1, поднимающий сетевой стек, службы монтирования дисков и системные журналы.
Запуск графической подсистемы и вход пользователя
Завершающим шагом становится подготовка визуальной среды, с которой предстоит взаимодействовать человеку. Специальный менеджер дисплея отрисовывает окно авторизации. В Windows за визуализацию окна блокировки отвечает компонент LogonUI, принимающий пароль, PIN-код или биометрические данные.
После проверки подлинности учетных данных запускается персональное пространство конкретного пользователя. Система подгружает соответствующую ветку реестра или конфигурационные файлы каталога home, активирует службы автозагрузки и стартует системную оболочку. Для Windows оболочкой выступает explorer.exe, создающий панель задач, иконки рабочего стола и системный трей. Только после полной отрисовки рабочего стола и завершения инициализации автозапускаемых программ процесс загрузки считается оконченным.
Диагностика сбоев на разных этапах старта
Точка, на которой обрывается процесс включения компьютера, всегда прямо указывает на виновника поломки. Знание этапов позволяет безошибочно локализовать проблему:
- Компьютер не реагирует на кнопку или вентиляторы дергаются и сразу останавливаются при отсутствии сигнала Power Good от блока питания либо при коротком замыкании на материнской плате
- Вентиляторы вращаются на максимальных оборотах, но экран остается черным из-за сбоя процедуры POST на этапе определения процессора или планок оперативной памяти
- Экран выдает надпись об отсутствии загрузочного устройства при повреждении кабеля накопителя, сбое таблицы GPT или повреждении файлов в разделе EFI
- Логотип операционной системы бесконечно крутится или выпадает в синий экран смерти из-за повреждения файлов системного ядра, конфликта сторонних драйверов или ошибок дисковой подсистемы
- Система зависает после ввода пароля при повреждении профиля пользователя или зависании конфликтующего приложения из списка автозагрузки
Частые вопросы
Чем современный UEFI отличается от классического старого BIOS?
UEFI представляет собой самостоятельную микрооперационную систему с графическим интерфейсом, поддержкой курсора мыши и сетевых подключений. В отличие от BIOS, UEFI умеет работать с накопителями объемом свыше двух терабайт благодаря поддержке стандарта GPT, выполняет процедуры инициализации в разы быстрее и содержит механизм безопасной загрузки Secure Boot, предотвращающий запуск вредоносного кода до старта ОС.
Почему современные компьютеры с SSD запускаются за секунды?
Высокая скорость обусловлена отсутствием механического позиционирования считывающих головок твердотельного накопителя, сверхбыстрой передачей данных по протоколу NVMe и использованием технологий гибернации ядра. В режиме быстрого запуска операционная система не выгружает сеанс ядра полностью, а сохраняет готовый снимок памяти на накопитель и мгновенно считывает его при следующем старте.
Зачем материнской плате нужна круглая батарейка CR2032?
Батарейка питает чип энергонезависимой памяти CMOS и встроенные аппаратные часы реального времени при полном обесточивании системного блока от электрической розетки. При разряде батарейки настройки частот, таймингов, приоритета загрузочных дисков и системное время сбрасываются к стандартным заводским значениям при каждом выключении из розетки.
Что делает функция Secure Boot в процессе загрузки?
Функция сверяет цифровые подписи каждого загружаемого программного модуля с открытыми ключами, зашитыми в микросхему материнской платы производителем. Если загрузчик, сторонний драйвер или системный файл были модифицированы руткитом или вирусом, материнская плата блокирует выполнение этого файла и останавливает дальнейший запуск системы.