GRUB 2

Izvor: HrOpenWiki
Inačica od 17:26, 11. studenoga 2009. koju je unio/unijela Suko (razgovor | doprinosi)

Skoči na: orijentacija, traži
U izradi
Ova stranica se izrađuje.

Tekst je djelomično preveden i usklađen.

Svratite malo kasnije.

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. GRUB 2 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)


Poboljšanja

Značajna poboljšanja u odnosu na GRUB:

  • Podrška za skripte
  • Modularnost
  • Mogućnost "spašavanja"
  • Prilagođene i osobne meni stavke
  • Teme
  • Grafički boot meni i poboljšani splash
  • Dizanje sustava sa LiveCD ISO slike direktno s hard drivea
  • Nova struktura fileova za konfiguraciju
  • Podrška za ne-x86 platforme (kao PowerPC)
  • Univerzalna podrška za UUID-ove. (Ne samo za Ubuntu)


Usporedba GRUB i GRUB 2

Standardni GRUB 2 meni će biti poznat GRUB korisnicima. 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. taj file se neće obrisati.
  • /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.

File Structure

GRUB 2 ima sasvim drugačiju organizaciju mapa i fileova. "menu.lst" se više ne koristi.

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

File u kojem se nalaze glavne postavke GRUB 2 je

/boot/grub/grub.cfg

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

Naredbu pokrenite kao root korisnik. Naredba je zamjena stare

grub-mkonfig -o /boot/grub/grub.cfg 
  • Sa svakom novom instalacijom kernela grub.cfg će se osvježiti.
  • grub.cfg je file koji 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)

  • Datoteke u ovoj mapi se čitaju prilikom izvršenja "update-grub" naredbe. Njihov sadržaj će se nakon toga uklopiti u grub.cfg datoteku.
  • Mjesto koje će stavke iz ove mape imati u grub.cfg datoteci određeno je njihovim imeno. Datoteke s manjim brojem će se stoga izvršiti prve.

"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 će se uklopiti u grub.cfg.


  • Datoteke u ovoj mapi su:
    • 00_header U ovoj datoteci se nalaze postavke vezane uz grafički način, 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

Podešavanje se obično unose u "/etc/default/grub" i u "/etc/grub.d". /boot/grub/grub.cfg se ne bi trebalo uređivati. 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

Postavlja podrazumjevani izbor 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"-~ Točan naziv, uključujući i navodnike se može koristiti. 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
    • Odkomentirajte ukoliko želite aktivirati ovu liniju. 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.
    • Natuknica: Ako postavite rezoluciju koja je ista rezoluciji operativnog sustava, značajno ćete skratiti vrijeme bootanja.
    • Nije nužno, ali možete poostaviti i dubinu boje u bitovima. Npr. uz rezoluciju 1280x1024x24, postavlja 24 bitnu boju.
    • 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. R
    • 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.

Boot Display Behavior

GRUB 2 se učitava prije operativnog sustava. Njegove modularne komponente se učitavaju prema optrebni. Izgled menija je podešen u /etc/default/grub datoteci.

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.

Hidden

  • Neće se prikazati meni. Ukoliko je postavljen, 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 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

Saved

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


Custom Menu Entries

U GRUB-u 2 možete dodati stavke koje vi sami napišete. Prazna datoteka 40_custom se nalazi u /etc/grub.d/. 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.
sudo chmod +x /etc/grub.d/filename 
  • 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

Možete ili urediti /etc/grub.d/40_custom datoteku, ili možete stvoriti novu. 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đaju se još uvijek broje od 0
      • Pažljivo provjerite format ostalih stavki koje rade 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= liija bi trebala pokazivati Grub 2 /boot položaj ( sdXY )
    • root u linux liniji pokazuje na particiju sustava.
    • 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
 }

Command Line & Rescue Mode

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 dobili postavke za odabranu stavku:

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 imate ispis kombinaciji tipki kao pomoć pri odabiru.

Komandnolinijski način

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

Evo par korisnih natuknica za GRUB 2 komandnu liniju

  • Gašenje splash slike će vam omogućiti da vidite 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 koju drugu 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 korisn a 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 dstupne 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 osrediti 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

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. Kada završite dobiti ćete nešto slično ovom:

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

  • Postavite korjensku particiju (prvi korak)

A. Set the Root Partition (Step 1)

set root=(hdX,Y)

Kucajte ispravnu vrijednost za X,Y. Prisjetite se da se uređaju 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 s ispravnih vrijednostima za uređaj i nastavite ro Nastavite Kada ste napisali sve informacije, trebali biste dobiti nešto slično slijedećem primjeru:

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

Grub2.cli.boot.png

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.cfgi ne 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 noje 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" vrijednošću diska. 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

Booting an ISO

Under Construction

Splash Images & Theming

GRUB 2 Splash Images

GRUB 2's Splash Image capability is greatly enhanced over its predecessor. Configuring a boot splash image is a two step process: selecting the image to use and choosing the text colors to be displayed.

||<|5 tablewidth="95%" align=center style="border:none">Predložak:Attachment:grub2.lake.splash.png||<style="border:none" width="5%" > ||<style=" vertical-align: center; border:none; ">Install the default GRUB 2 splash image package, install the grub2-splashimages package|| ||<style="border:none"> ||<style="border:none"> `sudo apt-get install grub2-splashimages` || ||<style="border:none"> ||<style="border:none"> Do not mistake this with the grub-splashimages package, which is not compatible with GRUB 2. || ||<style="border:none"> ||<style=" vertical-align: top; border:none; ">The default location for these downloaded images is /usr/share/images/grub. This location must be added to 05_debian_theme or the files copied elsewhere. (See below) || ||<style="border:none"> ||<style="border:none"> Users can create and use their own splash images. ||

Set the splash image

The GRUB 2's splash images are controlled by /etc/grub.d/05_debian_theme. Open this file for editing as root.

Find the following line and edit the highlighted area, replacing it with the path and name of the GRUB 2 splash image you wish to use:

 ||<bgcolor="#fffbdb" style="font-size:small;">for i in {/boot/grub,/usr/share/images/desktop-base}/moreblue-orbit-grub.{png,tga} ; do||

There are several things to note about this entry:

* GRUB 2 by default will look for splash images in /boot/grub and /usr/share/images/desktop-base
* The grub2-splashimages package is not extracted to either of the above folders, but to /usr/share/images/grub
* The user must either:
 * Change the folder location in the above line to point to the correct address, or
 * Move the splash images to one of the folders referenced above.
 * To add the grub folder, make the entry look like this, and change the filename to the desired splash image in /usr/share/images/grub folder.
 ||<bgcolor="#fffbdb" style="font-size:small;">for i in {/boot/grub,/usr/share/images/desktop-base,/usr/share/images/grub}/moreblue-orbit-grub.{png,tga} ; do||
* The filename ends with a period (.) ( /moreblue-orbit-grub~+.+~ )
* Splash image selection:
 * If the same filename exists in more than one folder, the filename in the earliest-designated folder will be used.
 * If the filename exists as more than one type (multiple extensions), the file with the earliest-designated extension will be selected.

The user can make several changes to the above line to expand splash image flexibility:

* Add a user-owned folder in which GRUB 2 will search for available splash images.
* Add the ability use JPEG files as splash images. At this time, only 8-bit JPEG images will display correctly.


The following shows the addition of a user's own splash folder and added JPEG support:

  ||<bgcolor="#fffbdb" style="font-size:small;">for i in {/boot/grub,/usr/share/images/grub,/home/drs/mysplash}/moreblue-orbit-grub.{png,tga,jpg,jpeg} ; do||

Once you have entered the path and filename into 05_debian_theme you can run `sudo update-grub` to add the information into grub.cfg. If adding the splash image was successful, the user will see "Found Debian image..." in the terminal as the command is executed. If this phrase is not seen, the image information was probably not entered.


Set menu font & highlight colors

These lines are contained in /etc/grub.d/05_debian_theme. The instructions do not apply to the "mono" theme settings near the top of the file.


  * The color of non-selected menu entries is set by the line below. The first color is the text color; the second is the background color.
 ||<bgcolor="#fffbdb" style="font-size:small;">  set color_normal=black/black||
  * The code below sets the color of selected entries. The first color is the highlighted text color; the second is the background color of the selected line. If /black is the second entry, the highlighted line will be transparent and only the text will change color.
 ||<bgcolor="#fffbdb" style="font-size:small;">   set color_highlight=magenta/black||

Predložak:Attachment:important.png /black is the GRUB 2 default transparency color when listed second. Change only the first color (i.e. xxxxx/black) if using a splash image. If the second value in this line is changed to a color other than black the splash image will be hidden behind a solid color background.

* In the following graphic, the color_normal setting is white/black. The color_highlight setting is cyan/blue

 Predložak:Attachment:grub2.splash.bar.png

* These colors are available in GRUB 2. "black" as a second entry is considered "transparent".
 ||<-8 tablewidth="85%" width="13%" #000000 bgcolor="white" align="center" style="border:none;" tablestyle="font-size:small;"> ||
 ||< width="13%" #000000 style="color:white;" >black||<width="13%" #0000ff style="color:white;">blue||<width="13%" #804000 style="color:white;">brown||<width="13%" #00ffff>cyan||<width="13%" #333333 style="color:white;">dark-gray||<width="13%" #008000 style="color:white;">green||<width="13%" #E0FFFF>light-cyan||<#5454fe style="color:white;">light-blue||
 ||<#00FF00>light-green||<#999999>light-gray||<#FF00FF>light-magenta||<#fe5454>light-red||<#ff00ff>magenta||<#ff0000>red||<#ffffff>white||<#ffff00>yellow||


Testing Fonts & Splash Images

Predložak:Attachment:info.png Rather than rebooting to test the color combinations, the user can see the changes by using GRUB 2's command line during the boot process.

* Select the splash image and initial font colors as described above, update GRUB 2's files with `sudo update-grub`, and reboot.
* When the GRUB 2 splash image/menu appears, press any key to stop the countdown timer.
* Press c to enter the GRUB 2 command line.
* Experiment with various color/highlight modes. Make changes by typing:
 * `set color_normal=first-color/black`  and/or `set color_highlight=first-color/second-color`
 * Text colors are viewable immediately after the command is entered. You can use the "up" arrow to recall the last command and edit it to quicky test different color combinations.
 * Once you are finished, press ESC to return to the menu.
 * Repeat as desired.
 * Remember the desired color combinations, boot normally and edit /etc/grub.d/05_debian_theme and make the changes permanent.
  Predložak:Attachment:grub2.splash.color.edit.1.png
 * Save the file, then update GRUB 2: `sudo update-grub`

Changing Resolutions w/ Splash Images

If the user wishes to change the resolution of the GRUB 2 screen while using a splash image follow these steps:

1. Set the desired resolution in /etc/default/grub
 * Change the value of ~-GRUB_GFXMODE=-~  (Example: ~-GRUB_GFXMODE=800x600-~)
 * If unsure of what resolutions are available to GRUB 2 they can be displayed by typing `vbeinfo` in the GRUB 2 command line. The command line is accessed by typing "c" when the main GRUB 2 menu screen is displayed. 
1. Select an image of the same size and make the change in /etc/grub.d/05_debian_theme
  * The image name is located in the line beginning with " for i in {/boot"
 * If an image of the correct size is not used, the menu will not be positioned correctly.
 * Use the image editor of your choice to create/resize an image to the correct size.
 * The user may be able to view the image size via Properties in a file browser (check the Properties Image tab in Nautilus).
1. Run update-grub as root to add the new settings to /boot/grub/grub.cfg


Creating User Splash Images

GRUB 2's splash image management makes it easy to use a wide variety of splash images.

Resolution Settings

The images in the grub2-splashimages package are primarily 640x480 images.

GRUB 2 looks for a resolution setting in /etc/default/grub. If uncommented, the resolution is determined by this line:


  ||<bgcolor="#fffbdb" style="font-size:small;">GRUB_GFXMODE=640x480||
  * If no setting is found in /etc/default/grub, GRUB 2 uses the resolution established in /etc/grub.d/00_header, which is set at 640x480.


Image Creation & Setup

Predložak:Attachment:info.png In Ubuntu, refer to the System, Preferences, Display menu for available monitor resolutions, or run `vbeinfo` in the GRUB 2 command line to display available resolutions.


1. Determine the resolution you will use for the GRUB 2 splash image.
1. Create or resize any image to to the appropriate size. 
 * GRUB 2 currently supports .png, .tga, and 8-bit .jpg/.jpeg images. 
  * If using GIMP, naming the file with the applicable extension will save the file in the given format.
1. Make the applicable changes in the GRUB 2 configuration files:
  * /etc/default/grub: Uncomment the GRUB_GFXMODE=640x480 line and change the value if the resolution will be other than 640x480.
  * /etc/grub.d/05_debian_theme: Enter the correct path and filename in the following line. Refer to the previous section for more information on how to edit this line. 
  ||<bgcolor="#fffbdb" style="font-size:small;">for i in {/boot/grub,/usr/share/images/desktop-base}/moreblue-orbit-grub.{png,tga} ; do||
1. Run `sudo update-grub` to incorporate the changes into GRUB 2.

Themes

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.

 ||<tablewidth="95%" align=center style="border:none;">Predložak:Attachment:grub2.theme.dinxter.png||<style="border:none;" width="15%" > ||<style="border:none;" align=center>Predložak:Attachment:grub2.theme.bennett.png||


Reinstalling GRUB 2

There may be times when a user needs to either move or reinstall a GRUB 2 installation. The former may occur when the user wants to move the installation to another device or reconfigure some of the installation instructions. If a user cannot boot into an operating system at all, even using the [mode] mode, a complete reinstallation of GRUB 2 may be necessary.

Changing or Moving GRUB 2

The command to change the GRUB 2 installation device or boot files is `grub-install` run as root. This command allows the user to modify the installation by setting the ROOT directory, preload modules, run specific setup files and more. When executed, `grub-install` may run one or more other commands, such as `grub-probe`, `grub-mkimage`, and `grub-setup`. Here are some considerations when running `grub-install`:

* The `grub-install` command should be used rather than `grub-setup` under normal circumstances. `grub-setup` will be called by `grub-install` when needed.
* The command should specify a device and when executed will install the required GRUB files to the location called for in the options. (example: `sudo grub-install /dev/sda` )
* If the user attempts to run the command with a specific partition (example: `sudo grub-install /dev/sda6` ) a warning will be issued. Specifying a partition is not recommended due to the use of blocklists, which the developers consider unreliable. An option is provided on how to override this recommendation if the user still wishes to do so.
* The list of options available for `grub-install` can be displayed in a terminal with ~-grub-install --help-~.
* The man page for `grub-install` currently does not display the all the available options.


Reinstalling from LiveCD

If you cannot boot from GRUB 2 review the section Boot Problems & Rescue Mode. If a reinstall becomes necessary follow these instructions:


 1. Boot to the 9.10 Karmic LiveCD Desktop.
 1. Open a terminal - Applications, Accessories, Terminal.
 1. Determine your normal system partition - (the switch is a lowercase "L")
 `sudo fdisk -l`  
  * If you aren't sure, run 
  `df -Th`. Look for the correct disk size and ext3 or ext4 format.
 1. Mount your normal system partition: 
  * Substitute the correct partition: sda1, sdb5, etc.
  * GRUB 2 counts the first drive as "0", but the first partition as "1"
 `sudo mount /dev/sdXX /mnt`
 1. Only if you have a separate boot partition:
  * sdYY is the /boot partition designation (examply sdb3)
  *`sudo mount /dev/sdYY /mnt/boot` 
 1. Mount devices: 
 `sudo mount --bind /dev/ /mnt/dev`
 1. Chroot into your normal system device: 
 `sudo chroot /mnt`
 1. Reinstall GRUB 2: 
  * Substitute the correct device - sda, sdb, etc. Do not specify a partition number.
 `sudo grub-install /dev/sdX` 
 1. Verify the install (use the correct device, for example sda. Do not specify a partition): 
 `sudo grub-install --recheck /dev/sdX`
 1. Exit chroot: 
 ~-CTRL-D-~ on keyboard
 1. Unmount devices:  
 `sudo umount /mnt/dev`
  * If you mounted a separate /boot partition: 
  `sudo umount /mnt/boot`
 1. Unmount last device: 
 `sudo umount /mnt`
 1. Reboot.
 `reboot`


Once the user can boot to a working system, try to determine why the system failed to boot. The following commands may prove useful in locating and/or fixing the problem.

To refresh the available devices and settings in /boot/grub/grub.cfg
  * `sudo update-grub` 
To look for the bootloader location.
  * `grub-probe -t device /boot/grub` 
To install GRUB 2 to the sdX partition's MBR  (sda, sdb, etc.)
  * `sudo grub-install /dev/sdX` 
To recheck the installation. (sda, sdb, etc.)
  * `sudo grub-install --recheck /dev/sdX`   


Uninstalling GRUB 2

Reverting to GRUB Legacy

If a user chooses to return to GRUB legacy (0.97), these steps will remove GRUB 2 and install GRUB.


The command line produces a cleaner uninstall and reinstallation. While adding and removing the packages can be accomplished with Synaptic, certain steps must be accomplished in a terminal.

1. Open a terminal: Applications, Accessories, Terminal.
1. Make backup copies of the main GRUB 2 folders & files. (Optional)
 * `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`
1. Remove GRUB 2
 * `sudo apt-get purge grub2 grub-pc`
 *Predložak:Attachment:important.png The system will be unbootable until another bootloader is installed.
 * Once the packages are removed, many files will still remain in '/boot/grub' 
1. Install GRUB 0.97
 * `sudo apt-get install grub`
1. With grub installed, the user must still create the menu.lst and stage1/stage2 files by running the following two commands.
 A. `sudo update-grub`
  * Generates menu.lst 
   * Tab to "Yes" when prompted.
 A. `sudo grub-install /dev/sdX`
  * Choose the correct device (sda, sdb, etc), normally the one on which Ubuntu is installed.
  * Creates the stage1 & stage2 files in /boot/grub and writes to the MBR.
1. Reboot

Predložak:Attachment:important.pngIf the user receives an "Unrecognized device string Error 11" message on rebooting see the [an "Unrecognized Device String" (Error 11)] section for instructions on how to edit the menu and make the system bootable.


Links

GrubHowTo

External Links