ГНУ ГРУБ (скраћеница за GNU Grand Unified Bootloader) је покретач оперативног система пакета ГНУ Пројекта. ГРУБ је референтна имплементација вишеструке спецификације покретања оперативног система фондације слободног софтвера, који обезбеђује кориснику избор за покретање једног од више инсталираних оперативних система на рачунару или избор специфичне конфигурације доступних кернела посебних партиција оперативног система. 

ГНУ ГРУБ је развојни пакет који се зове Grand Unified Bootloader (изводи се у оквиру обједињене теорије Definition of GRand Unified Bootloader). Углавном се корисит у оквиру система сличних Јуниксу. ГНУ оперативни систем користи ГНУ ГРУБ као покретач, као и већина Линукс дистрибуција. Соларис оперативни систем је искористио ГРУБ као свој покретач на x86 системима, почевши од Соларис 10 1/06 верзије.

Могућности Корисници могу динамички да подесе ГРУБ подсистем. ГРУБ учитава своју конфигурацију приликом покретања, дозвољавајући бут-тајм промене, као што су одабир другог кернела или  иницијализацију РАМ диска. У том смислу, ГРУБ пружа једноставан, налик на баш, интерфејс командне линије, који корисницима омогућава писање нове бут секвенце, поред нормалних листа менија.

ГРУБ је лако преносив. Подржава више извршних формата и независни геометријски превод. Подржава све најчешће коришћене Јуникс системе датотека, Windows системе датотека ФАТ и  НТФС, и адресирање логичких блокова (ЛБА). ГРУБ омогућава корисницима да виде садржај фајлова на било ком подржаном систему датотека.

ГРУБ можете преузети као покретач оперативног система са мреже, чиме се подржава подизање система без диска. Такође подржава аутоматску декомпозицију у боот-у пре него што је покренут. Груб подржава оперативне системе који не врше вишеструко покретање оперативног система, помоћу учитавајућег ланца. Он користи две или треи исте линије кода за боотовањн било код ДОС, Windows, Линукс, BSD или Соларис система, чиме је рад са њим врло олакшан. Учитавајући ланац као подршка Јуникс оперативних система је уграђена у ГРУБ-у.

Груб може да се користи са различитим корисничким интерфејсима. Већина Линукс дистрибуција користи ГРУБ за графички интерфејс како би обезбедила прилагођн боот-мени са позадинском сликом. Модификација ГРУБ-овог текст интефејса се може користити као серијска веза, тако да удаљени терминал може имати приступ боот учитавању.

ГРУБ користи котрљајући екран за избор оперативног система за покретање. То значи 150 или више боот избор се може лако контролисати ГРУБ додавањем их у grub.cfg конфигурациони фајл. Стрелице се користе за избор оперативног система који треба да се покрене. Поред нормалног менија, груб такође пружа баш налик терминал команд-промт који пружа облина скуп команди како би се омогућило кориснику да види или измени било који део процеса подизања система. Са овим алатима се може, без претходног знања томе како се инсталира било шта на рачунару, користити ГРУБ из спољног уређаја као што су дискете, USB уређаја или CD-ROM како би се подигао инсталирани оперативни систем.

Операције десно|мини|400x400px|ГБУ ГРУБ на a МБР-партицији хард диска; stage 1 (boot.img) може алтернативно бити написан у облику ВБР-а. десно|мини|400x400px|ГНУ ГРУБ на ГПТ-партицји хард диска

Бутовање Када је рачунар укључен, БИОС рачунара prоналази намештени примарни бутован уређај (најчешће хард диск рачунара) и учитава и извршава почетне бутстрап програм из МБР-а. МБР је први сектор на хард диску, са нулом као својим офсет (секторима бројање почиње од нуле). Већ дуже време, величина сектора је била 512 бајтова, али од 2009. године постоје хард дискови са величином сектора од 4096 бајтова, и називају се унапрађеним форматом дискова. Од октобра 2013. године, што су чврсти дискови су увек приступити у 512-бајта секторима, користећи се 512е емулацију.

Права МБР партиција подржава највише четири партиције и заузима 64 бајтова. Заједно опцијаме диске, сигнатура диска (четири бајта) и ознаке диска (шест бајта), остављају између 434 и 446 бајтова доступне меморије за машински код једног бут учитавања. Иако тако мали простор може бити потпуно довољан за веома једноставне бут утовариваче,. sourceforge.net. 2009. није довољно велик да садржи покретачки подржава сложених и више система датотека, меније избор за покретање избора итд Боот утоваривачи са већим стопала су тако подељени у комаде, где је најмањи комад уклапа у и борави у МБР, а већи комад (и) се чувају на другим местима (на пример, у празне секторе између МБР и прве партиције) и позивају се преко бут МБР кода.

Оперативни систем кернел слике су у већини случајева фајлове који се налазе на одговарајућим фајл системима, али је концепт система датотека је непознат БИОС-у. Тако, у системима који користе БИОС, је дужност бут учитавача јесте да приступи садржају тих фајлова, тако да се они могу прочитати са хард диска, учитају у РАМ и покрену.

Један од могућих приступа за покретање оперативног система је  учитавање основе језгра директно приступањем секторима хард диска заузетим од стране актуелне основе језгра, без разумевања основа система датотека. Обично је потребан додатни индиректни ниво, у облику мапе или мапе фајлова - помоћних фајлова који садрже списак физичких сектора обједињених основама језгра, чиме се омогућавају информације бут лоадеру о томе где се налазе фундаментални сектори основе језгра. Такве мапе треба да се ажурирају сваки пут када основе језгра мењају своју физичку локацију на диску, због инсталирања нове основе језгра, дефрагментације система фајлова итд. Такође, у случају да мапе мењају своје физичке локације, њихове локације треба да се ажурирају у оквиру МБР кода бут лоадера, тако сектори заобилазним механизмом настављају да раде. Ово није само гломазан, али и оставља могућност систему за ручне поправке у случају да нешто крене наопако током ажурирања система..

Други приступ је да се направи бут лоадер битних системских датотека, па основе језгра  су подешене и приступа им се користећи своје актуелне путање датотека. То захтева да бут лоадер садржи драјвер за системске датотеке за сваки од подржаних системских датотека, тако да се може схватити и приступити самом бут лоадеру. Овакав приступ елиминише потребу за фиксним локацијама сектора хард диска и постојање мапе фајлова, и не захтева МБР ажурирање након додавања или премештања основе језгра. Конфигурација бут лоадера се чува у редовном фајлу, који је такође прикључен у системске фајлове - на тај начин добија бут подешавање пре самог покретања било какве основе језгра. Као резултат тога, могућност да ствари крену наопако у разним променама система је значајно смањена. Као недостатак, такав бут лоадер има повећану унутрашњу сложеност и повећане путање.

ГНУ ГРУБ користи други приступ, са подразумеваним суштинским системским датотекама. Сама платформа бут лоадера је подељена у више фаза, дозвољавајући себи да се уклопи у МБР бут шеме.

Две главне верзије ГРУБ-а су у општој употреби. ГРУБ верзија 2, назива се и ГРУБ 2, написан од нуле и треба да замени претходну ГРУБ верзију 1, и сада се користи од стране већине Линукс верзија. ГРУБ верзија 1, назва се и ГРУБ наслеђе, преовладава само у старијим дистрибуираним верзијама Линукса, међу којима су неки и данас у употреби и подржава, на пример, у ЦентОС 5.

ГРУБ верзија 1 (ГРУБ наслеђе) мини|ГРУБ v1 покренут као део Убунту 8.04 инсталације Мастер Бут Рикорд (МБР) обично садржи ГРУБ фазу 1, али може да садржи други покретач који може покренути ланац ГРУБ фазе 1 из другог бут сектора као што су партиције волјум бут рекорд. С обзиром на малу величину бут сектора (512 бајта), фаза 1 може учинити мало од учитавања следеће фазе ГРУБ-а учитавањем неколико сектора дискова фиксних локација близу почетка диска (у оквиру својих првих 1024 цилиндара).

Фаза 1 може да учита фазу 2 директно, али је обично подешен да учита фазу 1.5. ГРУБ фаза 1.5 се налази у првих 30 КБ хард диска одмах после МБР-а и пре прве партиције. У случају да овај простор није доступан (нарочито табела партиција, специјалних драјвера за дискове, ГПТ или ЛВМ диска) инсталације фазе 1.5 неће успети. Основа фазе 1.5 садржи драјвере системских датотека. Ово омогућава фази 1.5 директно учитавање фазе 2 од било ког познатог места у системском фајлу, на пример из /boot/grub. Фаза 2 ће тада учитати датотеку подразумеване конфигурације и било које друге потребне модуле.

ГРУБ верзија 2 (ГРУБ) десно|мини|400x400px|boot.img има тачну величину 446 бајтова и уписује се у МБР (сектор 0). core.img је уписан у празне секторе између МБР и прве партиције, ако је на располагању (за наслеђене основе прва партиција почиње у сектору 63, уместо сектор 1, али то није обавезно). /boot/grub директоријум може да се налази на посебаној партицији, или на рут партицији. Фаза 1: boot.img се чува у мастер бут рикорду (МБР) или опционо у било ком од волјум бут рекорду (ВБР), и адресира следећу фазу од стране ЛБА48 адресе (дакле, ограничење 1024-цилиндара ГРУБ наслеђе се избегава); у току инсталације конфигурације учитава се први сектор core.img. Фаза 1.5: core.img се по дифолту уписује у секторе између МБР и прве партиције, када су ти сектори слободни и доступни. За наслеђивање, прва подела хард диск не почиње у сектору 1 (бројање почиње од 0), али у сектору 63, остављајући размак од 62 сектора празног простора. Тај простор није део  ни једе  партиције или система фајлова, а самим тим није подложан било каквим проблемима везаних са њим. Једном извршен, core.img  ће учитати своју датотеку подешавања и било које друге потребне модуле, драјвере за посебне системске датотеке; у току  инсталације генерисаће diskboot.img, и подесити да се учита фаза 2 са путањом за датотеку.. Фаза 2: датотеке које припадају фази 2 се сви држе у /boot/grub директоријуму, који је подиректоријум /boot директоријума специфицираног по стандардима хијерархије фајл-система (FHS). Када се ГРУБ фаза 2 учита, што представља ТУИ- оперативни систем базиран на изборном (избор језгра) менију, где корисник може да изабере који оперативни систем да се покрене. ГРУБ се може подесити да се аутоматски учита, изабере језгро,   корисничко време завршетка; ако је време завршетка 0 секунди, притискање и задржавање ⇧ Shift док се рачунар стартује омогућава да приступи менију за покретање.. howtogeek.com.

Ако датотеке или партиција постану недоступни, или ако корисник жели да преузме директну контролу, фаза 2 ће пасти на коришћење ГРУБ командне линије, где затим корисник може да ручно наведе бут параметре.

У изборном менију оперативног система ГРУБ прихвата пар команди: Притиском e, могуће је мењати параметре за изабрани оперативни систем пре стартовања оперативног система. Типично, ово се користи за промену параметара језгра за Линукс систем. Разлог за ово у ГРУБ-у (не мењати параметре у већ покренутом систему) може бити хитан случај: систем није успео да се подигне. Коришћењем линије параметара језгра могуће је, између осталог, да наведете модул да буде онемогућен (блокиран) за језгро. Ово би могло бити потребно ако је специфичан модул језгра оштећен и на тај начин спречава бут-уп. На пример, ако је блокиран модул језгра nvidia-current, додати modprobe.blacklist=nvidia-current на крају параметара језгра.. 2012-11-11. Притиском c, корисник улази у ГРУБ командну линију. ГРУБ командна линија није регуларна Линукс љуска, као нпр.баш, и прихвата само одређене ГРУБ специфичне команде, документоване од стране разних Линукс дистрибуција. Када је изабрана опција бут, ГРУБ учитава изабрано језгро у меморију и контрола пролази на језгро. Алтернативно, ГРУБ може проћи контролу процеса подизања система другим бут лоадером, користећи учитавајући ланац. Ово је метод који се користи за учитавање оперативних система као што је Microsoft Windows, који не подржавају вишебутну спецификацију или нису директно подржани од стране ГРУБ-а.