What is Booting?
Booting — the process of checking hardware components when the computer is turned on, activating firmware, and loading the operating system into memory to begin operation. The boot process is a set of sequential stages that occur from the moment the computer receives power until the user sees the login screen or desktop. This process executes numerous complex operations in a very short time (10-30 seconds in modern systems) and ensures proper system startup.
What is Booting?
The term booting comes from the expression "bootstrap" — from the idiom "to pull oneself up by one's own bootstraps." This expresses the computer using initial programs (firmware) to load more complex systems (the operating system) to start itself.
A computer in a powered-off state is simply a pile of hardware. There are no programs in memory (RAM), the processor is waiting for instructions to execute. The booting process transforms this "dead" hardware into a working computer system — firmware starts, hardware is checked, the operating system is copied from disk to memory, and finally the user can use the computer.
Stages of the Boot Process
1. Power-On
The user presses the computer's power button. The Power Supply Unit (PSU) receives current from the electrical grid and converts it to appropriate voltages for computer components (3.3V, 5V, 12V). Power is supplied to the motherboard, CPU, RAM, disks, and GPU.
The PSU sends a "Power Good" signal, indicating that all voltages are stable. Only after this does the motherboard chipset send a startup (reset) signal to the CPU.
2. BIOS/UEFI Starts
After the CPU starts, it must know where the first code to execute is located. The CPU has a hardcoded address inside it, and this address points to the firmware chip (ROM/Flash memory) on the motherboard.
BIOS (Basic Input/Output System): Firmware used in older systems. Has existed since the 1970s. Operates in 16-bit real mode, access to memory below 1 MB, supports MBR (Master Boot Record) boot method.
UEFI (Unified Extensible Firmware Interface): Firmware of modern systems. Has been replacing BIOS since the 2010s. 32-bit or 64-bit protected mode, 2TB+ disk support (GPT - GUID Partition Table), graphical interface, mouse support, secure boot, network capability, faster loading.
BIOS/UEFI firmware is stored in the motherboard ROM chip and remains even when the computer is turned off (non-volatile). Users can enter BIOS/UEFI setup (typically with DEL, F2, F10 keys) and configure hardware parameters — boot priority, overclocking, voltage, fan control, etc.
3. POST (Power-On Self-Test)
After BIOS/UEFI starts, its first task is POST — checking whether hardware components are in working condition.
Components checked during POST:
- CPU (is the processor working)
- RAM (memory is tested, capacity and speed checked)
- GPU (graphics card presence, video signal)
- Keyboard and mouse
- Storage devices (HDD, SSD, optical drive)
- Chipset and motherboard components
If there's a problem during POST, the computer warns via beep codes (audio signals) or LED error codes. For example, one long beep + two short beeps might indicate a graphics card problem. If POST passes successfully, one short beep is heard (in classic BIOS).
During POST, the motherboard or GPU logo may appear on screen (splash screen). Some users deactivate this screen to see the POST process.
4. Hardware Initialization and Configuration
After POST, BIOS/UEFI initializes all hardware components:
- Recognition of PCI/PCIe devices (GPU, network card, sound card)
- Activation of USB controllers
- Detection of SATA/NVMe controllers and storage devices
- Configuration of interrupt controller (APIC), timer, DMA controllers
During this stage, Option ROM codes also run. For example, the GPU has its own BIOS and starts to provide initial display output. The network card's Option ROM can run for PXE (Preboot Execution Environment) boot.
5. Boot Device Selection
Boot priority (boot order) is set in the BIOS/UEFI configuration. This determines from which device the computer will attempt to load the operating system.
Typical boot order:
- USB Flash Drive / External HDD
- Optical Drive (CD/DVD)
- Internal HDD/SSD (C: drive)
- Network (PXE boot)
BIOS/UEFI checks each device in this order and looks for one that is bootable. A bootable device must have a bootloader.
Legacy BIOS boot: Looks for MBR (Master Boot Record). The first 512 bytes of the disk is the MBR, which contains boot code and partition table.
UEFI boot: Supports GPT (GUID Partition Table) and looks for EFI System Partition (ESP). ESP is a special partition in FAT32 format where bootloader files (.efi) reside.
6. Bootloader is Loaded
Bootloader — a small program loaded by BIOS/UEFI that starts the operating system. The bootloader knows on which partition of the disk and in which file the operating system is, and loads it into memory.
Windows Bootloader:
- Legacy BIOS: BOOTMGR (Windows Boot Manager) is loaded from MBR
- UEFI: bootmgfw.efi in ESP in the /EFI/Microsoft/Boot/ folder
- Bootloader loads Windows kernel (ntoskrnl.exe) and boot-critical drivers
- winload.exe - Windows Loader
Linux Bootloader:
- GRUB (GRand Unified Bootloader): Most popular Linux bootloader. Multi-boot support (choosing between multiple OSes). GRUB displays a menu and the user selects which kernel or OS to load.
- GRUB2 (GRUB version 2): Modern version. Configuration in /boot/grub/ folder.
- systemd-boot: Simple UEFI bootloader
- LILO (Linux Loader): Old, rarely used now
macOS Bootloader:
- boot.efi: UEFI bootloader
- macOS kernel is loaded, Apple logo and progress bar appear
Multi-boot (Dual-boot): When multiple operating systems are installed on one computer, the bootloader offers a choice to the user. For example, in a Windows and Linux dual-boot system, GRUB shows a menu: "Ubuntu", "Windows 10", "Advanced options".
7. Kernel is Loaded
The bootloader loads the operating system's kernel (core) from disk to RAM and gives it control.
Linux kernel boot:
- Kernel file (e.g., /boot/vmlinuz-5.15.0) is loaded
- initramfs (initial RAM file system): Temporary root file system. Contains drivers and tools needed for boot process. Used until the real root partition is mounted.
- Kernel detects hardware, drivers are loaded
- Root partition is mounted
- /sbin/init or systemd (init system) starts
Windows kernel boot:
- ntoskrnl.exe (NT kernel) and hal.dll (Hardware Abstraction Layer) are loaded
- Boot-critical device drivers are loaded (disk controller, file system)
- Registry hives are loaded (HKLM\SYSTEM)
- Session Manager (smss.exe) starts
macOS kernel boot:
- XNU kernel (Darwin) is loaded
- Kernel extensions (kext) are loaded
- launchd (init system) starts
The kernel creates numerous log messages during boot. In Linux, kernel boot logs can be viewed with the dmesg command. In Windows, System logs in Event Viewer.
8. Init System / Service Manager Starts
After the kernel has loaded and recognized hardware, the init process (PID 1 - first user-space process) starts. Init is responsible for starting other system processes and services.
Linux init systems:
- systemd: Dominant in modern Linux distributions. Parallel service start (fast boot), dependency management, systemctl command interface. Used by Ubuntu, Fedora, Debian, Arch, RHEL.
- SysVinit: Old, traditional init system. Sequential runlevels (0-6). Slow boot.
- OpenRC: In some distributions (Gentoo). Similar to SysVinit but simpler.
- Upstart: Ubuntu's old init system (switched to systemd)
Windows:
- Session Manager (smss.exe) starts subsystems
- Windows Subsystem (csrss.exe): Win32 subsystem
- Windows Logon (winlogon.exe) and Local Security Authority (lsass.exe) start
- Service Control Manager (services.exe): Starts Windows services (Windows Update, Windows Defender, Audio Service, etc.)
macOS:
- launchd: macOS's init and service manager. Starts system and user agents.
9. Services and Daemons Start
The init system starts system services (daemons). Daemons are services that run in the background.
Linux daemon examples:
- networking: Network configuration
- sshd: SSH server
- cron: Scheduled tasks
- systemd-journald: Log service
- NetworkManager, firewalld, Docker, Apache, MySQL, etc.
Windows service examples:
- Windows Update
- Windows Defender
- Windows Audio
- DHCP Client, DNS Client
- Print Spooler
- Task Scheduler, etc.
10. Display Manager / Login Screen
On systems using a desktop environment, the display manager (login manager) starts and shows the user a login screen.
Linux display managers:
- GDM (GNOME Display Manager): For GNOME desktop
- SDDM: For KDE Plasma
- LightDM: Lightweight, universal
- XDM, LXDM, etc.
User enters username and password, authenticates, and desktop session starts.
Windows: Winlogon displays the login screen. Ctrl+Alt+Del or user tile selection.
macOS: Login window or automatic login (if configured).
11. Desktop Environment Loads
After user login, the desktop environment and user programs load.
Linux desktop environments:
- GNOME: Ubuntu, Fedora default. Modern, touch-friendly.
- KDE Plasma: Customizable, feature-rich, Windows-like.
- XFCE: Lightweight, fast, ideal for old hardware.
- Cinnamon (Linux Mint), MATE, LXQt, Budgie, etc.
X11 or Wayland (display server) starts, window manager starts, panel/dock loads, wallpaper appears, startup applications run.
Windows: Windows Shell (explorer.exe) starts — taskbar, Start Menu, desktop icons. Startup programs (visible in Task Manager > Startup tab) run.
macOS: Finder, Dock, Menu Bar load. Login items run.
12. Boot Complete
Now the computer is fully operational and the user can open programs, open files, use the internet. The boot process is complete.
Boot Types
Cold Boot: Computer starts from completely powered-off state. All boot stages are executed. Opening with power button.
Warm Boot / Restart: Computer restarts from running state. BIOS/UEFI can skip POST, faster. Restart command or Ctrl+Alt+Del.
Soft Reboot: Restart at operating system level. No hardware reset, kernel reloads.
Hard Reboot: Power cut or reset button. Forced restart, data loss risk.
Fast Boot / Hybrid Boot: Available in Windows 8+ and UEFI. Part of the system is written to disk like hibernate and loaded on next boot. 50-70% faster boot, but not a full clean boot.
Safe Boot / Safe Mode: Loading with minimal drivers and services. For troubleshooting. F8 in Windows, Shift key in macOS.
Recovery Boot: Special environment for system recovery and troubleshooting. Windows Recovery Environment (WinRE), macOS Recovery, Linux rescue mode.
Network Boot (PXE): Loading via network instead of disk. Server sends OS image via TFTP. For system deployment in enterprise environments.
USB/CD Boot (Live Boot): Loading from external media. Linux live USB, Windows installation media. OS runs without touching hard disk. For system recovery, OS installation, disk partitioning.
Boot Problems and Troubleshooting
"No bootable device" or "Operating system not found":
- Boot device not properly selected in BIOS/UEFI or boot priority is wrong
- Bootloader is damaged or missing
- Hard disk not recognized (cable, power, HDD failure)
- MBR/GPT partition table corrupted
Solution: Check BIOS boot order, check disk cables, bootloader repair (Windows: bootrec /fixmbr, bootrec /fixboot; Linux: GRUB reinstall)
BSOD (Blue Screen of Death - Windows): Kernel panic during boot. Driver problem, hardware incompatibility, corrupted system file.
Solution: Boot in Safe Mode, disable problematic driver, sfc /scannow, system restore, check hardware
Kernel Panic (Linux/macOS): Critical error in kernel during boot. Hardware problem, driver incompatibility, corrupted kernel.
Solution: Select older kernel (in GRUB menu), recovery mode, kernel reinstall, hardware diagnostics
Boot loop: System starts booting but can't complete and restarts.
Solution: Safe Mode, startup repair, check disk (chkdsk, fsck), disable fast boot, hardware test
Slow boot: System opens very slowly.
Solution: Disable startup programs, use SSD, add RAM, disk cleanup and defrag (HDD), malware scan, OS reinstall (last resort)
Boot Optimization
BIOS/UEFI parameters:
- Enable Fast Boot
- Disable unused devices
- Deactivate boot logo (to see POST)
Boot device:
- Use SSD instead of HDD (10x faster boot)
- NVMe SSD is fastest
Startup programs:
- Windows: Task Manager > Startup > disable unnecessary programs
- Linux: systemd-analyze blame (shows slowest services), disable unnecessary services
- macOS: System Preferences > Users & Groups > Login Items
OS cleanliness:
- Clean junk files, delete temp files
- Don't let disk space decrease (80%+ fullness affects performance)
- Defragment (only for HDD, don't do it for SSD)
Drivers and updates:
- Update chipset, SATA, GPU drivers to new versions
- BIOS/UEFI firmware update
- OS updates
Hardware:
- Sufficient RAM (8GB+ recommended, 16GB optimal)
- SSD boot drive
- Renew CPU thermal paste (overheating causes slowness)
Boot and UEFI Secure Boot
Secure Boot: UEFI security feature. Allows only digitally signed bootloaders and kernels to load. Prevents rootkit and bookit malware.
Microsoft and hardware vendors sign keys. Linux distributions also support Secure Boot (signed shim bootloader).
Some old Linux versions or custom kernels can cause problems in Secure Boot. May need to disable Secure Boot in BIOS/UEFI.
TPM (Trusted Platform Module): Hardware security chip. Stores encryption keys. Windows 11 requires TPM 2.0. Secure Boot and TPM together provide strong security.
In conclusion, the boot process is the computer's "awakening" and becoming operational. BIOS/UEFI checks hardware, bootloader finds the operating system, kernel loads, services start, and desktop is presented to the user. This process takes 10-30 seconds in modern systems and hundreds of complex operations are executed behind the scenes. Solving boot problems, boot optimization, and understanding security functions like Secure Boot are important skills for system administrators and power users. Using SSD, deleting unnecessary startup programs, and maintaining hardware health are keys to a fast and problem-free boot experience.