1. Czym jest GRUB2 i jak działa
GRUB2 (GRand Unified Bootloader 2) to wieloetapowy program rozruchowy, który działa w trzech krokach:
- 1. Czym jest GRUB2 i jak działa
- 2. Podstawowe pojęcia – MBR vs UEFI, gdzie siedzi GRUB
- 3. Gdzie i co konfigurować w GRUB2
- 4. Podstawowe ustawienia w /etc/default/grub
- 5. Personalizacja wyglądu GRUB2 (motywy)
- 6. Konfiguracja wpisów rozruchowych
- 7. Zmiana kolejności i nazewnictwa wpisów
- 8. GRUB2 a Windows – typowe problemy i rozwiązania
- 9. Naprawa GRUB2 – praktyczne scenariusze
- 10. Dual-boot – dobre praktyki
- 11. Przykładowa kompletna konfiguracja – krok po kroku
- 12. Kiedy warto rozważyć reinstall zamiast naprawy
- ładuje się jako pierwszy po BIOS/UEFI,
- wyświetla menu wyboru systemu,
- przekazuje sterowanie do jądra wybranego systemu (Linux, system Windows, BSD itd.).
Najprostszy łańcuch uruchamiania wygląda następująco: MBR/partycja EFI → GRUB2 → menu → wybór systemu. W typowym menu znajdziesz m.in. następujące pozycje:
- system Linux (domyślny),
- system Windows,
- inne jądra lub tryby (np. „tryb awaryjny”),
- narzędzia (memtest, recovery).
GRUB2 składa się z kluczowych elementów konfiguracji i skryptów:
- plik konfiguracyjny –
/boot/grub/grub.cfg(automatycznie generowany), - szablon ustawień –
/etc/default/grub(tu zmieniasz najczęściej ustawienia), - skrypty generujące wpisy –
/etc/grub.d/(m.in.10_linux,30_os-prober,40_custom), - pliki binarne i moduły – w katalogu
/boot/grub/.
W zdecydowanej większości dystrybucji nie edytuje się ręcznie pliku grub.cfg, ponieważ jest nadpisywany przez update-grub / grub-mkconfig.
2. Podstawowe pojęcia – MBR vs UEFI, gdzie siedzi GRUB
2.1. Tryb BIOS/MBR
W trybie BIOS obowiązują następujące zasady:
- GRUB instalowany jest w MBR dysku (pierwsze 512 bajtów) oraz w tzw. „post-MBR gap”,
- partycje zwykle korzystają z klasycznej tablicy MBR,
- rozwiązanie spotykane na starszych komputerach lub na maszynach z wyłączonym UEFI.
2.2. Tryb UEFI/GPT
W trybie UEFI obowiązują poniższe reguły instalacji:
- GRUB instaluje się do partycji EFI (ESP, FAT32, zazwyczaj 100–500 MB),
- bootloader ma postać pliku
.efi(np.\EFI\ubuntu\grubx64.efi), - UEFI utrzymuje listę wpisów rozruchowych (m.in. Windows Boot Manager i GRUB).
W praktyce naprawa GRUB w trybie UEFI zwykle sprowadza się do przywrócenia wpisu GRUB w NVRAM (liście bootowania) oraz upewnienia się, że pliki .efi w partycji EFI istnieją i są poprawne.
3. Gdzie i co konfigurować w GRUB2
Najważniejsze miejsca konfiguracji to:
- główna konfiguracja użytkownika –
/etc/default/grub; - skrypty generujące wpisy –
/etc/grub.d/(np.10_linux,30_os-prober,40_custom); - wygenerowana konfiguracja –
/boot/grub/grub.cfg(nie edytujemy ręcznie).
Po każdej zmianie konfiguracji uruchom odpowiednią komendę:
W Debian/Ubuntu/Mint:
sudo update-grub
W innych dystrybucjach (np. Arch, Fedora):
sudo grub-mkconfig -o /boot/grub/grub.cfg
Na wielu systemach update-grub jest tylko skryptem wywołującym grub-mkconfig.
4. Podstawowe ustawienia w /etc/default/grub
Poniżej znajdziesz przykładowy fragment pliku z najczęściej zmienianymi parametrami:
GRUB_DEFAULT=0
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_TERMINAL_OUTPUT=gfxterm
GRUB_GFXMODE=1920x1080,auto
GRUB_GFXPAYLOAD_LINUX=keep
4.1. Domyślna pozycja startowa – GRUB_DEFAULT
Jak kontrolować, co startuje domyślnie:
GRUB_DEFAULT=0wskazuje pierwszy wpis w menu,- możesz podać numer (0, 1, 2…) lub pełną nazwę wpisu (
"Debian GNU/Linux"), - możesz użyć
saved, aby GRUB uruchamiał ostatnio wybrany system (wymaga włączenia zapisywania wyboru).
4.2. Czas oczekiwania – GRUB_TIMEOUT
Konfiguracja czasu wyświetlania menu:
GRUB_TIMEOUT=10to liczba sekund, przez które widoczne jest menu,0oznacza brak opóźnienia (menu niewidoczne; przytrzymaj Shift/Esc, aby je pokazać),-1powoduje czekanie w nieskończoność.
4.3. Parametry jądra – GRUB_CMDLINE_LINUX_DEFAULT
Najczęściej używane parametry to:
quiet– mniej logów przy starcie,splash– ekran powitalny,- dodatkowe parametry (np. dla sterowników, ACPI, diagnostyki).
Zmiany przydają się, gdy chcesz m.in.:
- wyłączyć grafikę hybrydową,
- pominąć moduły wymagające Secure Boot,
- dodać
nomodesetprzy problemach z grafiką.
5. Personalizacja wyglądu GRUB2 (motywy)
5.1. Obraz tła
Najprostsza i efektowna personalizacja polega na ustawieniu własnego tła. Zrób to tak:
- Przygotuj plik graficzny w odpowiednim formacie i rozdzielczości:
- format: PNG lub JPG,
- rozdzielczość dopasowana do ekranu (np. 1920×1080),
- plik zapisany np. jako
/boot/grub/mybackground.png.
- Dodaj ścieżkę do tła w
/etc/default/grub(edytor uruchom z uprawnieniami administratora):
GRUB_BACKGROUND="/boot/grub/mybackground.png"
- Zaktualizuj konfigurację GRUB:
sudo update-grub
Po restarcie GRUB powinien wyświetlać nowe tło.
5.2. Zmiana rozdzielczości
Aby wymusić rozdzielczość interfejsu GRUB, ustaw następujące wartości:
GRUB_GFXMODE=1920x1080,auto
GRUB_GFXPAYLOAD_LINUX=keep
Dzięki opcji keep jądro przejmuje ustawioną rozdzielczość, co eliminuje „mignięcie” ekranu podczas startu.
5.3. Motywy GRUB2
Zaawansowane motywy (ikony, niestandardowe układy) działają z katalogu np. /boot/grub/themes/mój_motyw/ i pliku theme.txt. Aby je aktywować, dodaj do /etc/default/grub linię:
GRUB_THEME="/boot/grub/themes/mój_motyw/theme.txt"
Po każdej zmianie pamiętaj o przebudowaniu konfiguracji:
sudo update-grub
Motywy możesz pobrać z repozytoriów dystrybucji lub z zewnętrznych stron albo stworzyć własny (katalog z grafikami + plik theme.txt).
6. Konfiguracja wpisów rozruchowych
6.1. Automatyczne wykrywanie systemów (os-prober)
W dystrybucjach debianowych (Ubuntu, Mint, Debian) wykrywanie innych systemów (system Windows, inne Linuxy) realizuje skrypt /etc/grub.d/30_os-prober. Podczas uruchamiania update-grub wykonuje on następujące kroki:
- skanuje dyski,
- wykrywa inne instalacje,
- dodaje odpowiednie wpisy do
grub.cfg.
Jeśli system Windows „zniknął” z menu, często wystarczy wykonać polecenie:
sudo update-grub
W razie potrzeby doinstaluj pakiet os-prober (w nowszych Ubuntu bywa domyślnie wyłączony).
6.2. Ręczne dodawanie wpisów – katalog /etc/grub.d/
W /etc/grub.d/ znajdują się skrypty generujące fragmenty grub.cfg. Najważniejsze z nich to:
10_linux– wpisy dla zainstalowanego Linuksa,20_linux_xen– wpisy dla jąder Xen,30_os-prober– wykrywanie innych systemów (system Windows, inne Linuxy),40_custom– miejsce na własne wpisy.
Możesz dopisać własny wpis w 40_custom lub stworzyć własny skrypt, np. 09_moj_system.
Przykład – prosty wpis do Windows (BIOS/MBR)
Jeśli automatyczne wykrywanie nie działa, dodaj ręczny wpis w 40_custom w trzech prostych krokach:
- Otwórz plik do edycji:
sudo nano /etc/grub.d/40_custom
- Dodaj na końcu (przykład dla partycji
/dev/sda1):
menuentry "Windows 10 (ręcznie)" {
insmod ntfs
set root='(hd0,1)'
chainloader +1
}
Warto wiedzieć, że (hd0,1) oznacza pierwszy dysk i pierwszą partycję (numeracja GRUB może się różnić; sprawdzisz to komendą ls w konsoli GRUB lub narzędziami lsblk/fdisk -l w Linuksie).
- Zapisz plik i zaktualizuj konfigurację:
sudo update-grub
Własny skrypt w /etc/grub.d/
Zamiast 40_custom możesz utworzyć odrębny skrypt, np.:
sudo nano /etc/grub.d/15_windows
Wklej zawartość skryptu:
#!/bin/sh
exec tail -n +3 $0
menuentry "Windows 10 (skrypt)" {
insmod ntfs
set root='(hd0,1)'
chainloader +1
}
Nadaj uprawnienia wykonania i przebuduj konfigurację:
sudo chmod +x /etc/grub.d/15_windows
sudo update-grub
Liczba na początku nazwy skryptu (np. 15_) wpływa na kolejność wpisów w menu.
7. Zmiana kolejności i nazewnictwa wpisów
7.1. Kolejność
Kolejność w menu wynika z numerów skryptów w /etc/grub.d/ oraz kolejności wpisów generowanych przez każdy skrypt.
Aby przenieść system Windows wyżej: możesz utworzyć własny skrypt, np. 09_windows, który wykona się przed 10_linux, albo ustawić GRUB_DEFAULT tak, aby jako domyślny startował Windows (bez fizycznej zmiany kolejności w menu).
7.2. Zmiana nazw (etykiet)
Własne wpisy (w 40_custom lub w twoich skryptach) nazwiesz, edytując tekst w menuentry "...". Wpisy Linuksa można czasem zmienić parametrem GRUB_DISTRIBUTOR lub przez ostrożną edycję skryptu 10_linux.
8. GRUB2 a Windows – typowe problemy i rozwiązania
System Windows potrafi „zawłaszczyć” proces rozruchu, zwłaszcza po następujących operacjach:
- świeżej instalacji Windows po Linuksie,
- dużych aktualizacjach typu „feature update”,
- zmianach w ustawieniach UEFI.
Najczęstsze efekty to:
- komputer startuje od razu do Windows,
- menu GRUB znika,
- pojawia się błąd „unknown filesystem” lub „grub rescue>”.
8.1. Po instalacji Windows zniknął GRUB
To klasyczny scenariusz: system Windows nadpisuje MBR (BIOS) lub zmienia wpisy UEFI na własny Boot Manager. Rozwiązanie różni się w zależności od trybu: w BIOS/MBR trzeba ponownie zainstalować GRUB na MBR, a w UEFI przywrócić wpis GRUB w NVRAM lub zainstalować go ponownie w ESP. Szczegóły znajdziesz w rozdziale 9.
8.2. Windows modyfikuje wpisy EFI
Po niektórych aktualizacjach Windows może nadpisać wpis Boot Manager w UEFI. W takiej sytuacji:
- ustaw GRUB jako domyślny w UEFI (BIOS Setup → Boot Order),
- ewentualnie użyj
efibootmgrw Linuksie, by zmienić BootOrder, - możesz też „przepiąć” Windows Boot Manager, aby startował przez GRUB (zaawansowane, w Windows:
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi).
9. Naprawa GRUB2 – praktyczne scenariusze
9.1. Najprostsza sytuacja – Linux nadal startuje
Jeżeli Linux wciąż się uruchamia (np. bez menu GRUB lub tylko po ręcznym wyborze dysku), wykonaj poniższe kroki:
- Zaloguj się do zainstalowanego Linuksa.
- W razie potrzeby przeinstaluj pakiety GRUB, zależnie od trybu rozruchu:
Debian/Ubuntu/Mint (BIOS):
sudo apt install --reinstall grub-pc
Debian/Ubuntu/Mint (UEFI 64-bit):
sudo apt install --reinstall grub-efi-amd64
- Upewnij się, że GRUB trafił na właściwy dysk (BIOS) lub do poprawnego ESP (UEFI).
- Przebuduj konfigurację:
sudo update-grub
W wielu przypadkach wystarczy samo przebudowanie konfiguracji:
sudo update-grub
To zwykle przywraca wpis Windows do menu po jego ponownej instalacji.
9.2. System się nie uruchamia – metoda live USB + Boot-Repair
To najprostsze rozwiązanie dla mniej zaawansowanych użytkowników.
Krok 1 – przygotuj live USB z Linuksem
Wykonaj poniższe czynności, aby utworzyć nośnik instalacyjny:
- pobierz obraz ISO popularnej dystrybucji (np. Ubuntu),
- użyj narzędzia Rufus (Windows), Etcher (wieloplatformowy) lub „Startup Disk Creator” (Ubuntu), aby nagrać ISO na pendrive,
- pamiętaj, że pendrive zostanie wyczyszczony.
Krok 2 – uruchom komputer z live USB
Skonfiguruj rozruch z pendrive’a zgodnie z poniższymi wskazówkami:
- wejdź do BIOS/UEFI (najczęściej Del, F2, F10, F12 lub Esc po włączeniu komputera),
- ustaw pendrive jako pierwsze urządzenie w Boot Order,
- zapisz zmiany (zwykle F10) i zrestartuj komputer,
- z menu live wybierz „Wypróbuj bez instalacji”.
Krok 3 – zainstaluj Boot-Repair
Po uruchomieniu systemu live wykonaj instalację narzędzia:
- połącz się z internetem (Ethernet lub Wi‑Fi),
- otwórz terminal i wykonaj kolejno polecenia.
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt update
sudo apt install -y boot-repair
Krok 4 – uruchom Boot-Repair i napraw GRUB
Wyszukaj Boot-Repair w menu aplikacji lub uruchom w terminalu:
boot-repair
Po skanowaniu wybierz „Recommended repair” (Zalecana naprawa), postępuj według wskazówek, a po zakończeniu zamknij program, wyjmij pendrive i zrestartuj komputer.
W większości przypadków menu GRUB zostanie odtworzone, a system Windows znów pojawi się w menu.
9.3. Naprawa „ręczna” z live USB (chroot)
To metoda dla bardziej zaawansowanych lub gdy Boot-Repair nie pomaga. Ogólny schemat wygląda tak:
- Uruchom system live Linux.
- Ustal, gdzie jest zainstalowany system (np. poleceniem
lsblklubfdisk -l). - Zamontuj partycję z systemem (root):
sudo mount /dev/sdXN /mnt
- Jeśli masz osobne
/bootlub/boot/efi, zamontuj je odpowiednio (przykład dla ESP):
sudo mount /dev/sdY1 /mnt/boot/efi
- Zamontuj pseudo-systemy:
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
- Wejdź do zainstalowanego systemu przez chroot:
sudo chroot /mnt
- Zainstaluj GRUB zależnie od trybu:
BIOS:
grub-install /dev/sda
UEFI (x86_64):
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
- Wygeneruj konfigurację:
update-grub
- Wyjdź z chroot, odmontuj katalogi i zrestartuj komputer.
To sprawdzony schemat w Debianie/Ubuntu, często najszybszy i najpewniejszy sposób przywrócenia GRUB.
9.4. „Unknown filesystem” / „grub rescue>” po zmianach w partycjach
Problem zwykle pojawia się po modyfikacji układu partycji (GParted, instalacja Windows, usunięcie starej partycji). Komunikat może wyglądać tak:
error: unknown filesystem.
entering rescue mode…
grub rescue>
Co możesz zrobić w praktyce: w Windows uruchom instalator, wybierz „Napraw komputer” → „Naprawa podczas uruchamiania”, aby przywrócić bootloader Windows (później ponownie zainstaluj GRUB, jeśli chcesz dual‑boot). Alternatywnie w systemie live Linux wykonaj procedurę z chroot (pkt 9.3). Zanim zaczniesz naprawy, rozważ skopiowanie ważnych danych na inny nośnik.
10. Dual-boot – dobre praktyki
10.1. Kolejność instalacji
Aby zminimalizować liczbę problemów, zastosuj taką kolejność:
- Zainstaluj system Windows jako pierwszy.
- Zostaw wolne miejsce na dysku.
- Zainstaluj Linuksa – instalator zwykle wykryje Windows i poprawnie skonfiguruje GRUB.
Jeżeli najpierw zainstalujesz Linuksa, a później Windows, ten drugi nadpisze bootloader i konieczne będzie przywrócenie GRUB (Boot‑Repair lub metoda z chroot).
10.2. UEFI – Secure Boot i Fast Boot
Problemy z rozruchem często powodują opcje Secure Boot oraz Fast Boot (w UEFI i w samym Windows). Zalecenia są następujące:
- wyłącz Secure Boot (przynajmniej na czas instalacji Linuksa),
- wyłącz Fast Boot w UEFI i w Windows,
- upewnij się, że tryb bootowania (UEFI vs Legacy) jest spójny dla obu systemów.
10.3. Archiwizacja danych przed naprawą
Przed jakimikolwiek działaniami naprawczymi wykonaj podstawowe kroki bezpieczeństwa:
- uruchom dowolny Linux live z USB,
- skopiuj ważne dane na zewnętrzny dysk,
- sprawdź, czy kopia jest czytelna.
W razie poważnej pomyłki przy naprawie bootloadera lub partycjonowaniu kopia zapasowa może być jedynym ratunkiem.
11. Przykładowa kompletna konfiguracja – krok po kroku
Załóżmy, że masz już zainstalowane: system Windows 10 i Ubuntu/Mint, a twoim celem jest:
- przywrócenie menu GRUB po instalacji Windows,
- dodanie estetycznego tła,
- ustawienie Windows jako domyślnego systemu startowego.
Krok 1 – przywrócenie GRUB (Boot-Repair)
Wykonaj następujące działania, aby szybko odtworzyć GRUB:
- stwórz live USB z Ubuntu,
- uruchom komputer z pendrive’a,
- zainstaluj Boot-Repair (
add-apt-repository,apt update,apt install boot-repair), - wybierz „Recommended repair”,
- wyjmij pendrive i zrestartuj komputer.
Menu GRUB powinno się pojawić, z Windows jako jedną z pozycji.
Krok 2 – dodanie tła i personalizacja
Wdrażamy estetykę i zmieniamy domyślny system na Windows:
- Zaloguj się do Ubuntu/Minta.
- Skopiuj obraz tła do
/boot/grub/mybackground.png. - Edytuj
/etc/default/grub, nadając mu poniższe wartości:
GRUB_DEFAULT="Windows Boot Manager (na dysku /dev/sdaX)" # lub dokładna nazwa wpisu
GRUB_TIMEOUT=5
GRUB_BACKGROUND="/boot/grub/mybackground.png"
GRUB_GFXMODE=1920x1080,auto
GRUB_GFXPAYLOAD_LINUX=keep
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
Nazwę wpisu Windows znajdziesz w wygenerowanym grub.cfg lub w menu GRUB.
- Przebuduj konfigurację:
sudo update-grub
Po restarcie uzyskasz następujący efekt:
- menu z własnym tłem,
- domyślnie po 5 sekundach uruchamia się Windows,
- Linux pozostaje dostępny jako kolejna opcja.
12. Kiedy warto rozważyć reinstall zamiast naprawy
Nie zawsze warto tracić godziny na naprawę skomplikowanego układu partycji i bootloadera. Rozważ świeżą instalację, gdy:
- i tak planujesz „świeży start”,
- dysk był wielokrotnie dzielony, łączony i przenoszony,
- nie czujesz się pewnie w obsłudze
chroot,grub-install,efibootmgr.
Rozsądny scenariusz postępowania wygląda następująco:
- Wykonaj kopię najważniejszych danych na inny nośnik.
- Zweryfikuj, że backup jest odczytywalny.
- Wyczyść dysk (np. w GParted).
- Zainstaluj najpierw system Windows, a potem Linuksa, zostawiając miejsce na
/homeitd. - Odtwórz dane z kopii zapasowej.
W wielu przypadkach to szybsze i bezpieczniejsze niż wielokrotne, niepewne próby naprawy.








