GRUB 2

Izvor: HrOpenWiki
Inačica od 15:48, 24. studenoga 2009. koju je unio/unijela Suko (razgovor | doprinosi)

Skoči na: orijentacija, traži

GRUB 2 je zadani boot loader u Ubuntuu 9.10 (Karmic Koala) kao i u nekim drugim operacijskim sustavima. GRUB 2 je naslijednik GRUB-a (GRand Unified Bootloader). Napisan je u cijelosti iznova i ima značajno veću fleksibilnost i više mogućnosti. Spada pod slobodan softver.

Pojašnjenje oko oznaka verzija:

  • sve verzije GRUB-a iznad 1.96 spadaju u GRUB 2
  • ranije verzije (0.97 i manje) pripadaju u GRUB (ili kako bi neki rekli GRUB 1, ili GRUB legacy)


Sadržaj

Poboljšanja

Značajna poboljšanja u odnosu na GRUB:

  • Podrška za skripte
  • Modularnost
  • Mogućnost "spašavanja"
  • Mogućnost prilagođavanja i dodavanja osobnog štiha u meni stavke
  • Teme
  • Grafički boot meni i poboljšani splash
  • Dizanje sustava sa LiveCD ISO slike koja se nalazi na hard driveu
  • Nova struktura konfiguracijskih datoteka
  • Podrška za ne-x86 platforme (kao PowerPC)
  • Univerzalna podrška za UUID-ove. (Ne samo za Ubuntu)


Usporedba GRUB i GRUB 2

Oni koji su ranije koristili stari GRUB 1 neće imati problema u novom GRUB 2 meniju . Ali, ispod površine postoji puno različitosti.

  • Ako imate instaliran samo jedan operativni sustav, GRUB 2 neće prikazati meni, već će se sustav podići do login prozora, ili desktopa.
  • Više ne postoji /boot/grub/menu.lst. Zamijenio ga je /boot/grub/grub.gfg
  • Više ne postoji /find boot/grub/stage1 u grub promptu. Stage 1.5 je uklonjen.
  • /boot/grub/grub.cfg file se ne uređuje.
  • Svaki puta kada se obnovi kernel, ili kada se pokrene naredba update-grub, grub.cfg file će se iznova formirati.
  • Korisnik može kreirati svoj file u /etc/grub.d/40_custom.
  • /etc/default/grub je file u kojem se podešavaju GRUB postavke.
  • U /etc/grub.d/ folderu postoji nekoliko fileova kojima možete dodatno podešavati GRUB menu.
  • Promijenilo se brojenje particija. Tako je sada prva particija 1, za razliku od ranije kada je bila 0. (Prvi uređaj je još uvijek 0. To se nije promijenilo)
  • Kad pokrenete "update-grub" naredbu automatski se traže drugi operativni sustavi popt Windowsa.
  • Promjene koje ste unijeli neće se ostvariti dok ne pokrenete naredbu "update-grub".


Instalacija

Ubuntu

Karmic Koala ( Ubuntu 9.10) dolazi s novim GRUB 2. U ranijim verzijama poput Jaunty Jackalope (9.04) GRUB 2 možete dodatno instalirati. Provjerite trenutnu verziju GRUB-a koju imate instaliranu na vašem Ubuntuu.

grub-install -v

GRUB 2 bi trebao imati verziju 1,96 ili više. Starije (legacy) verzije imaju broj 0.97 ili manji.


Pretpostavljena instalacija

Kao što je rečeno prije, na Karmic Koali GRUB 2 je instaliran kao pretpostavljeni boot loader. Naziv paketa je "grub-pc". "grub2" je prijelazni paket i možese bez poslijedica ukloniti.


Nadogradnja na GRUB 2

Nadogradnja sa GRUB-a na GRUB 2 bi trebala biti relativno jednostavna.Ono što je važno, nadogradnja vam omogućuje i provjeru da li će vam GRUB 2 raditi na vašem računalu i prije nego završite instalaciju.

1. Prije nadogradnje osvježite repozitorije. To postižete

sudo apt-get update

naredbom, ili odgovarajućom tipkom u Synapticu ili nekom drugom paketnom upravitelju.

2. Instalirajte grub-pc paket:

sudo aptitude install grub-pc

Jednostavan program će vas voditi kroz instalaciju.

3. Pročitajte tekst, tipkom tab odaberite "OK" i pritisnite ENTER.

Grub2.upgrade.ok.sm.png

4. Sada možete isprobati GRUB 2. Odaberite "yes" da dodate "chainload" opciju u GRUB menu. Slijedeći puta kada se bootate, moći ćete odabrati u klasičnom GRUB meniju podizanje sustava putem GRUB 2.

5. Sada će se u naredbenoj liniji prikazati posebne naredbe iz menu.lst-a. Naredbe poput "quiet, splash, noapic". Potvrdite sa "OK" i GRUB 2 će ih automatski preuzeti u svoje postavke. Ukoliko je potrebno, možete ih prije toga urediti. Naravno, ove naredbe je moguće i kasnije dodati u GRUB 2.

Grub2.linux.command.line.ok.sm.png

6. Ugasite i ponovno upalite računalo. Primjetiti ćete da je vaš "klasični" GRUB meni promijenjen. Odaberite "chainloader" opciju. Dobiti ćete GRUB 2 meni.

Grub2.chainload.grub.sm.png

6a. Ukoliko koristite Jaunty možda dobijete "Unrecognised device string" Error 11. Pritisnite "e" dok ne dobijete liniju koja počinje sa:

grub edit> root

Promijenite "root" u "uuid". Stisnite ENTER, potom "b".

7. Provjerite sve unose.

Grub2.chainload.grub2.sm.png

8. Ako vam GRUB 2 meni ispravno radi, možete nadograditi GRUB na GRUB 2 naredbom:

sudo upgrade-from-grub-legacy

Nakon što ste nadogradili GRUB na GRUB 2, dobiti ćete poruku da je zaostalo nekih fileova iz starog GRUB-a. To uradite slijedećom naredbom:

Oprez sa rm
Pripazite s naredbom rm. Neispravno napisana naredba može obrisati vežne fileove.
rm -f /boot/grub/menu.lst*

9. Restartajte računalo i podignite sustav s GRUB 2 menija.

Organizacija mapa i datoteka u GRUB-u 2

GRUB 2 ima sasvim drugačiju organizaciju mapa i Datoteka.

Najvažnije, "menu.lst" se više ne koristi.


Gdje je GRUB instaliran

Da bi saznali gdje je GRUB 2 instaliran, pokrenite naredbu:

sudo grub-probe -t device /boot/grub

ako želite saznati uređaj, ili

sudo grub-probe -t fs_uuid /boot/grub

da bi saznali UUID

/boot/grub/grub.cfg

grub.cfg je datoteka u kojoj se nalaze glavne postavke GRUB-a 2.

Evo, par crtica o toj datoteci:

  • Svaki odjeljak je označen s "(### BEGIN)" i poziva se na /etc/grub.d mapu iz koje su postavke dobivene.
  • "grub.cfg" možete osvježiti osvježiti naredbom
update-grub

Naredbu pokrenite kao root korisnik. Naredba je zamjena stare

grub-mkonfig -o /boot/grub/grub.cfg 
  • Svaki puta kada instalirate novi kernel, osvježiti će se grub.cfg.
  • grub.cfg je datoteka koja se može samo čitati (read only). To je zbog toga jer taj file nije predviđen za uređivanje.

U /boot/grub mapi ćete vidjeti i dosta *.mod fileova. Oni predstavljaju modularnu prirodu GRUB-a 2. Njih po potrebi učitava boot loader.

/etc/default/grub

Radi se o konfiguracijskoj datoteci u kojoj stoji ono što se nekada nalazilo u gornjim dijelovima "menu.lst" datoteke. Sadržaj se može uređivati ukoliko imate root ovlasti. Kada pokrenete update-grub naredbu, promjene će se odraziti u grub.cfg datoteci.

/etc/grub.d/ (mapa)

  • Kada izvršite "update-grub" naredbu sadržaj iz ove mape će se uklopiti u grub.cfg datoteku.
  • Naziv datoteke određuje mjesto koje će stavka iz nje imati u grub.cfg datoteci.

"10_linux" se izvršava prije "20_memtest" Datoteke koje nemaju brojeve u svom nazivu će se izvršiti nakon onih s brojevima.

  • Svoje vlastite postavke možete unijeti u 40_custom datoteku.
  • Samo će se izvršne (executables) datoteke uklopiti u grub.cfg.


  • Datoteke u ovoj mapi su:
    • 00_header U ovoj datoteci se nalaze postavke vezane uz grafički prikaz, pretpostavljeni izbor, vremensko ograničenje itd. Postavke su uvezene iz /etc/default/grub datoteke. Korisnici ne bi trebali uređivati ovu datoteku.
    • 05_debian_theme U ovoj datoteci se nalaze postavke vezane uz splash sliku, boju teksta, boju izbora i teme. Ukoliko ne postoji splash slika, u ovoj datoteci će biti postavljena monokromatska tema za početni meni.
    • 10_hurd Položaj Hurd kernela. Trenutno se ne koristi.
    • 10_linux Tu se nalazi položaj kernela operativnih sustava koji se koriste. Također se tu nalaze imena vezana uz te kernele.
    • 20_memtest86+ Traži /boot/memtest86+.bin i uključuje ju kao opciju u GRUB 2 boot meni. Trenutno se ne može izbrisati iz menija. Ali ju možete ukloniti tako da joj oduzmete izvršna prava.
chmod -x /etc/grub.d/20_memtest86+

I nakon toga

update-grub
    • 30_os-prober U ovoj datoteci se pretražuju operativni sustavi. Rezultat će se postaviti u "grub.cfg". Ova datoteka je podijeljena u četiri odjeljka. Windows, Linux, OSX i HURD.
    • 40_custom Tu možete zapisati vlastite postavke koje će se kasnije uključiti u grub.cfg. Sve ispod "exec tail -n +3 $0" će se direktno prenijeti u grub.cfg.
  • Datoteke u ovoj mapi moraju biti izvršne. One koje nisu izvršne, neće se prenijeti u grub.cfg, već će ih grub-update naredba ignorirati.

Podešavanje GRUB-a 2

Kada želite podesiti i promijeniti GRUB 2, promjene unosite u "/etc/default/grub" i "/etc/grub.d". Nemojete uređivati /boot/grub/grub.cfg. Ta datoteka se automatski podešava prema promjenama u ove dvije datoteke.

/etc/default/grub

  • Radi se o glavnom konfiguracijskoj datoteci. U njoj se nalaze slijedeće linije:
    • GRUB_DEFAULT U ovoj liniji je upisan operativni sustav koji će biti odabran kao podrazumijevan u GRUB meniju. Možete upisati broj, ili naziv.
      • GRUB_DEFAULT=0 Postavlja podrazumijevani izbor prema položaju na meniju. Položaj se broji od 0 kao i na starom GRUB-u.(Prvi je 0, drugi je 1 itd.)
      • GRUB_DEFAULT=saved Ostavlja izbornik na posljednjem odabranom odabiru.
      • GRUB_DEFAULT="xxxx" Postavlja izbornik prema nazivu operativnog sustava. Na taj način, neće biti važan položaj na meniju, već samo ime.Npr: GRUB_DEFAULT="Ubuntu, Linux 2.6.31-9-generic"
  • GRUB_HIDDEN_TIMEOUT=0
    • Ovdje postavljate da li želite vidjeti GRUB meni. Ukoliko želite vidjeti meni, dodajte # ispred GRUB. (# GRUB_HIDDEN_TIMEOUT=0)
    • Za sve unose veće od 0, sustav će napraviti pauzu za taj broj sekundi, ali se neće prikazati meni.
    • Ako želite prikaz menija, možete ga dobiti pritiskom na tipku SHIFT.
    • Ukoliko zbog nekog razloga tipka SHIFT ne bude radila, meni možete dobiti i ESC tipkom.
  • GRUB_HIDDEN_TIMEOUT_QUIET=true
    • true Ne prikazuje odbrojavanje vremena. Meni se ne prikazuje.
    • false Prikazuje odbrojavanje vremena. Meni se ne prikazuje
  • GRUB_TIMEOUT=10
    • Postavlja vrijeme tijekom kojeg će biti prikazan GRUB meni. (Ukoliko je aktivna opcija GRUB_HIDDEN_TIMEOUT, GRUB_TIMEOUT će se pokrenuti samo kada je meni prikazan.)
    • Ukoliko postavite vrijednost na -1, meni će se prikazivati dok god ne odaberete stavku iz menija.
  • GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
    • Postavlja ime stavke na meniju. (Ubuntu, Fedora, Windows itd)
  • GRUB_CMDLINE_LINUX
    • Ukoliko postoji, ova linija uvozi sve iz "linux" komandne linije. (GRUB legacy "kernel" linija) Nešto slično je i "Altoption" linija u menu.lst.
  • GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    • Ova linija uvozi sve sa kraja "linux" linije.(Grub legacy "kernel"linije) Opcija je slična "defoptions" u menu.lst. Ako hoćete da se prilikom bootanja prikazuje tekst procesa, uklonite "quiet splash". Ako želite vidjeti splash sliku zajedno s tekstualnim opisom procesa, koristite "splash" U ovu liniju se može unijeti i "acpi=off"
  • #GRUB_TERMINAL=console
    • Odkomentirajte ukoliko želite koristiti grafički terminal (samo za grub-pc)
  • #GRUB_DISABLE_LINUX_UUID=true
    • Odkomentirajte ukoliko ne želite da GRUB preda "root=UUID=xxx" parametar Linuxu
  • #GRUB_GFXMODE=640x480
    • Tu postavljate rezoluciju grafičkog menija (Veličina teksta).Unesite rezolucije koje podržava vaša grafička kartica. Postavke se odnose samo na boot meni, a ne na operativni sustav koji se boota. Odkomentirajte ukoliko želite koristiti ovu opciju.
    • Natuknica: Ako postavite rezoluciju koja je ista rezoluciji operativnog sustava, značajno ćete skratiti vrijeme bootanja.
    • Nije nužno, ali možete postaviti i dubinu boje u bitovima.
    • Možete postaviti i više rezolucija. Ukoliko GRUB ne može koristiti prvi unos, krenuti će na slijedeći. Npr:1280x1024x16,800x600x24,640x480.
    • Ukoliko koristite splash sliku, pripazite da rezolucija odgovara onoj na splash slici.
    • Ukoliko dobijete "not found" poruku kada pokrenete "update-grub", pokušajte promijeniti dubinu boje u bitovima.
    • Ukoliko utipkate "vbeinfo" u GRUB 2 komandnu liniju, dobiti ćete informaciju koje su sve rezolucije dostupne.
    • Ukoliko je ova linija zakomentirana (#) koristiti će se pretpostavljene vrijednosti unesene u /etc/grub.d/00_header
  • GRUB_DISABLE_LINUX_RECOVERY=true
    • Odkomentirajte ovu liniju ukoliko ne želite da se prikaže "Recovery" mod kernela u meniju. Ukoliko želite Recoveri za samo jedan kernel, unesite poseban unos u /etc/grub/40_custom.
  • Dodatne opcije
  • GRUB_DISABLE_OS_PROBER=true
    • Onemogućava ili omogućava os-prober da pronađe druge operativne sustave na sotalim particijama.

Ponašanje i prikaz GRUB menija

GRUB 2 se učitava prije operativnog sustava.Izgled menija je podešen u /etc/default/grub datoteci.

Evo nekoliko načina kako prikazati GRUB meni:

Pretpostavljeni način

  • GRUB 2 će odmah pokrenuti pretpostavljeni operativni sustav. Neće se prikazati meni. Ukoliko GRUB 2 otkrije neki drugi OS, prikazati će se meni.

Vremenski određeni prikaz

  • Meni će se prikazati određeni broj sekundi. Pretpostavljena stavka je odabrana, ali možete birati i ostale stavke dok ne istekne vrijeme. Vrijeme će se odbrojavati dok god ne pritisnete neku tipku, ili ne potvrdite odabranu stavku pritiskom na ENTER. Ukoliko ništa ne uradite, nakon isteka odbrojavanja, podići će se pretpostavljeni sustav.
  • Kada pritisnete neku tipku, odbrojavanje će prestati i morati ćete odabrati stavku da bi nastavili dizanje sustava.
  • Pretpostavljena stavka je određena u DEFAULT= odjeljku /etc/default/grub datoteke. Prva stavka na meniju se broji od 0.

Meni je skriven

  • Neće se prikazati meni. Ukoliko je postavljena, prikazati će se splash slika.
  • Korisnik može prekinuti boot proces i prikazati meni pritiskom na tipku SHIFT.
    • GRUB 2 traži status tipke SHIFT. Ukoliko je tipka pritisnuta, ili GRUB ne može dobiti status SHIFT tipke, prikazati će se meni.
  • Vrijeme u kojem će ekran ostati prazan, ali će biti moguće dobiti meni je određeno u /etc/default/grub.
  • GRUB 2 može prikazati odbrojavanje. Na taj način možete dobiti informaciju koliko je vremena preostalo da odaberete druge stavke menija.
  • Kada odbrojavanje istekne, podići će se pretpostavljeni operativni sustav

Posljednji odabrani operativni sustav

  • Podignuti će se poslijednje odabrani kernel/operativni sustav.

Vlastite stavke u meniju

U GRUB-u 2 meni možete dodati stavke koje vi sami napišete. Evo nekih napomena za stvaranje vlastitih stavki na meniju.

  • Datoteke se prikazuju prema svom imenu. Datoteke koje počinju brojem će se pokrenuti prve.Ostale će se pokrenuti nakon njih. (10_linux će se pojaviti prije 30_os-prober koji će se postaviti ispred 40_custom entries, a on će biti ispred my.custom.entries datoteke.)
  • Ukoliko želite da se neka stavka pojavi prva na meniju, nazovite ju 06_xxx.
  • Datoteke moraju biti izvršne.
  • Kada pokrenete update-grub naredbu, sadržaj u datoteci će se prenijeti u grub.cfg.
  • Za razliku od grub.cfg ove datoteke možete slobodno uređivati.
  • Datoteke se ne mijenjaju. Neće se promijeniti niti kada se uvede novi kernel.

Stvaranje vlastitog menija

Stavke u meni dodajete tako da uredite /etc/grub.d/40_custom datoteku. Najlakše to možete uraditi tako da u nju kopirate neku stavku koja radi iz /boot/grub/grub.cfg Nakon toga ju uredite prema svojim željama.

  • Prve dvije linije iz /etc/grub.d bi trebale biti:
#!/bin/sh
exec tail -n +3 $0
  • Korisnik može kopirati sadržaj iz /boot/grub/grub.cfg datoteke. Isto tako, možete kopirati i unos iz starog GRUB legacy menu.lst-a:
    • Ukoliko ste napravili nadogradnju s GRUB na GRUB 2, postoji rezervna kopija ove datoteke u /boot/grub
    • Promijenite slijedeće:
      • title promijenite u menuentry. Redak mora završiti s {
      • root promijenite u set root=
      • kernel promijenite u linux
      • Popravite oznake particija. GRUB i GRUB 2 drugačije označavaju particije. Prva particija na GRUB 2 je 1 a ne kao ranije 0 Uređaji se još uvijek broje od 0
      • Pažljivo provjerite format ostalih stavki koje rade i usporedite sa svojim unosom kako bi ste se osigurali da će vaša stavka raditi.
  • 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 proizvoljno odredite.
    • Posljednja linija u menuentry mora biti ~+}+~
    • Ne ostavljajte praznu liniju na kraju!
    • set root= linija bi trebala pokazivati Grub 2 /boot položaj ( sdXY )
    • 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 "My Default Karmic" {
  set root=(hd0,1)
  search --no-floppy --fs-uuid --set cb201140-52f8-4449-9a95-749b27b58ce8
  linux	/boot/vmlinuz-2.6.31-11-generic root=UUID=cb201140-52f8-4449-9a95-749b27b58ce8 ro   quiet splash
  initrd /boot/initrd.img-2.6.31-11-generic
  }
  • Uzorak hard drive verzije SystemRescueCD-a:
  menuentry "System Rescue CD" {
  set root=(hd0,8)
  linux /sysrcd/rescuecd subdir=sysrcd setkmap=us
  initrd /sysrcd/initram.igz
  }
  • Uzorak koji pokazuje "chainloading" na drugi GRUB boot loader:
 menuentry "Grub 1 Bootloader" {
 set root=(hd0,8)
 chainloader +1
 }

Naredbena linija i Način spašavanja

Postoji nekoliko načina na koje korisnik može pokušati nastaviti neuspjelo bootanje. Ako još uvijek imate meni, postavke menija možete mijenjati. Ako GRUB 2 otkrije greške prilikom bootanja i ne može predati kontrolu odabranom kernelu zbog grub.cfg greške, povratiti će se u način spašavanja (rescue mode). Oba načina omogućuju korisniku da povrati sustav kroz komandnolinijsko sučelje.


Uređivanje stavki menija tijekom podizanja sustava

  • Ukoliko nemate prikaz menija tijekom bootanja, držite pritisnutu SHIFT tipku.
  • Ako je meni prikazan, pritisnite bilo koju tipku (osim ENTER) da bi zaustavili odbrojavanje vremena i odaberite željenu stavku pomoću tipki strelica gore i strelica dolje.
  • Pritisnite 'e' tipku da bi počeli uređivanje odabrane stavke:

Grub2.menu.edit.png

  • Pomoću tipkovnice namjestite kursor. U ovom primjeru kursor se nalazi na mjestu kako bi ste mogli obrisati broj 9
    • Učinite izmjene u postavkama. Nemojte koristiti tipku ENTER da biste se micali između linija!
    • Tipkom Tab možete automatski dovršiti djelomično započetu promjenu. (Tab completion)
    • Kada ste gotovi odredite slijedeći korak:
      • CTRL-x - bootanje s promijenjenim postavkama (Promjene su istaknute drugom bojom)
      • CTRL-c - izlaz u komandnu liniju odakle možete izvršiti dijagnostiku, učitati module, promijeniti postavke i slično.
      • ESC - Odbacite sve promjene i vratite se u početni meni.
      • Na dnu ekrana kao pomoć pri odabiru imate ispis kombinacija tipki.

Komandnolinijski način

Iz glavnog menija GRUB 2 tipkom 'c' prelazite u komandnolinijski način.

Evo par korisnih natuknica za GRUB 2 komandnu liniju

  • Ugasite splash sliku da bi vidjeli proces bootanja sustava. Pritisnite 'c' da bi došli u komandnu liniju i onda tipkajte
set color_normal=white/blue

ili bilo koju kombinaciju boja. "black" (crna) kao drugi unos zadržava transparenciju menija tako da ju izbjegavajte ako hoćete raditi s pozadinom samo jedne boje.

  • Da biste spriječili da ispis pređe gornji rub ekrana pokrenite naredbu
set pager=1 

koja je ekvivalent | more naredbe u Terminalu Na taj način ćete dobiti podatke na cijeli ekran, a tipkom Enter se možete prebacivati na slijedeće podatke koji se ne vide na ekranu.

  • Ukucajte
help 

da bi vidjeli ispis svih naredbi. Ukucajte

help x

da bi vidjeli listu naredbi koje počinje s "x". Tipka Tab i strelice rade kao i u normalnom Terminalu.

  • Dovršavanje naredbi tipkom Tab (Tab completion) je jako zgodna opcija. Bilo kada, pritiskom tipke Tab automatski će se dovršiti naredba ukoliko postoji jedno moguće rješenje. Ukoliko postoji više mogućih dovršetka naredbi, Tab će prikazati ispis mogućih dovršetaka.

Neke korisne naredbe:

  • background_image Učitava postojeću pozadinsku sliku. Koristite Tab completion da bi dovršili naredbu. Ova naredba je korisna kada testirate upravo postavljenu splash sliku.
  • cat Koristite da biste ispisali sadržaj datoteke. Npr:
cat /boot/grub/grub.cfg 
cat /etc/fstab`
  • help Prikaz svih dostupnih naredbi. Kucajte
help x 

da bi dobili listu naredbi koje počinju slovom x.

help xxx 

daje informaciju o xxx naredbi. Dobro je ispred naredbe napisati

set pager=1

da gornji dio teksta ne bi pobjegao iznad ekrana.

  • ls Ako se koristi sama, ispisuje sve uređaje (hd0) (hd0,1) i slično. Pomoću ove naredbe možete vidjeti dostupne particije. Ukoliko želite vidjeti sadržaj /boot i /boot/grub mape koristite naredbu
ls /boot
ls /boot/grub
  • initrd Učitava initrd.
  • linux Učitava linux kernel.
  • loopback Montiraj datoteku kao uređaj.
loopback loop (hd0,2)/iso/my.iso
  • lsmod Prikazuje učitane module
  • reboot Gasi i ponovno pali računalo
  • rescue Ulaz u "način spašavanja"
  • set Pokaži vrijednosti postavki izgleda. U kombinaciji s drugim naredbama postavlja vrijednosti postavki.
set gfxmode=640x480
set color_normal=cyan/black

Možete koristiti posljednju naredbu kako biste testirali različite kombinacije boja menija.

  • vbeinfo Prikazuje sve dostupne rezolucije ekrana.

Korištenje CLI naredbi za podizanje operativnih sustava

Ukoliko imate problema prilikom podizanja sustava, a imate prikaze menija, najlakši način popravka je da uredite meni. Postupak je opisan iznad. Međutim, ukoliko GRUB 2 ne može naći ispravan grub.cfg' otići će u način spašavanja (rescue mode). U naredbenoj liniji ćete vidjeti:

grub-rescue>

i meni neće biti prikazan. Iz komandne linije možete pokušati unijeti podatke kako bi se podigao željeni operativni susta.

Ukoliko nemate naredbeni redak, pritisnite tipku "c". Vidjeti ćete GRUB 2 prompt:

grub>

ili

grub rescue>

Ukoliko želite odustati i početi iznova tipka ESC će ukloniti promjene i vratiti vas u prethodni meni.

  • Pomoću slijedeće dvije naredbe možete odrediti uređaj i particiju sustava kojeg želite bootati.
    • set (bez dodatnih opcija prikazuje trenutne postavke GRUB-a 2.)
    • ls prikazuje uređaje koji su dostupni.

Npr: (hd0) = sda; (hd0,1)=sda1; (hd1,3)=sdb3

Ekspresno podizanje u najnoviji kernel

Naredbe unesite točno ovim slijedom. Nakon svake naredbe stisnite Enter

  • set root=(hdX,Y)

Ukucajte ispravnu brojku na mjesto X,Y. Vrijednost ste dobili ls naredbom. Prisjetite se da GRUB 2 broji prvi uređaj od 0, ali prvu particiju od 1.

Primjer: Ukoliko je Ubuntu na sda5 unesite:

set root=(hd0,5)
  • linux /vmlinuz root=/dev/sdXY ro-~ Primjer:
linux /vmlinux root=/dev/sda3)
  • initrd /initrd.img Odabir posljednje initrd slike
  • boot |Podizanje na najnoviji kernel na odabranoj particiji

Ručno podizanje na točno određeni kernel

Kada nemate GRUB 2 meni, ipak možete podići točno određeni kernel.

U ovom odjeljku ćete dobiti upute korak po korak.

Stisnite ENTER samo kada završite svaki odjeljak ("A","B", "C" i "D").

  • A. Postavite korjensku particiju (prvi korak)
set root=(hdX,Y)

Kucajte ispravnu vrijednost za X,Y. Prisjetite se da se uređaji broje od 0, a particije od 1.

Primjer: Ubuntu je na sda5

set root=(hd0,5)
  • B. Unesite "linux" liniju (koraci od 2 do 5)
linux 

Ukucajte i nastavite.

/boot/vml Ukucajte i nakon toga koristite tipku TAB da bi vidjeli dostupne kernele. Unesite ispravan kernel i nastavite.

root=/dev/sdXY

Unesite ispravne vrijednosti za uređaj i nastavite

ro 

Nastavite

Kada ste napisali sve informacije, trebali biste dobiti nešto slično slijedećem primjeru:

Grub2.cli.boot.png

Pritisnite Enter. Ukoliko ste ispravno unijeli GRUB 2 će prikazati sačuvane podatke između [ ] simbola

  • C. Unesite informaciju o "initrd" liniji (korak od 6 do 8)
linux

Ukucajte i nastavite

initrd

Ukucajte, potom pomoću tipke TAB prikažite dostupne kernele. Unesite ispravan kernel i nastavite.

boot/init

Ukucajte i tipkom TAB prikažite dostupne kernele. Unesite ispravan iznos initrd slike. Trebali bi dobiti sličnu potvrdu linije kao što je opisano iznad.

  • D. Boot (korak 9)

boot Podizanje u željeni kernel CTRL-x će uraditi isto.

Način spašavanja (Rescue mode)

Ovo je značajnija novina u GRUB-u 2. Ukoliko GRUB 2 ne može naći valjan grub.cfg i ne može učitati kernel, preći će u grub-rescue> prompt. Odavde možete istražiti u čemu je problem, napraviti korekcije i ponovno pokušati boot.

Našin spašavanja ima manje naredbi od normalne GRUB naredbene linije, ali isto tako ima neke naredbe koje normalna naredbena linija nema.

  • dump Čisti memoriju
  • exit Izlazi iz GRUB-a
  • normal Ukoliko je to moguće, vraća se u normalni GRUB meni


U Načinu spašavanja možete koristiti ove naredbe:

  • boot
  • chainloader
  • freebsd
  • freebsd_module
  • help
  • initrd
  • insmod
  • linux
  • lsmod
  • multiboot
  • rmmod
  • set
  • unset

Ukoliko trebate još naredbi, možete pokušati povratiti normalan GRUB 2 način rada naredbom:

insmod normal

Ukoliko se naredba uspješno izvrši, imati ćete dodatne GRUB 2 naredbe.


Da bi ste pokušali bootati najnoviji kernel u `grub rescue>` načinu rada izvršite ove naredbe:

ls-

Naredba će ispisati sve poznate uređaje i particije. Možete se odlučiti s kojeg uređaja i particije ćete podignuti sustav.

set root=/dev/sdXY

X je ime uređaja. Broji se od 0. Y je particija i one se broje od 1. (Primjer (hd0,1) je sda1. (hd3,5) je sdc5.)

ls /boot

Prikazuje sadržaj /boot direktorija. Prikazati će se različite verzije kernela, initrd slike i grub mapu. Ukoliko to ne dobijete, koristite

ls 

naredbu. Pomoću nje možete istražiti uređaj i pronaći željene mape.

insmod /boot/grub/_linux.mod 

Učitajte linux modul. Bez tog modula dobiti ćete "Unknown command linux" poruku kada budete pokušali učitati kernel.

linux /vmlinuz root=/dev/sdXY ro

Učitava linux kernel. Zamijenite "X" i "Y" pravilnim brojevima. Ukoliko se naredba uspješno izvrši, dobiti ćete poruku da je kernel uspješno učitan.

initrd /initrd.img

Učitava initrd sliku. Kada pritisnete enter, možete, ali i ne morate dobiti pokuku u terminalu.

boot 

Učitava initrd sliku.

Rješavanje "Unrecognized Device String" (Error 11) greške

Ova greška je najčešće rezultat loše upisane stavke menuentry. Najčešće se javlja kada se GRUB 2 nadograđuje iz GRUB-a 1. Npr. u nadogradnji sa Ubuntua Jaunty kada se pokuša koristiti Chainload.


  • Prilikom bootanja GRUB 2 prikazuje slijedeću grešku.

Grub2.unrecognized.device.string.error.png

  • Pritisnite bilo koju tipku da se vratite u glavni meni, potom tipku "e" da dobijete "grub edit>". Uredite "Chainload into GRUB 2"

Grub2.error.root.png

  • Zamijenite "root" sa "uuid". Stisnite ENTER, nakon toga "b" da bi pokušali podignuti željeni operativni sustav.

Grub2.error.uuid.png

Ukoliko i dalje želite imati stari GRUB zajedno s novim, ovu grešku možete ispraviti tako da otvorite /boot/grub/menu.lst. U drugoj liniji "Chainload into Grub 2" promijenite "root" u "uuid".

Grub2 error11 uuid.png

Podizanje sa ISO slike na hard disku

Tekst je u izradi

Splash slika i postavljanje tema

GRUB 2 Splash slika

Postavljanje Splash slike u GRUB 2 je jednostavno. Sve što trebate uraditi je odabrati sliku i odabrati boju teksta.

Grub2.lake.splash.png

Instalirajte 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 Naravno, možete postaviti i vlastite slike.

Postavljanje splash slike

Datoteka u kojoj se nalaze postavke vezane za Splash slike je /etc/grub.d/05_debian_theme. Datoteku možete uređivati samo kao root korisnik.

Pronađite slijedeću liniju i uredite. Zamijenite s lokacijom na kojoj se nalaze Splash slike. Pronađite:

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

i uredite tako da upišete lokaciju i ime slike koju želite koristiti u GRUB 2 meniju.

Nekoliko napomena:

  • GRUB 2 će kao zadano tražiti splash sliku u /boot/grub i /usr/share/images/desktop-base
  • grub2-splashimages paket se neće otpakirati u ove dateoteke, već u /usr/share/images/grub
  • Morate uraditi:
    • Promijenite lokaciju u gore navedenoj liniji da odgovara lokaciji slike, ili
    • Pomaknite željene slike u gore navedene zadane mape.
    • Možete i dodati novu lokaciju. Uredite gornju liniju da izgleda ovako:
for i in {/boot/grub,/usr/share/images/desktop-base,/usr/share/images/grub}/moreblue-orbit-grub.{png,tga} ; do

Zamijenite moreblue-orbit-grub. s imenom slike koju želite imati u meniju.

  • Ime slike mora završiti točkom(.) ( /moreblue-orbit-grub. )
  • 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


Kada dodate novu mapu, ili sliku u 05_debian_theme pokrenite update-grub naredbu. 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.

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
  • Tekst ispod postavlja boju odabranih stavki. 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 white/black (bijelo/crno). Boja označenog teksta je cyan/blue.

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

Stvaranje vlastitih Splash slika

Jednostavno je postaviti vlastitu Splash sliku.

Postavljanje rezolucije

Slike koje se nalaze u grub2-splashimages paketu imaju 640x480 rezoluciju.

GRUB 2 traži rezoluciju u /etc/default/grub. Rezolucija je postavljena u slijedećoj liniji:

GRUB_GFXMODE=640x480
 
  • Ukoliko se u /etc/default/grub ne nalaze nikakve postavke, GRUB 2 koristi rezoluciju koja je postavljena u /etc/grub.d/00_header, a ona iznosi 640x480.


Stvaranje i postavljanje slika

Na Ubuntuu u GNOME sučelju odaberite System, Preferences, Display meni da bi dobili rezoluciju monitora, ili pokrenitefor

vbeinfo

naredbu u GRUB 2 naredbenom retku da bi doznali moguće rezolucije na vašem monitoru.


  • Odredite rezoluciju koju ćete koristiti na GRUB 2 Splash slici.
  • Odaberite i ukoliko je potrebno, promijenite veličinu slike koju želite koristiti da odgovara odabranoj rezoluciji.
    • GRUB 2 trenutno podržava .png, .tga, i 8-bitne .jpg/.jpeg slike.
    • IUkloliko koristite GIMP, imenujte sliku sa odgovarajućom ekstenzijom i slika će se snimiti u tom formatu.
  • Promijenite linije u GRUB 2 konfiguracijskim datotekama:
    • /etc/default/grub: Odkomentirajte GRUB_GFXMODE=640x480 redak i promijenite vrijednost rezolucije.
    • /etc/grub.d/05_debian_theme: Unesite pravilan položaj i ime slike u slijedeći redak:
for i in {/boot/grub,/usr/share/images/desktop-base}/moreblue-orbit-grub.{png,tga} ; do
  • Pokrenite sudo update-grub da bi se promjene unijele u GRUB 2.

Teme

Teme su još uvijek pod razvojem u GRUB2. Uključivati će integrirane boje, fontove, pokazivače napredovanja procesa, menije i oznake. GRUB 2 Theming is still under development, as is integration with gfxmenu. Theme elements will include colors, fonts, progress indicators, menus, and labels. Both of these hold great promise but are not ready for release with Ubuntu 9.10. Check the Links section at the bottom of this page for references.

Grub2.theme.dinxter.png Grub2.theme.bennett.png

Ponovna instalacija GRUB 2

Moguće da ćete nekad trebati reinstalirati GRUB 2. Možda ćete to trebati uraditi ukoliko instalirate GRUB na drugi disk. Ukoliko nećete moći podignuti operativni sustav, a radom u Načinu spašavanja vam ne uspije popraviti greške, možda ćete trebati uraditi potupnu reinstalaciju GRUB-a 2.

Mijenjanje ili premještanje GRUB-a 2

Nardba kojom možete promijeniti DISK NA KOJEM JE GRUB 2, ili kojom možete promijeniti boot datoteke je:

grub-install

Pokren ite ju kao root. Naredbom možete postaviti root direktorij, ponovno učitati module, pokrenuti datoteke za namještanje i još dosta toga. Kada se naredba pokrene, možda će ona sama pokrenuti neke druge naredbe poput: grub-probe, grub-mkimage i grub-setup. Evo nekih napomena vezanih uz ovu naredbu:

  • Ovu naredbu koristite radije od grub-setup naredbe. Grub-install naredba će sama pokrenuti grub-setup ukoliko to bude potrebno.
  • Naredba bi trebala sadržavati uređaj na kojem će se instalirati potrebne GRUB 2 datoteke. (Npr: `sudo grub-install /dev/sda` )
  • Ukoliko korisnik pokrene naredbu u kojoj se nalazi određena particija doboti će upozorenje. Particije koriste blokliste koje se trenutno smatraju nepouzdanima.
  • Ukoliko želite listu opcija u grub-install naredbi kucajte u terminal
grub-install --help
  • Man stranica za `grub-install` trenutno ne prikazuje sve dostupne opcije ove naredbe.


Ponovna instalacija sa LiveCD-a

Ukoliko ne možete bootati najprije proučite "Način spašavanja" odjeljak ovog teksta. Ukoliko i nakon toga trebate reinstalirati GRUB slijdite upute:

  • Podignite 9.10 Karmic LiveCD.
  • Otvorite Terminal.
  • Vidite koje particije imate na vašem računalu
 sudo fdisk -l 
    • Ukoliko niste sigurni pokrenite:
df -Th

Gledajte veličinu diska i ext3, ili ext4 format.

  • Podignite particiju sa hard diska:
    • GRUB 2 broji uređaj od 0, a particije od 1.
 sudo mount /dev/sdXX /mnt
  • Samo ukoliko imate odvojene boot particije:
    • sdYY je mejsto na kojem se nalazi /boot particija (Npr. sdb3)
    • sudo mount /dev/sdYY /mnt/boot
  • Montirajte uređaje:
sudo mount --bind /dev/ /mnt/dev
    • Chroot u vaš hard disk uređaj:
 sudo chroot /mnt
  • Ponovno instalirajte GRUB 2:
    • Zamijenite s točnim nazivom vašeg uređaja. NE koristite broj particije"!
 sudo grub-install /dev/sdX
  • Provjerite instalaciju. Zamijenite s točnim nazivom vašeg uređaja. NE koristite broj particije"!
 sudo grub-install --recheck /dev/sdX
  • Iziđite iz chroot:

CTRL+D tipke na tipkovnici.

  • Odmontirajte uređaj:
sudo umount /mnt/dev
    • Ukoliko montirate odvojenu /boot particiju:
  sudo umount /mnt/boot
  • Odmontirajte poslijednji uređaj :
sudo umount /mnt
  • Reboot.
 reboot


Kad se uspijete podignuti u sustav koji radi pokušajte odrediti zbog čega se sustav nije uspio podignuti. Slijedeće naredbe bi vam mogle biti korisne u tome:

  • Da bi osvježili uređaje i postavke u /boot/grub/grub.cfg
  sudo update-grub
  • Da bi vidjeli lokaciju bootloadera.
 grub-probe -t device /boot/grub
  • Da bi instalirali GRUB 2 na "X" particiju MBR-a (sda, sdb, etc.)
 sudo grub-install /dev/sdX
  • Da bi ponovno provjerili instalaciju (sda, sdb, etc.)
 sudo grub-install --recheck /dev/sdX

Deinstalacija GRUB 2

Vraćanje na stari GRUB Legacy

Ukoliko se želite vratiti na stari GRUB legacy (0,97), slijedite korake navedene ispod.

1. Otvorite Terminal.

2. napravite rezervne kopije glavnih GRUB 2 mapa i datoteka.

 sudo cp /etc/default/grub /etc/default/grub.old
 sudo cp -R /etc/grub.d /etc/grub.d.old
 sudo cp -R /boot/grub /boot/grub.old

3. Uklonite GRUB 2

sudo apt-get purge grub2 grub-pc

4 Instalirajte GRUB 0,97

sudo apt-get install grub

Iako je grub instaliran, morate sami kreirati menu.lst.

sudo update-grub`

Stvara menu.lst

sudo grub-install /dev/sdX

X zamijenite točnim uređajem. (Obično onaj na kojem je Ubuntu instaliran) Ova naredba stvara stage1 i stage2 u /boot/grub i zapisuje ih u MBR.

5 Reboot

Izvori i poveznice

Najveći dio teksta je preveden s Ubuntu Community Documentation stranice .

Dodatne poveznice