Sve što trebate znati o GRUB bootloaderu

Izvor: HrOpenWiki
Inačica od 09:38, 9. siječnja 2009. koju je unio/unijela Grof (razgovor | doprinosi)

Skoči na: orijentacija, traži

GRUB ili punim nazivom GRand Unified Bootloader je prvi program koji se pokreće nakon što BIOS prepusti kontrolu učitavanja operacijskog sustava. Direktno je zadužem za učitavanje kernela operacijskog sustava, koji dalje učitava ostatak.

Ovaj bootloader je najrašireniji u Linux svijetu danas, no nije i jedini. Naime, postoji i LILO bootloader koji se i dalje koristi, ali manje

Opis

GRUB menu na početku učitavanja Linuxa

GRUB je zadužen, kao i ostali bootloaderi za učitavanje kernela operacijskog sustava ili čak daljnje učitavanje drugog bootloadera (kao što je to slučaj sa MS Windowsima). Radi preko tri stanja odnosno Stage-ova.

Stage 1

Nalazi se u 512 byteova MBR sektora što mu omogućava podizanje ostatka sebe samog iz Stage 2 dijela koji se nalazi unutar /boot/grub direktorija tvrdog diska.

Stage 1.5

Zapravo je međustanje koje se nalazi unutar prvih 30 KB slijedećeg sektora od MBR-a i služi za učitavanje Stage 2 dijela u koliko se ti podaci nalaze na datotečnom sustavu koji nije Ext2 ili Ext3.

Stage 2

Podiže preostale datoteke potrebne GRUB-u, a nalaze se u /boot/grub direktoriju. Rezultat učitanog Stage 2 dijela GRUB-a je poznati GRUB meni na početku podizanja Linuxa.

Podešavanje

Sve bitno i potrebno za podešavanje GRUB-a nalazi se unutar datoteke /boot/grub/menu.lst. Datoteka je tekstualna i lako se editira preko bilo kojeg tekstualnog editora instaliranog unutar vaše Linux distribucije. Kako je ovo od prilične važnosti za ispravno učitavanje ostatka operacijskog sustava, proći ćemo kroz sve bitne opcije koje se nalaze unutar menu.lst datoteke

Zadani redak izbornika

Ako želite da vam GRUB meni odmah odebare željenu redak u svom meniju, potrebno je podesiti opciju default:

default n

gdje je n redni broj izbornikovog redka. Pazite, prvi redak ima oznaku 0 (nula), drugi - 1 itd.

Vrijeme čekanja na odabir

Ako želite promijeniti vrijeme čekanja GRUB-a da sam odabere zadani redak u izobrniku, onda to radite preko opcije timeout:

timeout n

gdje je n vrijeme čekanja na automatski odabir u sekundama

Slijedeći izbor

Za podešavanje koji je slijedeći mogući izbor, ukoliko GRUB iz određenog razloga ne može startati zadani redak činite opcijom fallback:

fallback n

gdje je n redni broj izbornikovog redka. Pazite, prvi redak ima oznaku 0 (nula), drugi - 1 itd.

Definicije operacijskog sustava

Ovim opcijama definiraju se svi potrebni parametri za ispravno učitavanje kernela određenog operacijskog sustava. Ako na ovom mjestu pogriješite, nećete moći učitati željeni operacijski sustav. Mudro je, ako radite neka nova podešavanja da ih radite kao novu instancu, a prema kopiji starih, a stara (koja rade uredno) ostavite unutar menu.lst-a sve dok niste potpuno sigurni da novokreiranim redkom izbornika možete normalno podići operacijski sustav.

Dakle, svaka instanca za učitavanje kernela operacijskog sustava počinje sa opcijom title, koja predstavlja tekst koji se pojavljuje u GRUB izborniku. Odnosno, predstavlja opis onoga što pokrećete tim odabirom. Definira se ovako:

title Opis operacijskog sustava u izborniku

Slijedi obično opcija root, koja definira koji disk i particija predstavlja korijen operacijskog sustava. Definira se ovako:

root (hdx,y)

Gdje je:

  • x - redni broj tvrdog diska na kontroleru. Prvi disk je 0, drugi - 1 itd.
  • y - redni broj particije na x-tom disku. Prva particija je 0, druga - 1 itd.

Slijedeća opcija je kernel kojom se daju sve potrebne definicije za ispravno učitavanje slike kernela sa diska:

kernel		/boot/vmlinuz-... root=UUID=... opcije kernela

Gdje je:

  • /boot/vmlinuz-... - mjesto i naziv datoteke slike kernela koji se starta
  • root=UUID=... - UUID oznaka root (/) particije datotečnog stabla instaliranog operacijskog sustava. UUID oznaku particije možete lako dobiti naredbom blkid
  • opcije kernela - ako se želite uključiti određene opcije kernela, koje on izvršava tijekom svojeg postavljanja, onda ih upisujte ovdje i razmaknite ih praznim mjestima

Slijedi opcija initrd koja učitava inicijalni ramdisk. Unutar initrd-a nalaze se svi potrebni driveri koji kernelu trebaju priliko podizanja operacijskog sustava, a ne nalaze se u samoj slici kernela.

initrd		/boot/initrd.img-...

Gdje je /boot/initrd.img-... - mjesto i naziv datoteke slike initrd-a koji se učitava.

Cijeli blok opisa završava se opcijom quiet koja nije nužna i više je estetske prirode, a zadatak joj je da ne prikazuje nepotreban tekst na ekranu priliko daljnjih faza podizanja operacijskog sustava. Ona nema parametara.

quiet

Primjer jednog bloka za ispravno učitavanje Ubuntu distribucije možete vidjeti ispod:

title		Ubuntu 8.04.1, kernel 2.6.24-22-generic
root		(hd1,1)
kernel		/boot/vmlinuz-2.6.24-22-generic root=UUID=af03b0cc-0fcb-4006-9fc4-105745fc9187 ro quiet splash xforcevesa
initrd		/boot/initrd.img-2.6.24-22-generic
quiet