Appearance
25. [NEW] Boot Process — Power-On to Kernel Init
Power On
│
▼
BIOS / UEFI → firmware baked into the motherboard; runs POST
│ (Power-On Self-Test): checks CPU, RAM, devices
▼
Bootloader → BIOS reads the Boot Block (first disk sector,
(GRUB / Windows or the EFI System Partition for UEFI) and hands
Boot Manager) control to the bootloader
│
▼
Kernel Load → bootloader loads the OS kernel image (and an
initial RAM disk, initrd/initramfs) into memory
│
▼
Kernel Init → kernel initializes memory management, sets up
interrupt tables, detects hardware, mounts the
real root filesystem
│
▼
init / systemd (PID 1) → first user-space process; starts services,
brings the system to a login prompt / GUIBIOS vs UEFI: BIOS is older, 16-bit, reads a fixed Master Boot Record (512 bytes); UEFI is modern, supports larger disks (GPT partitioning, no 2TB limit), has its own mini-filesystem-aware environment, and boots faster via native .efi executables instead of raw sector code.
Why the boot block matters: it's the very first block on a bootable disk (block 0) — it contains just enough code to load a real bootloader, because BIOS/UEFI firmware itself doesn't know how to parse a full filesystem.
initramfs: a small, temporary root filesystem loaded into RAM early, containing just enough drivers (e.g., for the disk controller or an encrypted volume) to mount the real root filesystem — solves the chicken-and-egg problem of needing a driver from disk before you can read the disk.
One-liner: firmware (BIOS/UEFI) does hardware self-check → hands off to a bootloader (GRUB) → bootloader loads the kernel → kernel initializes hardware/memory and mounts root → kernel starts init/systemd, which brings up user space.