GNU GRUB

A Wikipédiából, a szabad enciklopédiából
GNU GRUB
Grub logo.png
GRUB with ubuntu and windows vista.png
GRUB menu képernyőkép

Fejlesztő GNU Project
Legfrissebb stabil kiadás ismeretlen +/-
Legfrissebb fejlesztői kiadás ismeretlen +/-
Programozási nyelv Assembly
C
Kategória Bootloader
Licenc GNU GPLv3
A GNU GRUB weboldala

A GNU GRUB (vagy röviden GRUB) egy boot loader szoftver, amely lehetővé teszi, hogy a felhasználó több operációs rendszert tároljon a számítógépén, s a gép indításakor válasszon, hogy éppen melyik rendszert akarja indítani. A GRUB a Multiboot Specifikáció egy referencia implementációja.

A GRUB szó a Grand Unified Boot Loader szavak rövidítése.

Bootolási folyamat[szerkesztés | forrásszöveg szerkesztése]

GNU GRUB MBR-particionálva merevlemez  
GNU GRUB GPT-particionálva merevlemez  
boot.img 446 Bytes nagy és a MBR (szektor 0) van. core.img az üres szektorokban MBR-utan van. A /boot/grub-directory bár hol lehet mert core.img már fájlrendszereket ismer  


A számítógép bekapcsolásakor a BIOS a beállításai alapján meghatározza a bootoló eszközt, ami jellemzően egy merevlemez, de lehet például CD, DVD vagy pendrive is. Ha ez megtörtént, akkor a BIOS átadja a vezérlést a Master Boot Record-nak, ami az adott eszköz első 512 byte-ját jelenti. A Master Boot Record tartalmazza a GRUB első szintjét, de mivel az 512 byte egy elég kis tárterület, ezért az ott tárolt kód szinte csak annyit csinál, hogy továbbadja a vezérlést a GRUB következő szintjének, ami már a meghajtó egy másik részén helyezkedik el.

Amikor a második szint megkapja a vezérlést, akkor megjelenít egy felhasználói felületet, amelyen választani lehet a bootolható operációs rendszerek közül és paraméterezni is lehet őket. A GRUB beállítható úgy is, hogy ha eltelik egy megadott idő anélkül, hogy a felhasználó választana, akkor automatikusan indítsa valamelyik rendszert.

A GRUB végül indítja a kiválasztott rendszert, azaz átadja a vezérlést a kiválaszott rendszermagnak. Ezen a ponton az is megtehető, hogy a GRUB ne egy operációs rendszert, hanem egy másik boot loadert indítson.

Telepítés[szerkesztés | forrásszöveg szerkesztése]

A GRUB-ot nem kell újratelepíteni a konfiguráció változásakor.

MBR-alapú merevlemezen az első track (63 szektor) legelső szektora (512 byte) tartalmazza egyebek mellett az MBR-kódot és a partíciós táblát. Az utána elhelyezkedő szektorokban található a GRUB programállománya, illetve ezt a területet használhatják más hasonló, multiboot szoftverek is. Ez a lemezterület az operációs rendszerből alapesetben nem látható, csak arra alkalmas programok segítségével érhető el, lemezszerkesztővel stb.

A következő track első szektora az első partíció kezdete, ahol legelső szektor a bootszektor, amely szintén tartalmaz egy indítókódot, de ez már operációs rendszertől függő. Mivel ezt a kódot a formázás alakítja ki, még azonos fájlrendszer esetén is (például FAT32) lehet eltérő tartalmú, attól függően, hogy a formázóprogram melyik operációs rendszerre készíti fel a meghajtót.

Az x86 IBM PC-szabványnak megfelelő MBR-kód úgy irányítja a bootfolyamatot, hogy a partíciós táblában aktívként megjelölt partíció első szektorában található indítókódnak adja át a vezérlést.

A GRUB, illetve a többi hasonló célú szoftver úgy tud működni, hogy a szabvány MBR-kódot módosítva eltéríti a folyamatot, a már említett programállomány irányába.

Amennyiben az MBR-kódot valamilyen más szoftver visszaállítja az eredeti, szabványos formátumra, úgy a GRUB kiiktatódik a folyamatból, de nem törlődik. A GRUB-hoz tartozik legtöbb esetben egy szerkeszthető konfigurációs állomány is, ami a Linux (Unix-like) indítómeghajtó fájlrendszerében helyezkedik el, jellemzően a /boot/grub/menu.lst elérési útvonalon. Ez határozza meg a képernyőn (nem feltétlenül) megjelenő menü tartalmát és a rendszerbetöltéshez szükséges paramétereket.

A LILO, illetve GRUB újratelepítése gyakorlatilag az MBR-kód ismételt módosítását jelenti, nem a programállomány újratelepítését, noha egyúttal az is felülírható. Az említett szoftverek telepítésének létezik másik módja is, amikor az MBR-kódot meghagyjuk szabványos formájában, és a programot a Linux (aktív) partíción belül telepítjük.

Külső hivatkozások[szerkesztés | forrásszöveg szerkesztése]