GRUB 2 za pocetnike

Izvor: HrOpenWiki
Inačica od 19:33, 27. siječnja 2010. koju je unio/unijela Suko (razgovor | doprinosi)

Skoči na: orijentacija, traži

U ovom Wikiju postoji stranica sa detaljnom dokumentacijom za rad s novom (drugom po redu) verzijom GRUB-a.

Detaljne upute možete naći na ovoj stranici.

Međutim, ako ste početnik, tako opsežan tekst vas može zbuniti i uplašiti.

Ovdje se nalazi pojednostavljena verzija svega što bi vas moglo zanimati.

Pogledajte sadržaj i pročitajte ono što vas zanima:


Što je to GRUB?

GRUB je vodič
Shvatite ga kao vodiča zbunjenom računalu. On kaže:"Skreni lijevo, pa desno, pa još sto metara do tog operativnog sustava."

GRUB je program koji govori računalu odakle će početi učitavati neki operativni sustav.

Bez njega računalo ne bi znalo kako doći do nekog operativnog sustava.

GRUB nije jedini takav program. On se samo najčešće koristi u Linux svijetu. LILO je još jedan takav program.

Oni spadaju u skupinu takozvanih Boot loadera.

I Windowsi imaju svoj vlastiti boot loader

Koju verziju GRUB-a ja imam?

Neke Linux distribucije još uvijek koriste stariju (prvu) verziju GRUB-a. Ta se verzija naziva GRUB 1, ili GRUB Legacy.

Neke distribucije su prešle na novu verziju GRUB-a. GRUB 2.

Sve verzije označene s 0,97 ili manje, pripadaju GRUB 1.

Sve verzije označene s 1,96 ili više, pripadaju novom GRUB 2.

Kako onda saznati koju verziju ima vaša distribucija?

Jednostavno. Otvorite Terminal, ili Konzolu i ukucajte:

grub-install -v

Dobiti ćete ispis verzije.

Kako izmjeniti postavke GRUB-a?

Morate biti root
Za mijenjanje ovih datoteka morate imati administratorske ovlasti, odnosno morate biti root.

Postavke mijenjamo tako da u nekom uređivaču teksta (Gedit, Kate) mijenjamo određene tekstualne datoteke.


U kojim datotekama i mapama se nalaze postavke?

Radi se o jednoj datoteki i o jednoj mapi s datotekama.

Datoteka: Mapa:
/etc/default/grub /etc/grub.d

/etc/default/grub datoteka

U ovoj datoteci se nalaze općenite postavke GRUB-a. Tu određujemo koji će se operativni sustav prvi učitavati, koliko vremena će biti prikazan boot meni, te da li će on uopće biti prikazan.

Naravno, tu se nalaze i druge postavke, ali nama kao početnicima trenutno nisu važne.

/etc/grub.d mapa

U ovoj mapi se nalaze nešto naprednije postavke. U nju ćemo dodavati operativne sustave ako oni nisu prepoznati tijekom instalacije.

U njoj ćemo također podesiti da nam boot meni ima pozadinsku sliku.

Dugo mi je čekati. Kako skratiti vrijeme prikaza boot menija?

Standardno vrijeme prikaza boot menija je 10 sekundi. Ukoliko to vrijeme želite skratiti, ili produžiti, u /etc/default/grub datoteci pronađite

GRUB_TIMEOUT="10"

Jednostavno zamijenite 10 sa željenim brojem sekundi.

Snimite promjenu i osvježite grub. Kao root pokrenite:

update-grub

naredbu.

Slijedeći puta kada budete pokretali računalo, boot meni će se prikazati onoliko sekundi koliko ste to postavili.

Kako podesiti da se učita onaj operativni sustav kojeg ja želim?

Ukoliko imate više operativnih sustava, možda ćete željeti da vam se prvi učita točno određeni OS. Na primjer, nedavno ste počeli koristiti Linux i ne snalazite se baš najbolje u njemu. Želite da se standardno učitaju Windowsi, a tek ako vi to sami odredite, da se učita Linux.

To se jednostavno postavi.

Kada upalite računalo, pričekajte boot meni. Izbrojite u njemu koji je po redu željeni operativni sustav. Brojite od 0, a ne od 1.

Sada pronađite u /etc/default/grub datoteci:

GRUB_DEFAULT=0

I promijenite na željeni operativni sustav.

Snimite promjenu i osvježite grub. Kao root pokrenite:

update-grub

Primjer; Windowsi su mi peti po redu na boot meniju. S obzirom da sam brojio od 0, unijeti ću

GRUB_DEFAULT=4

u /etc/default/grub datoteku.

GRUB ne prepoznaje moj operativni sustav? Kako to riješiti?

Ukoliko GRUB nije prepoznao neki od vaših operativnih sustava i ne možete ga dobiti u boot meniju slijedite slijedeće upute:

Automatski

Najprije pokušajte autodetekciju. Kao root pokrenite u Terminalu ili Konzoli:

update-grub

naredbu. To će pokrenuti autodetekciju i postoji šansa da će GRUB sam pronaći izgubljeni operativni sustav.


Ručno

Ukoliko to ne pomogne, morati ćete ručno dodati vaš operativni sustav u /etc/grub.d/40_custom datoteku.

To nije baš jednostavno, ali ako slijedite upute, ne bi smjelo biti problema.

Dakle, kao root otvorite nekim uređivačem teksta (Gedit, Kate, Kwrite) /etc/grub.d/40_custom datoteku.

Prazna datoteka izgleda ovako:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

Ispod tog teksta dodajemo naš operativni sustav.


Ručno dodavanje neke Linux distribucije

Za to trebamo znati na kojem se disku i kojoj particiji nalazi početak tog operativnog sustava. Kao root pokrenite

fdisk -l

Dobiti ćete ispis svih diskova i particija na vašem računalu.

Ovo je npr. moj ispis:

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xc3ffc3ff
  Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *       25839       29699    31013482+  83  Linux
/dev/sda2           29700       30401     5638815    5  Extended
/dev/sda3               1       25838   207543703+  83  Linux
/dev/sda5           29700       30401     5638783+  82  Linux swap / Solaris

U ovoj vježbi praviti ću se da mi nedostaje Linux na /dev/sda3. Vidim da se radi o particiji od u grubo negdje dvjestotinjak Gb. A od ranije znam da imam na toj particiji instaliran Ubuntu 9.10.

Napomena! GRUB uređaje označava s hdX,Y X je oznaka diska i broji se od 0. Y je oznaka particije i broji se od 1. (sda3 je znači hd0,3; sdc4 bi npr. bio hd2,4)

Dalje, trebati će mi UUID broj te particije.

Njega dobijem naredbom

blkid

Naredba se također mora pokrenuti kao root.

Ovo je ispis za sda3

/dev/sda3: UUID="a8f93734-8747-418f-a814-0d270c8156fa" TYPE="ext4"

Slijedeće mi treba doznati odakle će se kernel (jezgra) operativnog sustava očitati. Odite na taj disk (sda3) i pronađite

/boot/vmlinuz-2.6.neki-broj.generic

datoteke. Ona s najvećim brojem (posljednjim kernelom) je mjesto odakle će početi podizanje operativnog sustava. Na istom mjesti će se tijekom učitavanja sustava naći i initrd datoteka. U njoj će se stvoriti slika novoučitanog kernela.

Sada smo skupili sve podatke i možemo polako stvoriti novi unos u boot meniju. Proučite najprije ova pravila:

  • Općenita pravila:
    • Prva linija mora početi s menuentry i završiti s {
    • Tekst u navodnicima će se prikazati u GRUB meniju. Sadržaj možete napisati po želji.
    • Posljednja linija u menuentry mora biti }
    • Ne ostavljajte praznu liniju na kraju!
    • set root= linija pokazuje na kojem se disku i particiji nalazi operativni sustav kojeg želimo dodati.
    • root u linux liniji pokazuje na particiju na koju je instaliran operativni sustav.
    • Ukoliko GRUB 2 ne može pronaći navedeni kernel, pokušajte zamijeniti UUID s imenom uređaja. Npr:/dev/sda6 .
  • Ovo je uzorak kako bi to trebalo izgledati:
  menuentry "Ubuntu Koala dodan rucno" {
  set root=(hd0,3)
  search --no-floppy --fs-uuid --set a8f93734-8747-418f-a814-0d270c8156fa
  linux	/boot/vmlinuz-2.6.31-17-generic root=UUID=a8f93734-8747-418f-a814-0d270c8156fa ro   quiet splash
  initrd /boot/initrd.img-2.6.31-17-generic
  }

Kada ste uredili novu stavku, snimite promjene i osvježite grub. Pokrenite kao root

grub-update

naredbu i slijedeći puta kada pokrenete računalo, imati ćete novu stavku u meniju.

Pogledajmo stavku po stavku:

  • menuentry "Ubuntu Koala dodan rucno" { Jasno, ovo je naziv kojeg smo sami dodali.
  • set root=(hd0,3) Na tom disku se nalazi operativni sustav kojeg želimo pokrenuti.
  • search --no-floppy --fs-uuid --set a8f93734-8747-418f-a814-0d270c8156fa Traži se disk prema njegovom UUID-u.
  • linux /boot/vmlinuz-2.6.31-17-generic root=UUID=a8f93734-8747-418f-a814-0d270c8156fa ro quiet splash Odavde kreće učitavanje kernela.
  • initrd /boot/initrd.img-2.6.31-17-genericTu će se spremiti slika kernela.
  • } Kraj unosa.

Ručno dodavanje Windowsa

Ako vam iz nekog razloga Grub nije automatski prepoznao Windowse, njih je lako dodati.

Pomoću

fdisk -l

koju pokrećete kao root, doznajte na kojem disku i particiji se nalaze vaši Windowsi. Obično će disk (ili particija) imati ntfs datotečni sustav, pa ga je već prema tome lagano razlikovati od Linux distribucija koje imaju ext3 ili ext4 datotečni sustav.

Kada ste doznali gdje se nalaze Windowsi dodajte na dno /etc/grub.d/40_custom datoteke tekst prema donjem uzorku.

Pažnja
Na kraju teksta nemojte ostavljati prazan red!
  • Uzorak koji pokazuje "chainloading" na drugi GRUB boot loader:
 menuentry "Windowsi dodani rucno" {
 set root=(hd0,3)
 chainloader +1
 }

Kada ste dodali, osvježite grub. Kao root pokrenite

update-grub

Kada slijedeći puta budete pokretali računalo, moći ćete birati i Windows operativni sustav.

Želio bi imati sliku u GRUB meniju

Grub2.lake.splash.png

Slike koje se koriste za GRUB 2 splash moraju biti u slijedećim mapama:

  • /boot/grub
  • /usr/share/images/desktop-base

Naravno, možete koristiti i slike u drugima datotekama, ali to morate dodatno urediti u /etc/grub.d/05_debian_theme datoteci.

U istu tu datoteku ćete upisati i naziv slike koju ćete koristiti kao Splash.

  • Pronađite sliku koju želite koristiti i snimite ju u neku od gore navedenih mapa.
  • Potom uredite /etc/grub.d/05_debiantheme nekim uređivačem teksta. (Gedit npr.) Za to morate biti root.

Pronađite liniju

for i in {/boot/grub,/usr/share/images/desktop-base}/moreblue-orbit-grub.{png,tga} ; do

i promijenite /moreblue-orbit-grub. s nazivom vaše slike.

Ukoliko se slika nalazi u nekoj drugoj mapi, u gornju liniju morate dodati i put do te mape. Npr:

for i in {/boot/grub,/usr/share/images/desktop-base,/usr/share/images/grub}/moreblue-orbit-grub.{png,tga} ; do
  • Kada ste postavili naziv slike i eventualno mapu u kojoj je slika, snimite promjene i osvježite GRUB. Kao root pokrenite:
update-grub

Na taj način će se promjene dodati ugrub.cfg. Ukoliko su promjene uspješno dodate vidjeti ćete "Found Debian image..." u terminalu nakon što se naredba izvrši. Ukoliko to nećete vidjeti, promjene najvjerojatnije nisu uvedene. Kada ste to sve uradili, rebootajte računalo i trebali bi vidjeti vašu sliku u GRUB 2 meniju.

Ubuntu paket GRUB 2 Splash slika

Ako koristite Ubuntu, možete instalirati paket GRUB 2 splash slika.

sudo apt-get install grub2-splashimages

Nemojte zamijeniti ovaj paket s grub-splashimages paketom. Ovaj nije kompatitilan s GRUB 2. Slike se nalaze u /usr/share/images/grub mapi. Ovu lokaciju morate dodati u 05_debian_theme

Nekoliko napomena:
Savjet
Pročitajte ove napomene.
  • GRUB 2 će kao zadano tražiti splash sliku u /boot/grub i /usr/share/images/desktop-base ukoliko to dodatno ne uredite.
  • Ime slike mora završiti točkom(.) ( /moreblue-orbit-grub. )
  • Splash slika mora biti .png ili .tga
  • Odabir Splash slike:
    • Ukoliko u više mapa postoji slika istog imena, koristiti će se slika koja je najranije odabrana.
    • Ukoliko u mapama postoje slike koje imaju isto ime, ali različite ekstenzije (.jpg .png) koristiti će se slika koja je najranije odabrana.

Da bi ste bolje iskoristili Splash slike možete uraditi slijedeće:

  • Dodajte folder u kojem će GRUB 2 tražiti slike a koji pripada korisniku.
  • Dadajte mogućnost da se koriste JPEG slike. Trenutno se mogu koristiti samo 8-bitne JPEG slike.

Evo kako to uraditi:

for i in {/boot/grub,/usr/share/images/grub,/home/drs/mysplash}/moreblue-orbit-grub.{png,tga,jpg,jpeg} ; do


Postavite font i boju teksta u meniju

Ovi redovi se nalaze u /etc/grub.d/05_debian_theme.Upute se ne odnose na "mono" postavku teme ne vrhu datoteke.

  • Boju stavki menija koje nisu odabrane postavlja slijedeća linija: (Prva boja je boja teksta, a druga je boja pozadine).
set color_normal=black/black
  • U liniji ispod određujete boju odabranih stavki menija. Prva boja je boja označenog teksta, a druga boja je boja pozadine. Ukoliko je odabrana/black u drugom dijelu, označena linija će imati prozirnu pozadinu, a samo će tekst mijenjati boju.
set color_highlight=magenta/black 

/black je zadana kao boja koja označava prozirnost u GRUB 2. Ukoliko koristite splash sliku promijenite samo prvu boju (npr. xxxxx/black). Ukoliko odaberete neku drugu boju, dio splash slike iza označenog teksta će sakriti pozadina boje koju odaberete.

  • U slijedećem primjeru boja neoznačenog teksta je postavljena kao red/black (crveno/crno). Boja označenog teksta je white/blue (bijelo/plavo).

Grub2.splash.bar.png

  • Ove boje možete koristiti u GRUB 2. "black" je kao što smo rekli prozirna.

Boje.png

Isprobavanje fontova i Splash slika

Kombinacije boja možete ispraobati iz naredbene linije.

  • Odaberite splash sliku i boju teksta kao što je opisano iznad, osvježite GRUB naredbom
sudo update-grub 

i ponovno pokrenite računalo.

  • Kada se pojavi GRUB 2 Splash slika, pritisnite bilo kju tipku da bi zaustavili odbrojavanje.
  • Pritisnite c da bi ušli u GRUB 2 naredbeni redak.
  • Isprobavajte različite kombinacije boja. To uradite ovom naredbom:
set color_normal=first-color/black and/or set color_highlight=first-color/second-color
  • Nakon što unesete naredbu, možete odmah vidjeti boju teksta. Tipkom "strelica gore" možete povratiti posljednje unesenu naredbu i urediti ju ponovno radi isprobavanje nove kombinacije boja.
  • Kada završite uređivanje pritisnite "Esc" tipku da bi se vratili u glavni meni.
  • Možete ponoviti cijeli postupak ukoliko to želite.
  • Zapamtite kombinaciju boja, bootajte računalo i uredite /etc/grub.d/05_debian_theme da bi vaše promjene ostale trajno.
  • Snimite datoteku, i osvježite GRUB 2 naredbom sudo update-grub

Promjena rezolucije Splash slika

Ukoliko želite promijeniti rezoluciju GRUB 2 ekrana slijedite slijedeće korake:

  • Postavite željenu rezoluciju u /etc/default/grub
    • Promijenite vrijednost GRUB_GFXMODE= (Npr: GRUB_GFXMODE=800x600)
    • Ukoliko niste sigurni koje rezolucije možete koristiti u GRUB 2 ukucajte naredbu
vbeinfo

u GRUB 2 naredbeni redak. Naredbeni redak dobijete pritiskom na "c" kada se prikaže GRUB 2 meni.

  • Odaberite sliku iste veličine i upišite promjene u /etc/grub.d/05_debian_theme
    • Ime slike se postavlja u redak koji počinje s " for i in {/boot"
    • Ukoliko je slika druge rezolucije, meni se neće prikazati ispravno.
    • Koristite bilo koji program za uređivanje slika da promijenite rezoluciju slike.
  • Pokrenite update-grub kao root da bi se nove promjene upisale u /boot/grub/grub.cfg

Reinstalacija GRUB-a

Upomoć, instalirao sam Windowse i sad više nemam boot meni!

Posebne upute kernelu