GRUB (legacy)
Současná verze zavaděče GRUB je výsledkem projektu PUPA, vývoj původního zavaděče GRUB, dnes přejmenovaného na GRUB legacy skončil oficiálně verzí 0.97 vydanou v r. 2005.
Původní GRUB začal vyvíjet v roce 1995 Erich Boleyn, když potřeboval zavádět GNU Hurd s mikrokernelem Mach4. Spolu s Brianem Fordem navrhnul specifikaci pro Multiboot, což je rozšíření zavaděče které umožňuje zavádět jedním zavaděčem i jiné OS. Nejprve zkoušel pro podporu Multiboot upravit zavaděč z FreeBSD, ale záhy zjistil, že jednodušší bude napsat zavaděč vlastní.
Pomyslné vývojářské žezlo od něj v r.1999 převzala dvojice vývojářů - Gordon Matzigkeit a Yoshinori K. Okuji, a GRUB se stal oficiálním GNU projektem, s otevřeným kódem.
Během následujících let se stal GRUB velmi populární a získal řadu zajímavých funkcionalit. Zároveň se ale taky ukázalo, že prvotní návrh aplikace nebyl zrovna optimální a bránil tak dalšímu vývoji aplikace.
Proto Yoshinori K. Okuji začal od r. 2002 pracovat na projektu PUPA (Preliinary Universal Programming Architecture for GNU GRUB), jehož cílem bylo kompletně přepsat jádro zavaděče. Výsledkem tohoto projetku je GRUB2 který od r. 2009 postupně v linuxových distribucích nahrazuje GRUB legacy.
GRUB2
Nejpodstatnější rozdíly oproti GRUB legacy
- GRUB2 nepoužívá mezistupeň 1.5
- Obsahuje podporu pro dynamické zavádění modulů během zaváděcího procesu (Původní GRUB umožňoval přidat další ovladače pouze během kompilace)
- Podporuje skriptování - práci s podmínkami, smyčkami, proměnnými a funkcemi.
- Podporuje internacionalizaci