GRUB (GRand Unified Bootloader) to najpopularniejszy bootloader w świecie Linuksa — czyli mały program, który uruchamia się tuż po BIOS/UEFI, a jeszcze zanim w ogóle pojawi się system. Jego główne zadanie to znaleźć i załadować jądro (kernel) Linuksa do pamięci, przekazać mu sterowanie i zejść ze sceny. Przy okazji to właśnie GRUB pokazuje Ci to czarne menu z listą systemów, gdy na jednym dysku masz np. Linuksa obok Windowsa.
Jak to działa i do czego służy
Kolejność jest prosta: firmware (UEFI lub starsze BIOS) odpala GRUB-a, GRUB czyta swoją konfigurację i wie, gdzie leży jądro oraz initramfs (tymczasowy system plików potrzebny do wystartowania). Ładuje jedno i drugie, podaje jądru parametry startowe (tzw. kernel parameters, np. quiet splash) i oddaje stery. Od tego momentu reszta to już robota jądra i systemd.
Dziś w praktyce spotkasz GRUB 2 — to przepisana od zera wersja, dużo bardziej elastyczna od starego GRUB Legacy. Obsługuje skrypty, moduły, wiele systemów plików i oba tryby: UEFI oraz Legacy BIOS. Menu wyboru systemu i odliczanie (timeout) to też jego działka.
Przykład z praktyki
Pliku /boot/grub/grub.cfg nie edytujesz ręcznie — to plik generowany. Zmiany robisz w /etc/default/grub (np. GRUB_TIMEOUT albo domyślny system), a potem przebudowujesz konfigurację. Na Debianie/Ubuntu:
sudo update-grub— wygodny skrótsudo grub-mkconfig -o /boot/grub/grub.cfg— to samo, ręcznie
Na Fedorze/RHEL polecenie nazywa się grub2-mkconfig, a plik często ląduje pod /boot/grub2/grub.cfg. Drobna, ale wkurzająca różnica między dystrybucjami.
Na co uważać
Klasyk: instalujesz Windows obok Linuksa, Windows nadpisuje sektor startowy i GRUB „znika”. Spokojnie — nie zniknął, po prostu firmware go nie odpala. Ratunek to grub-install z poziomu live USB (najlepiej przez chroot). Drugi mit: edytowanie grub.cfg na piechotę. Możesz, ale przy najbliższym update-grub zmiany wyparują. Trzecia pułapka — przy UEFI GRUB siedzi na partycji EFI (ESP), nie w MBR, więc stare poradniki o „naprawie MBR” bywają mylące.
Warto też znać tryb awaryjny: w menu GRUB klawisz e pozwala jednorazowo edytować wpis startowy (np. dopisać single dla trybu ratunkowego), a c otwiera linię komend samego bootloadera.
Pojęcia powiązane
UEFI, BIOS, MBR, partycja EFI (ESP), kernel, initramfs, systemd, bootloader, dual boot, a z alternatyw — systemd-boot oraz rEFInd.