• Ismertető
  • Hírek
  • Letöltés
  • Súgó
  • Tananyag
  • Közösség
  • Ubuntu Women
ubuntu.hu

Hamarosan érkezik az Ubuntu következő kiadása

Belépés

Mi az az OpenID?
  • Belépés OpenID használatával
  • OpenID belépés megszakítása
  • Felhasználó létrehozása
  • Elfelejtett jelszó

Facebook

Kapcsolat

  • Identi.ca csoport
  • Facebook oldal
  • IRC
  • Közösségi levlista
  • Segítői levlista
  • Magyar Ubuntu Planet
  • További elérhetőségek

Grub 2 útmutató

2009. október 26. – 20.36 – jezsoadam

Azért fordítottam le ezt a doksit, hogy a mindjárt megjelenő 9.10-es kiadásnál senkit ne érjen felkészületlenül a Grub 2 bevezetése, ugyanis a jól megszokott Grub-hoz (legacy) képest máshogy működik jó néhány dolog benne. A fordítás folyamán néhány mondatot kicsit megváltoztattam, a könnyebb érthetőség kedvéért, így előfordulhat, hogy nem pontosan azt írja le, ahogy én fordítottam. Igyekeztem érthetően fordítani, de természetesen, ha valamilyen hibát találtok benne, szóljatok.

Grub 2 útmutató

  1. Bevezető
  2. Szemmel látható különbségek
  3. Fejlesztések
  4. Grub bootolása
  5. Grub 2 fájlok és beállítások
  6. Bejegyzések hozzáadása a Grub 2-höz
  7. Bejegyzések eltávolítása a Grub 2-ből
  8. Grub 2 splash képek
  9. Menü felbontásának megváltoztatása
  10. Recovery Mode-ba bootolás menüpont nélkül
  11. GRUB 2 eltávolítása > GRUB
  12. GRUB 2 újratelepítése LiveCD-ől
  13. Linkek
  1. Bevezető

    Azért írtam ezt az útmutatót, hogy alapszintű ismeretet nyújtsak a Grub 2 használatához. Azoknak a felhasználóknak szól, akiknek valószínűleg nem ismeretlen a régi Grub (Grub Legacy) menu.lst fájljának alapszintű szerkesztése és azon gondolkoznak, hogyan működik ez Grub 2-n (ver 1.97). Nem fogok kitérni arra, hogy hogyan kell a Grub 2-t telepíteni, eltávolítani, vagy akár hogyan kell rá átállni.

    Ubuntu 9.10 (Karmic Koala) alatt a Grub 2 lesz az alapértelmezett, de a tervek szerint disztribúció frissítéskor nem váltja le a Grub 2 az előző verziót.

    A StartUp-Manager ugyan támogatja a Grub 2-t, de jelenleg csak nagyon korlátozott szinten. A StartUp-Manager beállítási lehetőségei közül nagyon sok jelenleg nem kompatibilis a Grub 2-vel. A tervek szerint a StartUp-Manager 2 már csak a Grub 2-t fogja támogatni, de ez még fejlesztés alatt van a készítője szerint.

    Hozzáfűzném azt is, hogy a Grub 2 még fejlesztés alatt van. A hivatalos dokumentáció jelenleg korlátozott és most készül. Részben ez az oka ennek az útmutatónak is. Remélhetőleg a közeljövőben több átfogó és teljeskörű dokumentáció lesz elérhető a fejlesztőknek és az önkénteseknek köszönhetően. Az oldal alján feltüntettem a dokumentációhoz használt forrásokat.

    Legelőször, mielőtt belekezdenél, ellenőrizd melyik Grub verziót használod. Ez a parancs megmondja a verziószámot:

    grub-install -v

    Valami ilyesmit kéne látnod:
    drs305@mycomputer:~$ grub-install -v
    grub-install (GNU GRUB 1.97~beta2)

  2. Szemmel látható különbségek: GRUB kontra GRUB 2

    Első indításkor nem látszik túl nagy különbség abban amit a felhasználó lát a boot menüben. Az egyetlen kivétel a tisztán telepített Ubuntu 9.10, egyéb operációs rendszer nélkül. Ebben az esetben a GRUB 2 közvetlenül bootolja be az OS-t a menü mutatása nélkül.

    Többi főbb különbség:

    • Nincs "/boot/grub/menu.lst". Ez a fájl váltja fel: "/boot/grub/grub.cfg".
    • Nincs "find /boot/grub/stage1" a grub prompt-nál. A Stage 1.5 szintén meg lett szüntetve.
    • A főmenü fájlja a "/boot/grub/grub.cfg" nem azért van, hogy módosítsák, még a root felhasználó által sem.
    • A "grub.cfg" fájl felülíródik minden alkalommal amikor frissítés történik, kernel-t adnak hozzá/távolítanak el, vagy amikor a felhasználó lefuttatja az update-grub parancsot.
    • A felhasználó használhat egyéni fájlt, az "/etc/grub.d/40_custom"-öt, ahol elhelyezheti a saját bejegyzéseit. Ez a fájl nem lesz felülírva.
    • Az elsődleges konfigurációs fájl a menü megjelenési beállításainak megváltoztatására: "/etc/default/grub".
    • Több fájl van a menü beállítására (pl. az "/etc/default/grub" említve lett előbb), az összes fájl az "/etc/grub.d/" mappában található.
    • Az egyéb operációs rendszereket, mint például a Windows-t, automatikusan fel kell ismernie és hozzá kell adnia a menühöz.
    • A konfigurációs fájlokban való változtatások nem lépnek érvénybe az update-grub parancs lefuttatásáig.
  3. Fejlesztések

    A GRUB 2 újdonságai a régi GRUB-hoz képest a következők:

    • Új konfigurációs fájl struktúra
    • Scriptelhezőség, beleértve a feltételes állításokat és funkciókat
    • Dinamikus modul betöltés
    • Visszaállító mód
    • Témák
    • Grafikus boot menü támogatás és továbbfejlesztett splash képességek
    • Könnyedén bootolhatóak a LiveCD ISO képfájlok közvetlenül a merevlemezről
    • Nem X86 platformok támogatása (pl.: PowerPC)
    • UUIDs-k univerzális támogatása (nem csak Ubuntu)
  4. Grub bootolása

    A Grub 2 az operációs rendszer előtt töltődik be. A moduláris komponensei akkor töltődnek be, ha szükség van rájuk. A menü megjelenése általában az "/etc/default/grub" fájlban van meghatározva. Nézd át a "Grub 2 fájlok és beállítások" részt bejegyzési és formázási útmutatóhoz.

    A főbb lehetőségek menü megjelenítéséhez a következők:

    • Alapértelmezett (Initial Default)
      • A Grub 2 egyenesen az alapértelmezett operációs rendszert fogja betölteni, ha más operációs rendszert nem érzékel. Semmilyen menü nem fog megjelenni. Ha más operációs rendszert is talál, akkor a Grub 2 menü meg fogja jeleníteni.
    • Időzített megjelenés (Timed display)
      • Az alapértelmezett késleltetés 10 másodperc. Ha nem történik felhasználói beavatkozás, akkor a Grub 2 az alapértelmezett menüpontot indítja.
      • A visszaszámlálás megállítható bármely billentyű lenyomásával. Ezek után a felhasználónak manuálisan kell választania.
      • Az alapértelmezetten booltolandó menüpontot a DEFAULT= opció határozza meg az "/etc/default/grub" fájlban, az első menüpont értéke 0.
    • Rejtett (Hidden)
      • A felhasználó megszakíthatja a boot folyamatot és megjelenítheti a menüt a SHIFT gomb nyomva tartásával, amig a menü meg nem jelenik. A Grub 2 figyeli a SHIFT gomb lenyomását a bootolás alatt. Ha a gomb meg lett nyomva, vagy ha a Grub 2 nem tudja meghatározni a SHIFT állapotát, a menü megjelenik.
      • A visszaszámláló alapból nem látszik, de megjeleníthető egy beállítással az "/etc/default/grub" fájlban.
      • A visszaszámlálás alatti vizuális visszajelzéshez, a visszaszámláló megjeleníthető a képernyőn.
      • A visszaszámlálás végén az alapértelmezett menüpont lesz kiválasztva, ami az "/etc/default/grub" lett meghatározva.
    • Mentett (Saved)
      • Ha az alapértelmezett beállítás "saved"-re lett állítva, akkor a legutóbbi sikeresen indított kernel/rendszer fog elindulni, ha nem történik felhasználói közbeavatkozás.
  5. Grub 2 fájlok és beállítások

    A /boot/grub mappában lévő fájlok közül sok ismeretlen lehet azoknak, akik az régi Grub-ot használták. Különösen feltűnő a *.mod fájlok sokasága. A Grub 2 moduláris felépítésű és ezek a fájlok akkor töltődnek be, amikor a Grub-nak szüksége van rá.

    A Grub 2 felhasználó által módosítható beállításai az /etc/default/grub és az /etc/grub.d mappában vannak. Amikor lefut az update-grub parancs, a végeredmény a /boot/grub/grub.cfg fájlban lesz eltárolva.

    • /boot/grub/grub.cfg
      • Ez a fő fájlja a Grub 2-nek. Ez helyettesíti a régi Grub /boot/grub/menu.lst fájlját. Ez tartalmazza a Grub menü információit, de ellentétben a régi Grub menu.lst fájljával, a grub.cfg nem szerkesztésre van szánva.
        • A grub.cfg automatikusan generálódik, amikor lefut az "update-grub" parancs:
        • Minden szekció (### BEGIN) jól láthatóan el van különítve és hivatkozik arra a /etc/grub.d mappában lévő fájlra ahonnan az információ generálva lett.
        • A grub.cfg az update-grub2 vagy az update-grub parancs rootként történű futtatásával frissíthető.
        • Alapértelmezetten, illetve ha bármikor lefut az update-grub2 parancs, ez a fájl csak olvasható (read-only) lesz. Ez összhangban van azzal a szándékkal, hogy a fájl nem szerkeszthető kézzel. Ha mégis szerkesztened kell ezt a fájlt, a második szekcióban található hozzá leírás.
      • Egy példa grub.cfg fájl Windows-al és egy manuális bejegyzéssel:
        #
        # DO NOT EDIT THIS FILE
        #
        # It is automatically generated by /usr/sbin/grub-mkconfig using templates
        # from /etc/grub.d and settings from /etc/default/grub
        #
        
        ### BEGIN /etc/grub.d/00_header ###
        load_env
        set default="0"
        if [ ${prev_saved_entry} ]; then
          saved_entry=${prev_saved_entry}
          save_env saved_entry
          prev_saved_entry=
          save_env prev_saved_entry
        fi
        insmod ext2
        set root=(hd0,1)
        search --no-floppy --fs-uuid --set 7ebcfe33-6914-42ec-9d2e-0859f7396925
        if loadfont /usr/share/grub/unicode.pf2 ; then
          set gfxmode=640x480
          insmod gfxterm
          insmod vbe
          if terminal_output gfxterm ; then true ; else
            # For backward compatibility with versions of terminal.mod that don't
            # understand terminal_output
            terminal gfxterm
          fi
        fi
        if [ ${recordfail} = 1 ]; then
          set timeout=-1
        else
          set timeout=10
        fi
        ### END /etc/grub.d/00_header ###
        
        ### BEGIN /etc/grub.d/10_linux ###
        menuentry "Ubuntu, Linux 2.6.31-12-generic" {
                recordfail=1
                save_env recordfail
        	set quiet=1
        	insmod ext2
        	set root=(hd0,1)
        	search --no-floppy --fs-uuid --set 7ebcfe33-6914-42ec-9d2e-0859f7396933
        	linux	/boot/vmlinuz-2.6.31-12-generic root=UUID=7ebcfe33-6914-42ec-9d2e-0859f7396933 ro   quiet splash
        	initrd	/boot/initrd.img-2.6.31-12-generic
        }
        menuentry "Ubuntu, Linux 2.6.31-12-generic (recovery mode)" {
                recordfail=1
                save_env recordfail
        	insmod ext2
        	set root=(hd0,1)
        	search --no-floppy --fs-uuid --set 7ebcfe33-6914-42ec-9d2e-0859f7396933
        	linux	/boot/vmlinuz-2.6.31-12-generic root=UUID=7ebcfe33-6914-42ec-9d2e-0859f7396933 ro single 
        	initrd	/boot/initrd.img-2.6.31-12-generic
        }
        menuentry "Ubuntu, Linux 2.6.31-11-generic" {
                recordfail=1
                save_env recordfail
        	set quiet=1
        	insmod ext2
        	set root=(hd0,1)
        	search --no-floppy --fs-uuid --set 7ebcfe33-6914-42ec-9d2e-0859f7396933
        	linux	/boot/vmlinuz-2.6.31-11-generic root=UUID=7ebcfe33-6914-42ec-9d2e-0859f7396933 ro   quiet splash
        	initrd	/boot/initrd.img-2.6.31-11-generic
        }
        menuentry "Ubuntu, Linux 2.6.31-11-generic (recovery mode)" {
                recordfail=1
                save_env recordfail
        	insmod ext2
        	set root=(hd0,1)
        	search --no-floppy --fs-uuid --set 7ebcfe33-6914-42ec-9d2e-0859f7396933
        	linux	/boot/vmlinuz-2.6.31-11-generic root=UUID=7ebcfe33-6914-42ec-9d2e-0859f7396933 ro single 
        	initrd	/boot/initrd.img-2.6.31-11-generic
        }
        ### END /etc/grub.d/10_linux ###
        
        ### END /etc/grub.d/20_memtest86+ ###
        
        ### BEGIN /etc/grub.d/30_os-prober ###
        menuentry "Microsoft Windows XP Home Edition (on /dev/sda1)" {
        	set root=(hd0,1)
        	chainloader +1
        }
        ### END /etc/grub.d/30_os-prober ###
        
        ### BEGIN /etc/grub.d/40_custom ###
        menuentry "Jaunty 2.6.28-15-custom" {
        	saved_entry=${chosen}
        	save_env saved_entry
        	set root=(hd0,8)
        	linux	/boot/vmlinuz-2.6.28-15-custom root=UUID=48e03255-22b3-488b-ae7e-9dbe4e2beac7 ro  quiet splash
        	initrd	/boot/initrd.img-2.6.28-15-custom
        }
        menuentry "SystemRescue" {
        	saved_entry=${chosen}
        	save_env saved_entry
                set root=(hd0,6)
                linux   /sysrcd/rescuecd subdir=sysrcd setkmap=us
                initrd  /sysrcd/initram.igz
        }
        ### END /etc/grub.d/40_custom ###
        

    • /etc/default/grub
      • Ez a fájl tartalmazza azokat az információkat, amik korábban a régi Grub menu.lst fájljának tetején foglaltak helyet és amik a kernel sor végén voltak. Ez a fájl szerkeszthető root jogokkal rendelkező felhasználóval.

        Példa:

        # If you change this file, run 'update-grub' afterwards to update
        # /boot/grub/grub.cfg.
        
        GRUB_DEFAULT=0
        #GRUB_HIDDEN_TIMEOUT=0
        GRUB_HIDDEN_TIMEOUT_QUIET=true
        GRUB_TIMEOUT="3"
        GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
        GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
        GRUB_CMDLINE_LINUX=""
        
        # Uncomment to disable graphical terminal (grub-pc only)
        #GRUB_TERMINAL=console
        
        # The resolution used on graphical terminal
        # note that you can use only modes which your graphic card supports via VBE
        # you can see them in real GRUB with the command `vbeinfo'
        #GRUB_GFXMODE=640x480
        
        # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
        #GRUB_DISABLE_LINUX_UUID=true
        
        # Uncomment to disable generation of recovery mode menu entrys
        

      • GRUB_DEFAULT - Meghatározza az alapértelmezett menüpontot. Az értéke lehet szám (0, 1, 2, stb...), vagy "saved".
        • GRUB_DEFAULT=0 - Beállítja az alapértelmezett menüpontot helyzet alapján. Ahogy a régi Grub-ban, az első menüpont a grub.cfg-ben a 0, második az 1, stb.
        • GRUB_DEFAULT=saved - Az alapértemezett menüpont az lesz, ami legutoljára lett kiválasztva. Ha a menü megjelenik booltolás során, a legutoljára kiválasztott menüpont lesz kiemelve. Ha nem történik közbeavatkozás, ez fog elindulni a visszaszámlálás végén, vagy ha a menü rejtve marad.
        • GRUB_DEFAULT="xxxx" - Egy konkrét menüpont neve, idézőjelek közé kell tenni. Ebben az esetben a menüpont helye a menüben lényegtelen. Például: GRUB_DEFAULT="Ubuntu, Linux 2.6.31-9-generic"
        • Példákért, hogy hogyan kell engedélyezni a "saved" opciót az egyedi menüben, lásd az "Egyéni Felhasználói Bejegyzések" részt.
      • GRUB_TIMEOUT=5 - Nem változott a régi Grub-hoz képest. Ennyi másodperc múlva indul el az alapértelmezett menüpont.
        • 0 A menü nem fog megjelenni és nem lesz késleltetés, ha az értéke 0:
          • A felhasználó kényszerítheti a menü megjelenését, ha nyomva tartja a SHIFT gombot bootolás közben.
          • Bootolás közben a rendszer ellenőrzi a SHIFT gomb állapotát. Ha nem tudja meghatározni a gomb állapotát, akkor egy rövid késleltetés lehetővé fogja tenni a felhasználónak, hogy megjelenítse a menüt az ESC gomb lenyomásával.
        • Ha ez az érték "-1"-re van állítva akkor a menü addig lesz látható, amíg a felhasználó nem választ egy menüpontot.
        • A fejlesztés közben úgy gondolták, hogy a Grub 2 menü alapértelmezetten legyen rejtett, hacsak nincs több operációs rendszer. Ebben az esetben ez a sor lehet, hogy ki van kommentelve. Hogy látható legyen a menü minden indításkor szedd ki a kommentet a sor elől és állítsd be értéknek 1-et vagy nagyobb számot.
        • Ez az utasítás késlelteti a GRUB_HIDDEN_TIMEOUT utasítást. Ha a menü rejtettsége megszakad egy gombnyomástól, a GRUB_TIMEOUT számláló elkezd visszaszámolni.
        • Továbbá a fájl root-ként való szerkszetéséhez, az alábbi utasításokat is használhatod az alapértelmezett érték ellenőrzéséhez és módosításához. Az első ellenőrzi a jelenlegi értéket, a második lecseréli. T helyére írd be az új értéket.
          cat /etc/default/grub | grep 'GRUB_TIMEOUT='   # Ellenőrzi a jelenlegi TIMEOUT értéket.
          sudo sed 's/GRUB_TIMEOUT=5/GRUB_TIMEOUT=T/g' -i /etc/default/grub  # Módosítja a TIMEOUT értéket. T helyére írd be az új értéket.

      • GRUB_HIDDEN_TIMEOUT=0
        • A menü el lesz rejtve, kivéve, ha a sor ki van kommentelve. ( # GRUB_HIDDEN_TIMEOUT=0 )
        • Hibák még lehetnek ebben a funkcióban. A menü elrejtése vagy működik, vagy nem.
        • Az alapértelmezett beállítás függhet az operációs rendszertől.
          • Más OS-t is talál: A menü meg fog jelenni. ( A sor ki lesz kommentelve #-el. )
          • Más OS-t nem talál: A menü rejtett lesz.
        • Nullánál nagyobb szám esetlén a megadott értéknyi másodpercig áll, de nem mutatja a menüt..
        • Ha engedélyezett, a 05_debian_theme fájlban megadott dizájnú splash screen fog megjelenni. Ez a beállítás csak a menüt rejti el.
      • GRUB_HIDDEN_TIMEOUT_QUIET=true
        • true - Nem jelenik meg a számláló. A képernyő üres lesz.
        • false - A számláló meg fog jelenni az üres képernyőn a GRUB_HIDDEN_TIMEOUT opciónál beállított értékig.
      • GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
        • Meghatározza az ismertetőben lévő nevet. (Ubuntu, Xubuntu, Debian, stb.)
      • GRUB_CMDLINE_LINUX
        Ha létezik ez a sor, az összes itt található bejegyzést hozzáteszi a 'linux' parancssor végéhez (mint a régi Grub "kernel" sora) a normál és visszaállító (recovery) módhoz is. Ez hasonlít az "altoptions" sorra a menu.lst-ben.
      • GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
        Ez a sor az összes itt található bejegyzést hozzáteszi a 'linux' parancssor végéhez (mint a régi Grub "kernel" sora). A bejegyzéseket csak a normál mód végéhez fűzi hozzá. Ez hasonlít a "defoptions" sorra a menu.lst-ben. A bootolási folyamat szöveges kijelzéséhez fekete háttérrel, távolítsd el a "quiet splash"-t. Ha a grub splash képét szeretnéd látni, egy tömör szöveges kimenettel, használd a "splash" opciót.
      • #GRUB_TERMINAL=console
        A grafikus terminál kikapcsolásához szedd ki a kommentet (csak grub-pc)
      • #GRUB_DISABLE_LINUX_UUID=true
        Ha nem akarod, hogy a GRUB átadja a "root=UUID=xxx" paramétert a Linuxnak, szedd ki a kommentet.
      • #GRUB_GFXMODE=640x480
        Hozzáadhatod ezt a sort és kiszedheted a kommentet (#), hogy aktiváld. Ez a bejegyzés határozza meg a grafikus menü felbontását (a menü szövegméretét). A VGA által támogatot felbontást tudja nyújtani (pl.: 640x480, 800x600, 1280x1024, stb). Ez a beállítás csak a boot menü szövegére vonatkozik.
      • GRUB_DISABLE_LINUX_RECOVERY=true
        Add hozzá vagy szedd ki a kommentet a sor elől, hogy megakadályozd, hogy a visszaállító (Recovery) mód kernel opciók megjelenjenek a menüben. Ha a "Recovery" opciót csak egy kernelnél akarod látni, akkor csinálj egy külön bejegyzést hozzá az "/etc/grub/40_custom" fájlban.
      • GRUB_DISABLE_OS_PROBER="true" - Engedélyezi/letiltja, hogy más partíciókon operációs rendszert keressen a GRUB beleértve a Windows-t, Linux-ot, OSX-et és a Hurd-öt.
    • /etc/grub.d/
      • Az ebben a mappában található fájlok beolvasásra kerülnek az "update-grub" vagy az "update-grub2" parancs futása közben. A tartalmuk a /boot/grub/grub.cfg fájlba lesznek importálva.

        A grub menü bejegyzések sorrendje a fájlnevek sorrendjén alapulnak. A számmal kezdődő nevű fájlok előbb futnak le, mint a betűvel kezdődőek. A fájlok sorrendje megállapítható a grub.cfg menü sorrendjéből.
        Egyéni bejegyzések hozzáadhatóak a "40_custom", vagy egy újonnan készített fájlhoz.

        Bármilyen fájl lett is létrehozva, azoknak sorban kell lefutniuk, hogy bekerülhessenek a grub.cfg fájlba az "update-grub2" parancs folyamán.

        • 00_header
        • 05_debian_theme: Meghatározza a hátteret és a szöveg színét, témákat
        • 10_hurd: Észleli a Hurd kerneleket
        • 10_linux: Észleli a Linux kerneleket "lsb_release" parancsra alapozva.
        • 20_memtest86+: Ha a /boot/memtest86+.bin fájl létezik, hozzá lesz adva, mint menüpont.
        • 30_os-prober: Megkeresi a Linux-okat és egyéb operációs rendszereket a többi partíción és hozzáadja őket a menühöz.
        • 40_custom: Egy sablon egyéni menüpontok hozzáadásához, amik hozzá lesznek adva a grub.cfg fáljhoz amikor lefut az "update-grub2" parancs. Ennek és minden egyéni fájlnak futtathatónak kell lennie, hogy hozzá lehessen adni a grub.cfg-hez.
  6. Bejegyzések hozzáadása a Grub 2-höz
    A grub.cfg fájlba a menü bejegyzések automatikusan, vagy manuálisan adhatók hozzá.
    • Automatikus.
      • Amikor az "update-grub" vagy az "update-grub2" lefut, a Grub 2 megkeresi a Linux kerneleket és az egyéb operációs rendszereket.
        Hogy mit és hol keres azt az /etc/grub.d mappába található fájlok határozzák meg.
        • 10_linux megkeresi a telepített linux kerneleket ugyanazon a partícón.
        • 30_os-prober egyéb operációs rendszereket keres.
    • Egyéni felhasználói bejegyzések (/etc/grub.d/40_custom).
      • A bejegyzések a grub.cfg-be manuálisan is beilleszthetők fájlok létrehozásával az /etc/grub.d mappába.
        • A fájl neve meghatározza a helyét a menüben. A 30_os-prober bejegyzései a 40_custom bejegyzései előtt fognak helyetfoglalni, ami pedig az 50_my-sample bejegyzései előtt.
        • Minden létrehoztt fájlnak futtathatónak kell lennie. Ez elvégezhető rootként a "sudo chmod +x /etc/grub.d/filename" paranccsal.
        • Az /etc/grub.d mappában lévő fájlok be lesznek olvasva és tartalmuk bekerül a grub.cfg fájlba, amikor az "update-grub2" parancs lefut root joggal.
      • Egy példa bejegyzés. Ez a fájl létrehoz egy menü elemet a SystemRescueCD futtatásához (előzőleg telepített) arról a partícióról, ami az sda10 csatolási ponton lett létrehozva. A mappáknak és a fájloknak a megfelelő helyre kell lenniük másolva összhangban a SystemRescueCD-vel, ha ténylegesen szeretnéd használni ezt a bejegyzést.
        • #!/bin/sh
          exec tail -n +3 $0
          # This file provides an easy way to add custom menu entries. Simply type the
          # menu entries you want to add after this comment. Be careful not to change
          # the 'exec tail' line above.
          
          echo "Adding SystemRescueCD" >&2
          cat << EOF
          menuentry "System Rescue CD" {
          set root=(hd0,10)
          linux /sysrcd/rescuecd subdir=sysrcd setkmap=us
          initrd /sysrcd/initram.igz
          } 
          EOF

        • Figyeld meg a partíció megnevezését. Az eszközök "0"-tól számozódnak, mint eddig. Az sda "hd0"-ként van jelölve, az sdb "hd1"-ként, stb. Azonban az első partíció most sda1-ként szerepel. A partíciók számozása nem "0"-val kezdődik, hanem "1"-el. Az sda5 az "5"-ös.
        • Az 'echo "Adding SystemRescueCD" >&2' sor nem feltétlenül szükséges. Ha benne van a fájlban, akkor ez a sor meg fog jelenni a terminálban, mikor az "update-grub2" parancs lefut. Vizuális visszajelzést biztosít arról, hogy a bejegyzés meg lett találva és be lett illesztve. A bejegyzés, ha a megfelelő formában van, be lesz illesztve a grub.cfg fájlba, akár benne van ez a sor a fájlban, akár nincs.
      • Tipp: Ha az egyéni menü bejegyzéseidet a menü tetején akarod látni (mondjuk egyéni címeket akarsz), akkor csinálj egy új fájlt "07_xxxx" néven. Mivel az /etc/grub.d/ mappában lévő fájlok egymást követően kerülnek beolvasásra, ezért a "07_custom" fájl a "10_linux" előtt fog következni. Nem ajánlom, hogy az egyéni menü fájljának neve 06-nál kissebb számmal kezdődjön, mivel minden téma a 05_debian_theme fájlból töltődik be, és így ez biztosan ez egyéni menü létrejötte előtt fog lefutni. A fájl létrehozása után futtasd le a sudo update-grub parancsot és utána ellenőrizd a "DEFAULT" értékét az /etc/default/grub fájlban. Ha ez nem a megfelelő menüpontra mutat, változtasd meg a DEFAULT értékét a megfelelő menüpont értékére.
      • memtest86+ elhagyása: Hogy ne jelenjenek meg a "memtest86+" bejegyzések a Grub 2 menüben, szüntesd meg a futtathatóságát az /etc/grub.d/20_memtest86+ fájlnak. Megcsinálhatod fájlkezelőből "Tulajdonságok (jobb klikk), Jogolultságok", vagy parancssorral:
        sudo chmod -x /etc/grub.d/20_memtest86+
      • Visszaállító mód (Recovery Mode) bejegyzések elhagyása: Az /etc/grub.d/10_linux fájl az utóbbi időben frissült, hogy tartalmazza a recovery mode opcióinak ellenőrzését. Szerkeszd a /etc/default/grub fájlt és add hozzá, vagy módosítsd a következő sort:
        GRUB_DISABLE_LINUX_RECOVERY=true
        Ha egy régebbi verziójú /etc/grub.d/10_linux fájlod van és a fenti kód nem működik a grub frissítése után, megszüntetheted a "Recovery mode" bejegyzéseket a Grub 2 menüdben, az /etc/grub.d/10_linux fájl szerkesztésével. Ha nincsenek benne "if"-es feltétel vizsgálatok a recovery mode-ot illetően, helyezz el egy komment jelet (#) a régi fájl következő sorai előtt (kb. a 146. sornál):
        # linux_entry "${OS}, Linux ${version} (recovery mode)" \
        # "single ${GRUB_CMDLINE_LINUX}"

        Ha meg akarsz tartani egy "Recovery mode" bejegyzést a biztonság kedvéért, hozzáadhatsz egy bejegyzést az /etc/grub.d/40_custom fájlhoz, ami meg fog jelenni a grub menü alján.
      • Egy teljesen személyre szabott menü építése: Oké, valld be, hogy az irányítás megszállottja vagy és csak azt akarod látni, amit magad készítettél - testreszabott címeket, semmi "memtest86+"-at vagy extra kerneleket. Itt van, hogyan csináld:
        • Futtasd le az update-grub parancsot, hogy elérd a jelenleg elérhető kerneleket.
        • Másold át a kiszemelt bejegyzést a /boot/grub/grub.cfg fájlból a /etc/grub.d/40_custom fájlba. A bejegyzés a "menuentry" elejű sorral kezdődik és "}"-el végződik.
        • Adj hozzá minden egyéb menüpontot, amit látni akarsz a bootmenüben.
        • Szerkeszt a címeket "menuentry" sorban, ha szükséges (az idézőjelek közt). Ne módosítsd a sorokat a "menuentry" sort követően. Minden bejegyzésnek egy "menuentry" sorral kell kezdődnie és egy "}"-el kell végződnie az utolsó sorban.
        • Szüntesd meg a következő fájlok futtathatóságát /etc/grub.d/10_linux, /etc/grub.d/20_memtest86+ és /etc/grub.d/30_os-prober.
          Amelyik fájl futtathatósága megszűnik az /etc/grub.d mappában, az ki lesz zárva a grub frissítésekor.
          sudo chmod -x /etc/grub.d/10_linux /etc/grub.d/20_memtest86+ /etc/grub.d/30_os-prober
        • Futtasd a "sudo update-grub" parancsot
        • A frissített /boot/grub/grub.cfg fájlnak most csak következő fájlok bejegyzéseit kéne tartalmaznia "00_header", "05_debian_theme" és "40_custom".
        • A grub.cfg fájl nem lesz frissítve új kernel hozzáadásakor. Az új kernel hozzáadásához tedd a make "10_linux" fájlt futtathatóvá, majd futtasd a "sudo update-grub" parancsot az elérhető kernelek frissítéséhez és az utasítások megismétléséhez.
      • A DEFAULT=save opció beépítése: A "saved default" opció engedélyezéséhez, amivel a Grub 2 előre kiválasztja a legutóbbi sikeresen használt menüpontot bootoláskor, a "DEFAULT=save" opciónak be kell lennie írva a /etc/default/grub fájlba és a 40_custom fájlt módosítani kell.
        Egy példa a 40_custom fájlra:
        • #! /bin/sh -e
          
          prefix=/usr
          exec_prefix=${prefix}
          libdir=${exec_prefix}/lib
          . ${libdir}/grub/grub-mkconfig_lib
          echo "Adding SystemRescueCD & Custom Kernel" >&2
          cat << EOF
          menuentry "Jaunty 2.6.28-15-custom" {
          EOF
          save_default_entry | sed -e "s/^/\t/"
          cat << EOF
          set root=(hd0,7)
          linux /boot/vmlinuz-2.6.28-15-custom root=UUID=12c55255-27b3-488b-hje7e-9dbe4e2esfg5 ro quiet splash
          initrd /boot/initrd.img-2.6.28-15-custom
          }
          EOF
          
          cat<< EOF
          menuentry "SystemRescue" {
          EOF
          save_default_entry | sed -e "s/^/\t/"
          cat << EOF
          set root=(hd0,6)
          linux /sysrcd/rescuecd subdir=sysrcd setkmap=us
          initrd /sysrcd/initram.igz
          }
          EOF

        • Manuális Windows bejegyzés (az /etc/grub.d/30_os-prober futtathatóságának megszüntetésével)
          #! /bin/sh -e
          
          echo "Adding Windows 43_custom" >&2
          cat << EOF
          menuentry "Windows Vista 43_custom" {
          insmod ntfs
          set root=(hd0,1)
          search --no-floppy --fs-uuid --set CFFCFF9EECFF7F49
          chainloader +1
          }
          EOF

      • Ne felejtsd el lefuttatni az "sudo update-grub" parancsot, miután elvégezted a változtatásokat az /etc/grub.d mappában lévő fájlokon.
    • A grub.cfg manuális szerkesztése (Nem ajánlott)

      Az /boot/grub/grub.cfg manuális szerkesztése nem ajánlott. A grub.cfg fájlra egyfajta végeredményként gondolj. A szerkesztésre való dolgok /etc/grub.d mappában vannak, illetve az /etc/default/grub fájlban.

      A szerkesztést elkerülendő, a grub.cfg fájl csak olvasható. Ha mégis megpróbálnád megnyitni, szerkeszteni és menteni ezt a fájl root joggal, addig nem fogod tudni megtenni, amíg a csak olvasható (read-only) állapotát meg nem változtatod. Ha mégis szerkesztened kéne ezt a fájlt:

      sudo chmod +w /boot/grub/grub.cfg
      gksudo gedit /boot/grub/grub.cfg

      Megjegyzés: Ez a fájl vissza lesz állítva csak olvasható állapotba, amint lefut az update-grub parancs.

  7. Bejegyzések eltávolítása a Grub 2-ből

    A bejegyzéseket az /etc/grub.d mappában lévő fájlok módosításával, vagy törlésével kéne eltávolítani. A /boot/grub/grub.cfg fájl csak olvasható és általában nem szükséges szerkeszteni.

    • Automatikusan.
      • Túl sok a kernel? Ha a kerneleket Synaptic-kal, vagy az "apt-get remove" paranccsal távolítod el, automatikusan frissülni fog a grub.cfg fájl és nem igényel semmilyen felhasználói beavatkozást.
        • Synaptic-ban gépeld be a kernel számát az ablak jobb felső sarkában lévő keresési mezőbe (pl.: 2.6.28-11).
          Keresd meg a "linux-image" és a "linux-headers" bejegyzéseket a megfelelő kernelhez (pl.: linux-image-2.6.26-11, vagy linux-image-2.6.26-11-generic).
        • Kattints jobb gombbal és válasz a "Kijelőlés teljes eltávolításra"-t, és nyomd meg az alkalmaz gombot.
        • A kernelek el lesznek távolítva a rendszerből és a Grub menüből.
        • Ha nem vagy biztos, hogy melyik kernelt használod, írd be a terminálba a "uname -r" parancsot.
        • Sok felhasználó megtartja az eggyel előbbi kernelt, ami előzőleg problémamentesen működött.
      • Az egyéb operációs rendszerek, amik el lettek távolítva a számítógépről, ugyancsak el lesznek távolítva a menüből, amint az "update-grub2" parancsot lefuttatod rootként.
      • Hogy megakadályozd az /etc/init.d mappában lévő fájlok valamelyikének futását, szüntesd meg a futtathatóságát.
        • Pl.: Ha nem akarod látni a "Memtest86+" bejegyzéseit, futtasd le ezt a parancsot:
          sudo chmod -x /etc/grub.d/20_memtest86+
        • Az update-grub parancs futtatása véglegesíti a módosításokat a grub.cfg fájlban.
    • Felhasználó által létrehozott bejegyzések.
      • Egy felhasználó által létrehozott bejegyzés eltávolításához, töröld ki a hozzá tartozó fájlt az /etc/grub.d mappából.
      • Ha ez egyéni fájl több bejegyzést tartalmaz, egyes elemeket eltávolíthatsz, másokat megtarthatsz.
      • Miután a fájl el lett távolítva, vagy szerkesztve, futtasd le az "update-grub2" parancsot a grub.cfg frissítéséhez.
  8. Grub 2 splash képek

    Miért találnád fel újra a kereket? Látogasd meg ezt az oldalt, ami egy remek bemutatót tartalmaz Grub 2 splash képek készítéséről:
    http://members.iinet.net/~herman546/p20/GRUB2%20Splashimages.html

    Azonban, ha a titkosított merevlemez nem jelent problémát, itt vannak az alapok:

    • Másold át kézzel a splash képeket az /usr/share/images/grub mappába, vagy telepítsd fel az alapértelmezett grub2 splash képeket a Synaptic segítségével:
      sudo apt-get install grub2-splashimages
    • A Grub2 splash képei az /etc/grub.d/05_debian_theme fájl irányítása alatt vannak. Nyisd meg ezt a áfjlt szerkesztésre:
      gksudo gedit /etc/grub.d/05_debian_theme
      Keresd meg a következő sort és szerkeszd a kiemelt részt, helyettesítsd azzal a grub splash képpel (az /usr/share/images/grub mappában található), amit használni szeretnél:
      for i in {/boot/grub,/usr/share/images/grub}/moreblue-orbit-grub.{png,tga} ; do
      Megjegyzés: Ott van egy periódus ( . ) a fájlnevet követően.
      • Egy időben a Grub 2 splash képei, amik le lettek töltve, az /usr/share/images/desktop.base mappában tárolódtak. Ha itt találhatóak, add meg a megfelelő elérési utat az előző parancsban ( ... /usr/share/images/desktop-base} ... ).
    • Mentsd el a fájlt, majd frissítsd a Grub2-t:
      sudo update-grub2
  9. Menü felbontásának megváltoztatása
      Ha meg szeretnéd változtatni a felbontását a Grub 2 képernyőjének, amikor splash képet használsz, kövesd a következő lépéseket:
    1. Add meg a kívánt felbontást az /etc/default/grub fájlban
      • Változtasd meg a "GRUB_GFXMODE=" értékét (Pl.: GRUB_GFXMODE=800x600)
        • Ha nem vagy biztos abban, hogy milyen felbontások állnak a Grub 2 rendelkezésére, meg tudod jeleníteni őket, ha beírod a "vbeinfo" parancsot a GRUB 2 parancssorába. A parancssor a "c" gomb lenyomásával érhető el, amikor a fő Grub 2 menü kép megjelenik.
    2. Válassz egy képet azonos felbontással és módosítsd az /etc/grub.d/05_debian_theme fájlt
      • A kép neve is az alábbi szöveggel kezdődő sorban található: " for i in {/boot"
      • Ha egy kép felbontása nem megfelelő, a menü nem fog pontosan elhelyezkedni.
      • Használd az általad választott képszerkesztőt, hogy létrehozz/átméretezz egy képet a megfelelő méretben.
      • A kép méretét a tulajdonságok segítségével meg lehet nézni a fájlkezelőben (nézd meg a kép fület Nautilus-ban).
    3. Futtasd az update-grub parancsot rootként, hogy az új beállítások hozzá legyenek azva a /boot/grub/grub.cfg fájlhoz
  10. Recovery Mode-ba bootolás menüpont nélkül
    1. Ha a Grub 2 úgy van beállítva, hogy egyáltalán ne jelenítse meg a menüt bootoláskor, tartsd lenyomva a SHIFT billentyűt, amíg a menü meg nem jelenik. (A régi Grub-nál ez volt az ESC billentyű.)
    2. Nyomj meg egy gombot egyszer, amikor a menü megjelenik, hogy 'kimerevítsed'. Aztán válaszd ki az a kernelt, amit el akarsz indítani.
    3. Nyomd meg az E-t
    4. Menj a "linux /boot/vmlinuz...." sor végére. Ha látható, akkor távolítsd el a "quiet" és/vagy "splash" paramétereket. Írd a "single" paramétert a sor végére.
    5. Nyomj CTRL-X-et a visszaállító menü elindításához.
  11. GRUB 2 eltávolítása > GRUB

    A parancssor segítségével tisztábban lehet eltávolítani és újratelepíteni. Amíg a csomagok hozzáadása és eltávolítása megoldható Synaptic, néhány lépést muszáj parancssorból végezni.

    • Nyiss egy terminált: Alkalmazások, Kellékek, Terminál.
    • Készítsünk biztonsági másolatot a GRUB 2 fő mappáiról és fájljairól
      • sudo cp /etc/default/grub /etc/default/grub.old
        sudo cp -R /etc/grub.d /etc/grub.d.old
        sudo cp -R /boot/grub /boot/grub.old
    • GRUB 2 eltávolítása
      • sudo apt-get purge grub2 grub-pc
      • Figyelmeztetni fog, hogy a rendszer képtelen lesz elindulni másik rendszerbetöltő telepítése nélkül.
      • Amikor a csomagok el lesznek távolítva, néhány fájl benne fog maradni a '/boot/grub' mappában
    • GRUB 0.97 telepítése
      • sudo apt-get install grub
      • A "grub" telepítésével, a felhasználónak még létre kell hoznia a "menu.lst" és a "stage1/stage2" fájlokat.
      • sudo update-grub
        • Létrehozza "menu.lst" fájlt. Tab-bal válaszd ki a "Yes/Igen"-t amikor kéri.
      • sudo grub-install /dev/sdX
        • Válaszd a megfelelő eszközt (sda, sdb, etc), általában azt, amire az Ubuntu lett telepítve.
        • Létrehozza a "stage1" és "stage2" fájlokat a "/boot/grub" mappában és beírja megát az MBR szektorba.
    • Indítsd újra
  12. GRUB 2 újratelepítése LiveCD-ől

    Ha nem indul a GRUB 2 és újra kéne telepíteni:

    • Bootolj be az Ubuntu 9.10 LiveCD-ről.
    • Nyiss egy terminált: Alkalmazások, Kellékek, Terminál.
    • Állapítsd meg, hogy melyik a rendes rendszer partíciód - `sudo fdisk -l` (Végén egy kis L van.)
    • Ha nem vagy biztos, futtasd a `df -Th` parancsot. Figyelj a lemez méretére, meg hogy ext3, vagy ext4 fájlrendszerű.
    • Csatold fel a rendszer partíciódat:
      sudo mount /dev/sdXX /mnt
      • Megjegyzés: helyettesítsd be a megfelelő partíciót: sda1, sdb5, etc.
      • Megjegyzés: A GRUB 2 az első eszközt "0"-ként számozza, de az első partíciót meg "1"-ként
    • Csak akkor, ha külön boot partíciód van:
      sudo mount /dev/sdYY /mnt/boot
      • Az sdYY helyére a /boot partíciód helyét add meg.
    • Eszközök felcsatolása:
      sudo mount --bind /dev/ /mnt/dev
    • Chroot-olj a rendes rendszer eszközödbe:
      sudo chroot /mnt
    • GRUB 2 újratelepítése:
      sudo grub-install /dev/sdX
      • Megjegyzés: Helyettesítsd be a megfelelő eszközt - sda, sdb, sdc.. Ne adj meg partíció számot.
    • Ellenőrizd a telepítést:
      sudo grub-install --recheck /dev/sdX
      • Megjegyzés: Helyettesítsd be a megfelelő eszközt - sda, sdb, sdc.. Ne adj meg partíció számot.
    • Lépj ki a chroot-ból: CTRL-D
    • Csatold le az eszközöket:
      sudo umount /mnt/dev
    • Ha külön /boot partíciót csatoltál:
      sudo umount /mnt/boot
    • Csatold le az utolsó eszközt:
      sudo umount /mnt
    • Indítsd újra a géped.
  13. Linkek
    Grub2 (help.ubuntu.com)
    Grub 2 Title Tweaks
    Grub 2 Introduction
    Grub 2: A Guide for Users (from Kubuntu Forums)
    https://wiki.ubuntu.com/KernelTeam/Grub2Testing
    GNU Grub 2 Manual Links
    GNU Grub 2 Manual (in development)
    Grub 2 Wiki
    Herman's Grub 2 Site Comprehensive
‹ Google Earth telepítése fel Gwibber – Microblogger ›
© 2007–2011. Magyar Ubuntu Közösség.
Az Ubuntu a Canonical bejegyzett védjegye.
Az ubuntu.hu az fsf.hu kiszolgálóin fut.