Овом чланку је потребна лектура текста. То подразумева исправку граматичких, правописних и интерпункцијских грешака или тона. Кликните на дугме „Уреди” и побољшајте га. (детаљније о уклањању овог шаблона обавештења)
Корисници могу динамички да подесе ГРУБ подсистем. ГРУБ учитава своју конфигурацију приликом покретања, дозвољавајући бут-тајм промене, као што су одабир другог кернела или иницијализацију РАМ диска. У том смислу, ГРУБ пружа једноставан, налик на баш, интерфејс командне линије, који корисницима омогућава писање нове бут секвенце, поред нормалних листа менија.
ГРУБ је лако преносив. Подржава више извршних формата и независни геометријски превод. Подржава све најчешће коришћене Јуникс системе датотека, Windows системе датотека ФАТ и НТФС, и адресирање логичких блокова (ЛБА). ГРУБ омогућава корисницима да виде садржај фајлова на било ком подржаном систему датотека.
ГРУБ можете преузети као покретач оперативног система са мреже, чиме се подржава подизање система без диска. Такође подржава аутоматску декомпозицију у боот-у пре него што је покренут. Груб подржава оперативне системе који не врше вишеструко покретање оперативног система, помоћу учитавајућег ланца. Он користи две или треи исте линије кода за боотовањн било код ДОС, Windows, Линукс, BSD или Соларис система, чиме је рад са њим врло олакшан. Учитавајући ланац као подршка Јуникс оперативних система је уграђена у ГРУБ-у.
Груб може да се користи са различитим корисничким интерфејсима. Већина Линукс дистрибуција користи ГРУБ за графички интерфејс како би обезбедила прилагођн боот-мени са позадинском сликом. Модификација ГРУБ-овог текст интефејса се може користити као серијска веза, тако да удаљени терминал може имати приступ боот учитавању.
ГРУБ користи котрљајући екран за избор оперативног система за покретање. То значи 150 или више боот избор се може лако контролисати ГРУБ додавањем их у grub.cfg конфигурациони фајл. Стрелице се користе за избор оперативног система који треба да се покрене. Поред нормалног менија, груб такође пружа баш налик терминал команд-промт који пружа облина скуп команди како би се омогућило кориснику да види или измени било који део процеса подизања система. Са овим алатима се може, без претходног знања томе како се инсталира било шта на рачунару, користити ГРУБ из спољног уређаја као што су дискете, USB уређаја или CD-ROM како би се подигао инсталирани оперативни систем.
Операције
Бутовање
Када је рачунар укључен, БИОС рачунара prоналази намештени примарни бутован уређај (најчешће хард диск рачунара) и учитава и извршава почетне бутстрап програм из МБР-а. МБР је први сектор на хард диску, са нулом као својим офсет (секторима бројање почиње од нуле). Већ дуже време, величина сектора је била 512 бајтова, али од 2009. године постоје хард дискови са величином сектора од 4096 бајтова, и називају се унапрађеним форматом дискова. Од октобра 2013. године, што су чврсти дискови су увек приступити у 512-бајта секторима, користећи се 512е емулацију.
Права МБР партиција подржава највише четири партиције и заузима 64 бајтова. Заједно опцијаме диске, сигнатура диска (четири бајта) и ознаке диска (шест бајта), остављају између 434 и 446 бајтова доступне меморије за машински код једног бут учитавања. Иако тако мали простор може бити потпуно довољан за веома једноставне бут утовариваче,[3] није довољно велик да садржи покретачки подржава сложених и више система датотека, меније избор за покретање избора итд Боот утоваривачи са већим стопала су тако подељени у комаде, где је најмањи комад уклапа у и борави у МБР, а већи комад (и) се чувају на другим местима (на пример, у празне секторе између МБР и прве партиције) и позивају се преко бут МБР кода.
Оперативни систем кернел слике су у већини случајева фајлове који се налазе на одговарајућим фајл системима, али је концепт система датотека је непознат БИОС-у. Тако, у системима који користе БИОС, је дужност бут учитавача јесте да приступи садржају тих фајлова, тако да се они могу прочитати са хард диска, учитају у РАМ и покрену.
Један од могућих приступа за покретање оперативног система је учитавање основе језгра директно приступањем секторима хард диска заузетим од стране актуелне основе језгра, без разумевања основа система датотека. Обично је потребан додатни индиректни ниво, у облику мапе или мапе фајлова - помоћних фајлова који садрже списак физичких сектора обједињених основама језгра, чиме се омогућавају информације бут лоадеру о томе где се налазе фундаментални сектори основе језгра. Такве мапе треба да се ажурирају сваки пут када основе језгра мењају своју физичку локацију на диску, због инсталирања нове основе језгра, дефрагментације система фајлова итд. Такође, у случају да мапе мењају своје физичке локације, њихове локације треба да се ажурирају у оквиру МБР кода бут лоадера, тако сектори заобилазним механизмом настављају да раде. Ово није само гломазан, али и оставља могућност систему за ручне поправке у случају да нешто крене наопако током ажурирања система.[4]
Други приступ је да се направи бут лоадер битних системских датотека, па основе језгра су подешене и приступа им се користећи своје актуелне путање датотека. То захтева да бут лоадер садржи драјвер за системске датотеке за сваки од подржаних системских датотека, тако да се може схватити и приступити самом бут лоадеру. Овакав приступ елиминише потребу за фиксним локацијама сектора хард диска и постојање мапе фајлова, и не захтева МБР ажурирање након додавања или премештања основе језгра. Конфигурација бут лоадера се чува у редовном фајлу, који је такође прикључен у системске фајлове - на тај начин добија бут подешавање пре самог покретања било какве основе језгра. Као резултат тога, могућност да ствари крену наопако у разним променама система је значајно смањена. Као недостатак, такав бут лоадер има повећану унутрашњу сложеност и повећане путање.[4]
ГНУ ГРУБ користи други приступ, са подразумеваним суштинским системским датотекама. Сама платформа бут лоадера је подељена у више фаза, дозвољавајући себи да се уклопи у МБР бут шеме.
Две главне верзије ГРУБ-а су у општој употреби. ГРУБ верзија 2, назива се и ГРУБ 2, написан од нуле и треба да замени претходну ГРУБ верзију 1, и сада се користи од стране већине Линукс верзија. ГРУБ верзија 1, назва се и ГРУБ наслеђе, преовладава само у старијим дистрибуираним верзијама Линукса, међу којима су неки и данас у употреби и подржава, на пример, у ЦентОС 5.
ГРУБ верзија 1 (ГРУБ наслеђе)
Мастер Бут Рикорд (МБР) обично садржи ГРУБ фазу 1, али може да садржи други покретач који може покренути ланац ГРУБ фазе 1 из другог бут сектора као што су партиције волјум бут рекорд. С обзиром на малу величину бут сектора (512 бајта), фаза 1 може учинити мало од учитавања следеће фазе ГРУБ-а учитавањем неколико сектора дискова фиксних локација близу почетка диска (у оквиру својих првих 1024 цилиндара).
Фаза 1 може да учита фазу 2 директно, али је обично подешен да учита фазу 1.5. ГРУБ фаза 1.5 се налази у првих 30 КБ хард диска одмах после МБР-а и пре прве партиције. У случају да овај простор није доступан (нарочито табела партиција, специјалних драјвера за дискове, ГПТ или ЛВМ диска) инсталације фазе 1.5 неће успети. Основа фазе 1.5 садржи драјвере системских датотека. Ово омогућава фази 1.5 директно учитавање фазе 2 од било ког познатог места у системском фајлу, на пример из /boot/grub. Фаза 2 ће тада учитати датотеку подразумеване конфигурације и било које друге потребне модуле.
ГРУБ верзија 2 (ГРУБ)
Фаза 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 док се рачунар стартује омогућава да приступи менију за покретање.[5]
Ако датотеке или партиција постану недоступни, или ако корисник жели да преузме директну контролу, фаза 2 ће пасти на коришћење ГРУБ командне линије, где затим корисник може да ручно наведе бут параметре.
У изборном менију оперативног система ГРУБ прихвата пар команди:
Притиском e, могуће је мењати параметре за изабрани оперативни систем пре стартовања оперативног система. Типично, ово се користи за промену параметара језгра за Линукс систем. Разлог за ово у ГРУБ-у (не мењати параметре у већ покренутом систему) може бити хитан случај: систем није успео да се подигне. Коришћењем линије параметара језгра могуће је, између осталог, да наведете модул да буде онемогућен (блокиран) за језгро. Ово би могло бити потребно ако је специфичан модул језгра оштећен и на тај начин спречава бут-уп. На пример, ако је блокиран модул језгра nvidia-current, додати modprobe.blacklist=nvidia-current на крају параметара језгра.[6]
Притиском c, корисник улази у ГРУБ командну линију. ГРУБ командна линија није регуларна Линукс љуска, као нпр.баш, и прихвата само одређене ГРУБ специфичне команде, документоване од стране разних Линукс дистрибуција.[7]
Када је изабрана опција бут, ГРУБ учитава изабрано језгро у меморију и контрола пролази на језгро. Алтернативно, ГРУБ може проћи контролу процеса подизања система другим бут лоадером, користећи учитавајући ланац. Ово је метод који се користи за учитавање оперативних система као што је Microsoft Windows, који не подржавају вишебутну спецификацију или нису директно подржани од стране ГРУБ-а.
Ако је коришћење дм-крипт намерно, садржај /boot, као и/boot/grub, Линукс језгра и initramfs односно initrd треба да буде на посебаној не-кодираној particiji јер логика за руковање шифроване партиције се налази унутар Линукс језгра.
Инсталација
ГНУ ГРУБ (верзија 2) софтвер пакета садржи неколико извршних датотека:
написати boot.img било на MБР-у или волјум бут рекорду (ВБР), опционо наведено у командној линији
написати core.img у простору између МБР-а и прве партиције или респективно копирати grub*.efi у EФИ системску партицију
grub-mkconfig(8) је помоћни програм за генерисање grub.cfg датотеке
update-grub(8) се користи за рад grub-mkconfig -o /boot/grub/grub.cfg-а, који комбинује поставке из /etc/default/grub и /etc/grub.d/* конфигуришући датотеке у једну /boot/grub/grub.cfg датотеку [5]
ГРУБ може да се инсталира на преносним медијима, као што је оптички диск (БИОС приступ, и Ел Торито), дискета или USB флеш, што би омогућило подизање система који не може да се покрене са чврстог диска.
Историја
Груб је првобитно развијен од стране Ерик Болена као део рада на покретању оперативног системаГНУ / Хурд, направљен од стране фондације за слободни софтвер.[8] У 1999. години, Гордон Матцикајт и Јошинори К. Окуји су направили ГРУБ званични софтверски пакет о ГНУ пројекту и отворио развојни процес у јавности.[8] А од 2014, је већина Линукс произвођача прихватила ГНУ ГРУБ 2. Сонијев PlayStation 4 такође користи ГНУ ГРУБ верзију 2.00.[9]
Развој
ГРУБ верзија 1 (такође позната као "ГРУБ Наслеђе") више није у фази развоја и нестаје.[10] ГНУ ГРУБ програмери имају у фокусу ГРУБ 2,[11] a комплетну прераду са намером израде ГНУ ГРУБ-а очишћеног, снажнијег, преносивог и моћнијег. Груб 2 је стартовао под именом ПУПА. ПУПА је подржан од стране Агенције за информационо-технолошку промоцију (ИПА) у Јапану. ПУПА је интегрисан у ГРУБ 2 развој око 2002. године, када је ГРУБ верзија 0,9x преименована у ГРУБ Наслеђе.
Неки од циљева ГРУБ 2 пројекта је да обухвати подршку не-x86 платформи, интернационализацију/локализацију, не-ASCII знакова, динамичких модула, управљање меморијом, скриптинг мини-језика, миграцију платформи специфичног (x86) кода на платформу посебних модула, као и објектно-оријентисани оквир. ГНУ ГРУБ верзија 2.00 је званично објављена 26. јуна 2012.[12][13]
Три најчешће коришћене [14][15][16]Линукс дистрибуције користе ГРУБ 2 као главни бут лоадер.
Убунту усваја ГРУБ 2 као подразумевани бут лоадер од 9.10 верзије из Октобра 2009.[17]Федора користи ГРУБ 2 као подразумевани бут лоадер од верзије 16 објављене у новембру 2011. године.[18]Опен СУСЕ усваја ГРУБ 2 као подразумевани бут лоадер са 12.2 верзијом из септембра 2012. године.[19]
Соларис такође усваја ГРУБ 2 на x86 платформи у верзији Соларис 11.1.[20]
OpenSolaris укључује модификовану ГРУБ Наслеђе која подржава BSDоп.систем, аутоматски избор 64-битног језгра, и покретање са ЗФС-а (са компресијом и вишеструко бут окружење).[21][22]
TrustedGRUB проширује ГРУБ спровођењем верификације интегритета система и покретањем процеса безбедности, користећи верносни платформни модул (TПМ).[24]
Помоћни програми
ГРУБ алат за подешавање
Алати за подешавање у употреби од стране дистрибуираних верзија често укључују модуле за подешавање ГРУБ-а: на пример, YаСТ2 за СУСЕ/опенСУСЕ дистрибуције и Анаконда за Федора/РХЕЛ дистрибуције. StartUp-Менаџер и ГРУБ Кастјумајзер су графички уређивачи за подешавње за Дебиан базиране дистрибуције у ГРУБ-у.
GRLDR ICE је мали алат за модификовање подразумеване конфигурације грлдр датотеке за ГРУБ4ДОС.[27]
Остали помоћни програми
ГРУБ помоћни програми су колекција вишеплатформских помоћних програма за ГРУБ Наслеђе, ГРУБ 2 и ГРУБ за ДОС.[28]
Бут-Рипер је једноставан графички алат за опоравак од честих проблема покретање у вези са ГРУБ и Windows покретачем система. Апликација је расположива и за остале ГНУ ГПЛ лиценце. Бут-Рипер може опоравити ГРУБ на вишеструким Линукс дистрибуцијама, укључујући, али не ограничавајући се ни на, Дебиан, Убунту, Минт, Федору, опенСУСЕ, и Арч Линукс[29] и да ће бити укључен у будуће верзије Убунту-а.[30]