A GRUB bootloader testreszabása és javítása Ubuntun

Üdvözöljük a Linux világában, ahol a szabadság és a rugalmasság alapvető értékek! Az Ubuntu felhasználók számára az egyik legfontosabb, mégis gyakran figyelmen kívül hagyott komponens a GRUB bootloader. Ez az a program, amely elindítja a rendszert, és ha dual-boot konfigurációban dolgozunk, lehetővé teszi a különböző operációs rendszerek közötti választást. Bár alapvetően stabil, előfordulhat, hogy a GRUB-ot személyre szeretnénk szabni, vagy ami még rosszabb, javítanunk kell rajta, ha valami elromlik. Ez az átfogó útmutató segít Önnek a GRUB testreszabás és a GRUB javítás minden aspektusában, lépésről lépésre!

Mi az a GRUB és miért fontos?

A GRUB (GRand Unified Bootloader) az alapértelmezett bootloader a legtöbb Linux disztribúcióban, így az Ubuntun is. Felelős azért, hogy betöltse a Linux kernelt a memóriába, majd átadja neki az irányítást, így elindulhat az operációs rendszer. Dual-boot rendszerek esetén a GRUB menüjéből választhatjuk ki, melyik operációs rendszert szeretnénk elindítani (pl. Ubuntu vagy Windows). Fontossága tagadhatatlan: nélküle nem tudnánk elindítani a rendszerünket. Éppen ezért elengedhetetlen, hogy megértsük a működését, és képesek legyünk kezelni a vele kapcsolatos problémákat.

A GRUB működésének alapjai

Mielőtt belevágnánk a testreszabásba és a javításba, ismerkedjünk meg a GRUB működésének alapjaival. A GRUB konfigurációs fájlja a /boot/grub/grub.cfg. EZT A FÁJLT SOSE SZERKESZSZÜK KÖZVETLENÜL! Ezt a fájlt az update-grub parancs generálja automatikusan, a beállítások pedig elsősorban a /etc/default/grub fájlból és a /etc/grub.d/ könyvtárban található szkriptekből származnak. Amikor módosításokat végzünk, mindig a /etc/default/grub fájlt szerkesszük, majd futtassuk az update-grub parancsot a változtatások érvényesítéséhez.

GRUB Testreszabása az /etc/default/grub fájlon keresztül

A GRUB alapvető beállításainak módosítása viszonylag egyszerű. Nyissuk meg a /etc/default/grub fájlt egy szövegszerkesztővel, rendszergazdai jogosultságokkal. A leggyakrabban használt szerkesztő a Nano vagy a Gedit (ha grafikus felületen vagyunk).

sudo nano /etc/default/grub

Miután elvégeztük a módosításokat, ne felejtsük el futtatni:

sudo update-grub

Ezzel a paranccsal generáljuk újra a /boot/grub/grub.cfg fájlt a megadott beállítások alapján.

Gyakori beállítások és módosításuk:

1. Alapértelmezett indítási bejegyzés (GRUB_DEFAULT)

Ez a beállítás határozza meg, hogy melyik operációs rendszer induljon el alapértelmezetten a GRUB menüben.

  • Szám szerint: A menüben az első bejegyzés a 0, a második az 1, és így tovább. Ha például az első elemet szeretné alapértelmezetté tenni:
    GRUB_DEFAULT=0
  • Mentett utolsó: Ha azt szeretné, hogy a legutóbb kiválasztott rendszer induljon el legközelebb is:
    GRUB_DEFAULT=saved
    GRUB_SAVEDEFAULT=true

    Ez különösen hasznos dual-boot esetén, ha gyakran váltogat a rendszerek között.

  • Név szerint: Bonyolultabb, de lehetséges a pontos névvel is, például „Ubuntu”. Ezt a nevet a GRUB menüben láthatja.
    GRUB_DEFAULT="Ubuntu"

    Ügyeljen a pontos egyezésre!

2. Várakozási idő (GRUB_TIMEOUT)

Ez a beállítás szabályozza, mennyi ideig vár a GRUB, mielőtt automatikusan elindítja az alapértelmezett rendszert. Az érték másodpercben van megadva.

GRUB_TIMEOUT=10  # 10 másodperc várakozás
GRUB_TIMEOUT=0   # Nincs várakozás, azonnali indítás (csak óvatosan!)
GRUB_TIMEOUT=-1  # Végtelen várakozás, a felhasználónak kell választania

3. Menü elrejtése/megjelenítése (GRUB_TIMEOUT_STYLE)

Ez a beállítás befolyásolja a GRUB menü megjelenését.

  • GRUB_TIMEOUT_STYLE=menu: A GRUB menü mindig látható lesz, és a GRUB_TIMEOUT másodpercig vár. Ez az alapértelmezett.
  • GRUB_TIMEOUT_STYLE=hidden: A GRUB menü elrejtve marad. Ha GRUB_TIMEOUT=0, akkor teljesen rejtett lesz. Ha GRUB_TIMEOUT pozitív érték, akkor megnyomva egy gombot (pl. Shift, Esc) a várakozási idő alatt, megjelenik a menü.
  • GRUB_TIMEOUT_STYLE=countdown: A menü látható, és egy visszaszámláló mutatja a hátralévő időt.

4. Rendszermag indítási paraméterei (GRUB_CMDLINE_LINUX_DEFAULT)

Ez a beállítás adja át a kernelnek az indítási paramétereket.

  • GRUB_CMDLINE_LINUX_DEFAULT="quiet splash": Ez az alapértelmezett Ubuntu beállítás, amely elrejti a rendszerindítási üzeneteket, és egy indítóképernyőt (splash screen) mutat.
  • GRUB_CMDLINE_LINUX_DEFAULT="": Üresen hagyva minden indítási üzenet látható lesz. Hasznos hibakereséshez.
  • GRUB_CMDLINE_LINUX_DEFAULT="nomodeset": Ha videokártya-illesztőprogramokkal kapcsolatos problémái vannak (pl. fekete képernyő indításkor), ez a paraméter segíthet.
  • GRUB_CMDLINE_LINUX_DEFAULT="single" vagy "recovery": Ezek a paraméterek a rendszer helyreállítási módba (single user mode) indítására használhatók.

5. Grafikus felbontás (GRUB_GFXMODE és GRUB_GFXPAYLOAD_LINUX)

Ezekkel a beállításokkal megadhatja a GRUB menü felbontását. Győződjön meg róla, hogy a megadott felbontás támogatott a hardverén.

GRUB_GFXMODE=1920x1080x32  # Full HD felbontás, 32 bites színmélység
GRUB_GFXMODE=auto          # A GRUB automatikusan választja ki a legjobb felbontást
GRUB_GFXPAYLOAD_LINUX=keep # A kernel megtartja a GRUB által beállított grafikus módot

6. Háttérkép (GRUB_BACKGROUND)

A GRUB menü hátterét is testreszabhatja egy képpel. A képnek PNG, JPG, TGA vagy XCF formátumban kell lennie, és a /boot/grub/ mappában (vagy annak alkönyvtárában) kell elhelyezkednie.

GRUB_BACKGROUND="/boot/grub/kepem.png"

Speciális GRUB Testreszabások

GRUB téma telepítése

A GRUB menü esztétikai élményét jelentősen javíthatja egy téma telepítése. Számos gyönyörű téma érhető el az interneten (pl. Gnome-Look.org). A telepítés menete témánként eltérhet, de általában a következőket kell tenni:

  1. Töltse le a kívánt GRUB témát.
  2. Csomagolja ki a témát a /boot/grub/themes/ mappába (hozza létre, ha nem létezik).
  3. Szerkessze a /etc/default/grub fájlt, és adja hozzá a következő sort (cserélje le a „tema_neve” részt a téma tényleges nevére):
    GRUB_THEME="/boot/grub/themes/tema_neve/theme.txt"
  4. Futtassa az sudo update-grub parancsot.

Egyéni indítási bejegyzések hozzáadása (/etc/grub.d/40_custom)

Ha egyéni indítási bejegyzéseket szeretne hozzáadni a GRUB menühöz, például egy ritkán használt operációs rendszerhez, vagy egy speciális indítási paraméterekkel ellátott Linux kernelhez, akkor a /etc/grub.d/40_custom fájlt érdemes használni. Ez a fájl arra szolgál, hogy egyedi bejegyzéseket adjunk hozzá anélkül, hogy a rendszerfrissítések felülírnák azokat.

sudo nano /etc/grub.d/40_custom

Adjon hozzá egy „menuentry” blokkot a fájl végéhez. Például egy másik Linux rendszer indításához:

menuentry 'Saját Linux Disztribúció' {
    set root=(hd0,msdos1) # Cserélje le a saját partíciójára (pl. (hd0,gpt1))
    linux /boot/vmlinuz-5.4.0-58-generic root=/dev/sda1 ro quiet splash # A kernel és root partíció útvonala
    initrd /boot/initrd.img-5.4.0-58-generic # Az initramfs útvonala
}

Mentse el a fájlt, majd futtassa az sudo update-grub parancsot.

GRUB Javítása: Gyakori Problémák és Megoldások

A GRUB elromolhat számos okból kifolyólag: egy Windows újratelepítés, egy hibás partíció-módosítás, vagy akár egy rendszerfrissítés során fellépő hiba. Ne essen pánikba! A GRUB javítás általában nem bonyolult feladat.

Mikor szükséges a GRUB javítása?

  • A rendszerindításkor egy fekete képernyő jelenik meg, vagy a „no such partition” hibaüzenet.
  • A grub rescue> parancssor fogad minket.
  • Egy másik operációs rendszer telepítése felülírta a GRUB-ot.
  • A GRUB menü eltűnt, vagy nem megfelelően jelenik meg.

Javítás Live USB/DVD-ről (a legbiztonságosabb és leggyakoribb módszer)

Ez a módszer akkor működik, ha egyáltalán nem tudja elindítani a rendszerét. Szüksége lesz egy Ubuntu Live USB-re vagy DVD-re.

Lépések:

  1. Indítsa el a rendszert a Live USB/DVD-ről: Helyezze be a Live USB-t/DVD-t, majd indítsa újra a számítógépet. Győződjön meg róla, hogy a BIOS/UEFI beállításokban a Live USB/DVD az elsődleges indítási eszköz. Válassza az „Ubuntu kipróbálása telepítés nélkül” opciót.
  2. Azonosítsa az Ubuntu partícióját: Nyisson meg egy terminált (Ctrl+Alt+T), és futtassa a következő parancsot a lemezek és partíciók listázásához:
    lsblk

    Keresse meg az Ubuntu partíciót (általában ext4 fájlrendszerrel), például /dev/sdaX, ahol X a partíció száma (pl. /dev/sda1, /dev/sda2). Ha UEFI rendszerről van szó, valószínűleg szüksége lesz az EFI (ESP) partíció azonosítására is (általában FAT32 fájlrendszerrel).

  3. Csatlakoztassa az Ubuntu partíciót: Hozzon létre egy ideiglenes csatolási pontot, és csatolja oda az Ubuntu partícióját.
    sudo mkdir /mnt/ubuntu
    sudo mount /dev/sdX /mnt/ubuntu  # Cserélje az sdX-et a saját Ubuntu partíciójára

    Ha külön boot partíciója van (pl. /boot), azt is csatolja:

    sudo mount /dev/sdY /mnt/ubuntu/boot # sdY a boot partíció

    Ha UEFI rendszert használ és van EFI System Partition (ESP) partíciója (általában fat32), akkor azt is csatolja (gyakran /boot/efi alá):

    sudo mount /dev/sdZ /mnt/ubuntu/boot/efi # sdZ az EFI partíció
  4. Chroot környezetbe lépés: Ez lehetővé teszi, hogy a Live rendszerből úgy viselkedjen, mintha a telepített Ubuntu rendszeren belül lenne.
    for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt/ubuntu$i; done
    sudo chroot /mnt/ubuntu
  5. GRUB újratelepítése: Most, hogy a chroot környezetben van, futtassa a grub-install parancsot. Az /dev/sdX itt az ENTIRE drive (az egész merevlemez, nem csak egy partíciója!), amelyen az Ubuntu és a GRUB található. Például /dev/sda vagy /dev/nvme0n1.
    grub-install /dev/sdX  # FONTOS: IDE CSAK A LEMEZ NEVÉT ADJA MEG, NEM A PARTÍCIÓÉT!

    Ha hibaüzenetet kap, vagy UEFI rendszeren van, próbálja meg a következőket:

    grub-install --recheck /dev/sdX
    grub-install --bootloader-id=ubuntu /dev/sdX # UEFI rendszereknél

    Ha az EFI partíció nincs csatolva a /boot/efi alá a chroot környezetben, akkor a grub-install parancsnak át kell adni az EFI könyvtárat:

    grub-install --target=x86_64-efi --efi-directory=/boot/efi /dev/sdX
  6. GRUB frissítése: Ez újra létrehozza a grub.cfg fájlt a megfelelő bejegyzésekkel.
    update-grub
  7. Kijelentkezés és újraindítás:
    exit
    sudo umount -R /mnt/ubuntu
    sudo reboot

    Távolítsa el a Live USB-t, és remélhetőleg a rendszere sikeresen elindul!

A Boot-Repair eszköz használata (a legkönnyebb javítási módszer)

Ha a manuális chroot folyamat túl bonyolultnak tűnik, a Boot-Repair egy fantasztikus grafikus eszköz, amely szinte bármilyen GRUB problémát képes automatikusan kijavítani. Használatához szintén egy Live USB-re van szüksége.

Lépések:

  1. Indítsa el a Live USB-ről: Mint az előző módszernél, indítsa el az Ubuntu Live USB-ről, és válassza az „Ubuntu kipróbálása telepítés nélkül” opciót.
  2. Telepítse a Boot-Repair-t: Nyisson meg egy terminált, és adja hozzá a Boot-Repair tárolóját, majd telepítse az alkalmazást:
    sudo add-apt-repository ppa:yannubuntu/boot-repair
    sudo apt update
    sudo apt install -y boot-repair
  3. Futtassa a Boot-Repair-t: A telepítés után futtassa a Boot-Repairt a Dash-ből (keresse rá a „Boot-Repair” kifejezésre) vagy a terminálból:
    boot-repair
  4. Javítás indítása: A Boot-Repair ablakban a legegyszerűbb, ha rákattint az „Ajánlott javítás” (Recommended repair) gombra. A program automatikusan megpróbálja felismerni és kijavítani a GRUB problémákat. Ez eltarthat egy ideig.
  5. Újraindítás: A folyamat végén a Boot-Repair megkérheti, hogy indítsa újra a rendszert. Tegye meg, és távolítsa el a Live USB-t.

A Boot-Repair kiváló eszköz, amely gyakran megoldja a legbonyolultabb boot-problémákat is, és részletes logfájlt hoz létre, ha további segítségre van szüksége.

Gyakori Hibaelhárítási Tippek

A „Minimal BASH-like line editing is supported” hiba

Ez a hiba akkor fordul elő, ha a GRUB alapvető fájljai (általában a grub.cfg) nem találhatók vagy sérültek. Ezen a ponton beírhat parancsokat, hogy manuálisan indítsa a rendszert, majd javítsa a GRUB-ot.

grub> set prefix=(hd0,msdos1)/boot/grub  # Vagy (hd0,gpt1), partíciótól függően
grub> set root=(hd0,msdos1)            # Vagy (hd0,gpt1)
grub> insmod normal
grub> normal

Ezekkel a parancsokkal ideiglenesen elindíthatja a GRUB menüt. Ha ez sikerül, használja a fentebb leírt Live USB-s módszert a GRUB újratelepítéséhez.

grub rescue> prompt

Ez egy komolyabb probléma, ami azt jelzi, hogy a GRUB nem találja a boot szektorát, vagy a fájlrendszer sérült. Itt kevesebb parancs áll rendelkezésre, mint a „Minimal BASH” promptnál.

  1. Próbálja meg azonosítani a partícióit:
    ls

    A kimenet valami ilyesmi lesz: (hd0) (hd0,msdos1) (hd0,msdos2) .... Keresse meg azt a partíciót, amelyen az Ubuntu található. Próbálkozzon a ls (hdX,Y)/ parancsokkal, amíg meg nem találja a /boot/grub mappát.

    ls (hd0,msdos1)/boot/grub
  2. Ha megtalálta a megfelelő partíciót, állítsa be a root és prefix változókat:
    set prefix=(hd0,msdos1)/boot/grub
    set root=(hd0,msdos1)
  3. Töltse be a normal modult, és próbálja meg elindítani a rendszert:
    insmod normal
    normal

Ha ez sikerül, a rendszer elindul, és utána futtathatja az sudo update-grub és sudo grub-install /dev/sdX parancsokat a probléma végleges megoldására.

Biztonsági Mentés és Megelőzés

A legjobb javítás a megelőzés! Mindig érdemes biztonsági mentést készíteni a fontos konfigurációs fájlokról, mielőtt módosítja őket. A /etc/default/grub fájlról könnyen készíthet másolatot:

sudo cp /etc/default/grub /etc/default/grub.bak

Hasonlóképpen, a /boot/grub/grub.cfg fájlról is készíthet másolatot, bár ez automatikusan generálódik. Rendszeres teljes rendszer biztonsági mentés (például a Timeshift eszközzel) még nagyobb nyugalmat biztosíthat, mivel lehetővé teszi a rendszer korábbi, működő állapotba való visszaállítását.

Összefoglalás

A GRUB bootloader az Ubuntu rendszer egyik legfontosabb eleme. Bár első pillantásra bonyolultnak tűnhet a testreszabása vagy a javítása, reméljük, ez az útmutató segített megérteni a működését és magabiztosabbá tette Önt a kezelésében. Ne feledje: legyen óvatos a rendszerfájlok szerkesztésekor, mindig készítsen biztonsági mentést, és használja a sudo update-grub parancsot a változtatások érvényesítéséhez. A Live USB-ről történő javítás és a Boot-Repair eszköz a legjobb barátai lesznek, ha valaha is GRUB problémába ütközik. Sok sikert a GRUB mesterévé váláshoz!

Leave a Reply

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük