Что происходит на этапе запуска BIOS?

Ответ

BIOS (Basic Input/Output System) — это прошивка, хранящаяся в чипе на материнской плате. Её выполнение — самый первый этап загрузки компьютера после подачи питания. Основные шаги:

  1. Сброс и инициализация CPU: После подачи питания специальная схема генерирует сигнал сброса для процессора. CPU начинает выполнение кода с фиксированного адреса в памяти (например, 0xFFFF0), где находится начало кода BIOS.
  2. POST (Power-On Self-Test): BIOS выполняет базовые проверки критического оборудования:
    • Проверка целостности собственного кода.
    • Обнаружение и инициализация системной памяти (RAM).
    • Инициализация видеоадаптера (часто с выводом логотипа производителя).
    • Проверка наличия и работоспособности ключевых устройств: клавиатуры, дисковых контроллеров.
    • При обнаружении фатальных ошибок POST останавливается с звуковым сигналом (beep code) или сообщением на экране.
  3. Перечисление и инициализация оборудования: BIOS сканирует шины (PCI, USB) для обнаружения всех подключенных устройств и загружает для них базовые драйверы (хранящиеся в самой прошивке BIOS).
  4. Выбор загрузочного устройства: Пользовательские настройки BIOS (или порядок по умолчанию) определяют последовательность опроса устройств на наличие загрузочной записи (например, жесткий диск, SSD, USB-флешка, сеть).
  5. Загрузка загрузчика (Bootloader): BIOS загружает с выбранного устройства первый сектор (512 байт для MBR) в оперативную память по адресу 0x7C00 и передает ему управление. Этот сектор содержит либо первичный загрузчик (часть MBR), либо код, который загружает более сложный загрузчик (например, GRUB) с диска.

Связь с ОС: На этом роль BIOS заканчивается. Дальнейшая загрузка ядра Linux или другой ОС — задача загрузчика. Современные системы используют UEFI (Unified Extensible Firmware Interface), который является более сложной и безопасной заменой BIOS, работающей с GPT-разделами и загружающей исполняемые файлы (.efi) напрямую.

Ответ 18+ 🔞

А, слушай, про BIOS? Ну это такая древняя, блядь, штука, которая в материнке живёт, как душа в теле. Представь: ты кнопку вжал, комп запищал, и начинается ёперный театр.

Вот самый первый пиздец — это CPU просыпается, как будто его с похмелья взъебли. Ему сигнал сброса дали, и он тупо начинает выполнять команды с какого-то зашитого адреса, типа 0xFFFF0. Это типа его дом родной, откуда всё и начинается. Там и сидит наш старичок BIOS.

Дальше идёт POST — это такая самопроверка, где железо орёт "АУФ!" на всё подряд. Сначала BIOS сам себя трогает, проверяет, не сломался ли он, ядрёна вошь. Потом начинает щупать оперативку — если её нет или она глючная, будет пищать, как сумасшедший, этими бип-кодами. Видеокарту инициализирует, чтобы ты хоть чёрный экран увидел. Клавиатуру проверяет — вдруг её нет, а ты думаешь, что завис. Если на этом этапе пиздец случается — всё, приехали, комп просто сдохнет с звуковым сигналом или надписью на экране. Доверия к этому процессу — ноль ебать, потому что если память кривая, то ты нихуя не поймёшь, что происходит.

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

А дальше — момент истины. BIOS лезет в свои настройки (которые ты, скорее всего, никогда не трогал) и смотрит: а с чего, собственно, грузиться-то? С диска C? С флешки? С сети? Он тупо идёт по списку и тыкается в каждое устройство, как слепой кот, и спрашивает: "Ты загрузочное? Нет? Ну и хуй с тобой". И так до тех пор, пока не найдёт тот самый волшебный первый сектор на диске — эти жалкие 512 байт.

И вот тут — кульминация! Он загружает эти 512 байт в оперативку по адресу 0x7C00, швыряет туда управление и говорит: "На, разбирайся дальше, я устал, я пошёл". И его роль на этом закончена, блядь. Всё, BIOS как будто и не было. Дальше уже эти байты (загрузчик) начинают свою магию и тащат ядро ОС.

А сейчас, кстати, все эти понты уже устарели. Сейчас везде этот ваш UEFI, который умнее, безопаснее и работает не с этими дурацкими секторами, а сразу с файлами .efi. Но суть-то одна: пока это древнее железное заклинание не отработает, нихуя у тебя не загрузится. Вот такая, блядь, хитрая жопа.