За кулисами: От нажатия кнопки питания до перехода на экран входа в систему


Введение

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

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

1) Нажатие кнопки питания


Когда вы нажимаете кнопку Power, блок питания Power supply в корпусе процессора подает питание на такие устройства, как жесткие диски, материнская плата, SSD и другие.

Как только все устройства получают питание, процессор ищет программу под названием BIOS или UEFI (в современных системах).

2) BIOS/UEFI и выполнение POST

BIOS расшифровывается как Basic Input and Output System. Хотя она не претерпела значительных изменений, она, конечно, много раз меняла свое местоположение от CMOS SRAM до NOR flash. В ранние годы он располагался в CMOS SRAM, но поскольку SRAM была нестабильной, ее содержимое стиралось после выключения компьютера.
Затем BIOS занял место в PROM (нестираемой), UV-ROM (стираемой ультрафиолетовыми лучами) и, наконец, оказался в флэш-памяти, поддерживаемой батареей CMOS.

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

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

3) Первый этап загрузки (Primary Bootloader)

BIOS ищет операционную систему для загрузки, для чего ему необходимо выбрать Boot Device. Это может быть HDD, SSD, USB, CD или DVD привод.

В системе с MBR-разметкой загрузчик находится в первом секторе жесткого диска под названием MBR-сектор.

Сектор MBR имеет длину 512 байт и состоит в основном из 3 разделов:

1) 446 байт для Primary Bootloader.
2) 64 байта для Partition Table (4 таблицы по 16 байт каждая)
3) 2 байта для Magic Number (проверка MBR).

Основная задача первичного загрузчика длиной 446 байт, также называемого загрузчиком stage-1, заключается в поиске вторичного загрузчика. Он находит его, просматривая таблицу разделов.

4) Этап-2 загрузчика (вторичный загрузчик)

Теперь, когда загрузчик Stage-2 загружен, он фактически загружает операционную систему.

Для этого загружается ядро и опциональный начальный RAM диск (initramfs). Ядро запускает init system (в основном systemd), которая запускает другие службы, ведущие к экрану входа в систему.

Для Linux у нас есть GRUB загрузчик, Windows использует Windows Boot Manager, а Mac используют boot.efi.

Системы на базе UEFI/GPT используют нечто под названием EFI executable, который не обязательно должен присутствовать в первом секторе диска.

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

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