Kako da podesite GRUB boot loader

terminalUobičajeno je da se pri instalaciji Linux operativnog sistema GRUB boot loader sam konfiguriše, ali pojedine distribucije, najčešće minimalističke distribucije, i dalje ne podržavaju takav pristup, pa pri njihovoj instalaciji dolazi do toga da se GRUB konfiguriše samo za njihove potrebe, što onemogućava pristup drugim instaliranim operativnim sistemima, do ovoga takođe dolazi i pri instalaciji MS Windows operativnog sistema koji poseduje svoj boot loader koji se upisuje u MBR (Master Boot Record) i pri tome briše bilo koji boot loader koji je prethodno bio instaliran, što takođe onemogućava pristup drugim instaliranim operativnim sistemima jer je boot loader koji se instalira uz MS Windows konfigurisan samo za pokretanje MS Windows operativnog sistema.

Prvi korak u podešavanju GRUB boot loadera jeste njegova instalacija, ali pre same instalacije bitno je da shvatite način na koji GRUB radi i njegove prednosti u odnosu na druge boot loadere.

Prvo i najbitnije što treba da shvatite jeste to da se GRUB izvršava u fazama, razlog za to je fizička nemogućnost MBR-a da sadrži sve informacije koje su neophodne za izvršavanje GRUB boot loadera jer je MBR ograničen na 512B od kojih je 446B određeno za kod boot loadera.

Faze pri pokretanju GRUB boot loadera su:

  • Faza 1 (Stage 1): Ova faza podrazumeva pokretanje tzv. primarnog boot loadera koji je zapisan u MBR, osnovna funkcija ove faze je da obezbedi dalje izvršavanje GRUB boot loadera, odnosno prelazak na fazu 2.
  • Faza 1.5 (Stage 1.5): Ova faza može postojati u slučaju da su podaci neophodni za GRUB dovoljno mali da mogu da stanu odmah iza MBR-a.
  • Faza 2 (Stage 2): Je finalna faza koja koja dovodi do izvršavanja GRUB boot loadera i učitavanja njegove konfiguracije, konfiguracija se može nalaziti bilo gde na hard disku.

Glavna prednost ovakvog pristupa, pored zaobilaženja fizičkih nemogućnosti MBR sektora, jeste prilagođavanje GRUB boot loadera potrebama korisnika i mogućnost pokretanja neograničenog broja instaliranih operativnih sistema usled nedostatka prostornog ograničenja koje nameće MBR.

GRUB takođe podržava i pokretanja sistema preko mreže i može da pokreće bilo koji operativni sistem (UNIX, Linux, BSD, DOS, MS Windows), prednost GRUB boot loadera je i ta što nema potrebe da se zbog svake izmene zapisuje u MBR.

Još jedna bitna stvar koju treba da shvatite jeste notacija koju GRUB koristi, npr. recimo da imate jedan hard disk i na njemu posedujete jednu primarnu particiju GRUB će ih videti na sledeći način:

(hd0,0)

  • hd - znači da je u pitanju hard disk. Na ovom mestu se mogu nalaziti i oznake: fd - floppy disk, cd - CD-ROM, itd. u zavisnosti od uređaja kojem GRUB treba da pristupi.
  • Prvi broj je redni broj uređaja, broji se od nule, što znači da ako imate dva hard diska, GRUB će drugi hard disk i prvu primarnu particiju na njemu videti kao (hd1,0)
  • Drugi broj je redni broj particije, i on počinje od nule, primarne particije se broje od 0 do 3, dok logičke particije uvek počinju od 4 bez obzira na broj primarnih particija. Ako npr. imate dve particije na jednom hard disku, drugu particiju GRUB vidi kao (hd0,1).
  • Zagrade između kojih se nalazi definicija uređaja i particije su obavezne.

Sada kada razumete kako GRUB radi i šta su njegove prednosti možemo preći na instalaciju za koju će Vam biti neophodna floppy disketa sa instaliranim GRUB boot loaderom, ili, još bolje, neka Live Linux distribucija koja dolazi uz GRUB boot loader.

Prvo što treba da učinite kada pokrente GRUB je da pronađete fazu 1 (Stage 1), ovo ćete postići tako što ćete u GRUB terminal kucati:

find /boot/grub/stage

Ovo će Vam vratiti sve lokacije gde je faza 1 pronađena, što će Vam olakšati odabir particije na koju želite da instalirate GRUB, u slučaju da ste već odlučili gde želite da instalirate GRUB ovaj korak možete preskočiti.

Sledeći korak podrazumeva odabir GRUB root uređaja, recimo da ste odlučili da to bude druga particija na prvom hard disku, u tom slučaju u GRUB terminal ćete kucati:

root (hd0,1)

Nakon što je podešen i GRUB root potrebno je sve ovo zapisati u MBR.

To ćete učiniti tako što ćete u GRUB terminal kucati:

setup (hd0)

U ovom slučaju podrazumeva se da želite da informacije zapišete u MBR prvog hard diska.

Nakon ovoga u GRUB terminal kucajte quit kako biste ga napustili.

Pošto ste uradili sve prethodno možete početi sa konfiguracijom GRUB boot loadera, odnosno menu.lst fajla.

Ovaj fajl se uobičajeno nalazi na lokaciji: /boot/grub/menu.lst

Sadržaj jedne veoma proste menu.lst konfiguracije može izgledati slično ovome:


# /boot/grub/menu.lst: GRUB boot loader konfiguracija.
#

default 0
timeout 8

# SliTaz na hda2 odnosno (hd0,1)
#

title SliTaz GNU/Linux (Kernel vmlinuz-2.6.30.6-slitaz)
root (hd0,1)
kernel /boot/vmlinuz-2.6.30.6-slitaz root=/dev/hda2


Na prvi pogled ovaj konfiguracioni fajl može izgledati nejasno, ali zapravo, veoma ga je lako shvatiti:

  • Sav tekst iz tarabe (#) je ignorisan od strane GRUB boot loadera, ovaj tekst predstavlja komentare koji sulže za jednostavnije snalaženje u konfiguracionom fajlu.
  • Naredba default služi za automatski odabir i pokretanje operativnog sistema nakon isteka vremena predviđenog za odabir od strane korisnika, broj iza ove naredbe je redni broj operativnog sistema navedenog u konfiguraciji, kao i uvek prvi operativni sistem ima redni broj 0, drugi 1 itd.
  • Naredba timeout služi za definisanje vremena koje je dato korisniku da odabere operativni sistem po svojoj volji, nakon isteka ovog vremena GRUB sam pokrece prethodno definisani standardni operativni sistem. Broj koji se nalazi iza naredbe timeout predstavlja vreme, u sekundama, koje korisnik ima na raspolaganju.
  • Naredba title predstavlja naslov koji će GRUB prikazati za određeni operativni sistem.
  • Naredba root definiše lokaciju GRUB konfiguracije, u ovom slučaju ona se nalazi na prvom hard disku na drugoj particiji, tj. (hd0,1) po onome kako je GRUB vidi.
  • Nareda kernel definiše lokaciju kernela ove Linux distribucije, koja je u ovom slučaju /boot/vmlinuz-2.6.30.6-slitaz. Iza kernel /boot/vmlinuz-2.6.30.6-slitaz nalazi se i naredba root=/dev/hda2 koja definiše lokaciju root particije, u ovom slučaju /dev/hda2.

Dodavanje bilo koje Linux distribucije ovoj listi je veoma jednostavno, dovoljno je da samo navedete naslov, pomoću naredbe title, i lokaciju kernela i root particije, tako da npr. ako želimo da dodamo distribuciju pod nazivom "Neki drugi Linux" dovoljno je da dodamo sledeći tekst u menu.lst :


title Neki drugi linux
kernel /boot/vmlinuz-neki_drugi_kernel root=/dev/hdaX
initrd /boot/initrd.img-neki_drugi_lin_img


Narvno, u ovom slučaju se podrazumeva da ćete sav podvučeni sadržaj zameniti pravim podacima, kao i to da ćete hdaX zameniti pravim brojem particije npr. hda3.

Takođe u ovom slučaju dodata je i naredba initrd, ova naredba zapravo služi za učitavanje privremenog file system-a koji služi za pripremu i prilagođavenje kernela na hardware-sko okruženje pre nego što se učita pravi root.

Nakon dodavanja novog seta naredbi naša lista može da izgleda ovako:


# /boot/grub/menu.lst: GRUB boot loader konfiguracija.
#

default 0
timeout 8

# SliTaz na hda2 odnosno (hd0,1)
#

title SliTaz GNU/Linux (Kernel vmlinuz-2.6.30.6-slitaz)
root (hd0,1)
kernel /boot/vmlinuz-2.6.30.6-slitaz root=/dev/hda2

#Ubuntu na hda3
#

title Ubuntu
kernel (hd0,2)/boot/vmlinuz-2.6.17.10-generic root=/dev/hda3
initrd (hd0,2)/boot/initrd.img-2.6.17.10-generic


Kao što se može videti, konfigurisanje GRUB boot loadera za pokretanje Linux operativnih sistema nije ni malo teško.

Da biste omogućili pokretanje MS Windows operativnog sistema, u menu.lst morate dodati poseban set naredbi, koji je podjednako jednostavan i razumljiv kao i set naredbi za dodavanje Linux sistema.

Taj set naredbi izgleda ovako:


title Microsoft Windows
rootnoverify (hd0,0)
chainloader +1


Početak je veoma jasan, definisali smo naslov, sledeća naredba, rootnoverify daje GRUB boot loaderu signal da se ne može potvrditi postojanje kernela na datoj lokaciji ali da izvršavanje treba nastaviti, u ovom slučaju Windows je instaliran na prvom hard disku na prvoj particiji, zato je zadata lokacija (hd0,0), instalacija Windows-a na ovoj lokaciji je najpoželjnija i najsigurnija ali u slučaju da Windows nije instaliran na ovoj lokaciji neophodno je zameniti ove parametre stvarnim parametrima koji odgovaraju Vašem slučaju.

Naredba chainloader +1 govori GRUB boot loaderu da odustane od pokušaja da pokrene ovaj sistem i da ga prepusti sledećem boot loaderu, u ovom slučaju posao se prepušta boot loaderu instaliranom na prvom hard disku na prvoj particiji, tačnije MS Windows boot loaderu.

Ovakav pristup može se primeniti na bilo kom drugom sistemu pa čak i na Linux sistemima, mada bi primena ovakvog pristupa zahtevala da svaki sistem ima instaliran boot loader.

Nakon dodavanja prethodno navedenog seta naredbi u menu.lst konfiguraciju ona će poprimiti sledeći izgled:


# /boot/grub/menu.lst: GRUB boot loader konfiguracija.
#

default 0
timeout 8

# SliTaz na hda2 odnosno (hd0,1)
#

title SliTaz GNU/Linux (Kernel vmlinuz-2.6.30.6-slitaz)
root (hd0,1)
kernel /boot/vmlinuz-2.6.30.6-slitaz root=/dev/hda2

#Ubuntu na hda3
#

title Ubuntu
kernel /boot/vmlinuz-2.6.17.10-generic root=/dev/hda3
initrd /boot/initrd.img-2.6.17.10-generic

#MS Windows na prvom hard disku na prvoj particiji
#

title Microsoft Windows
rootnoverify (hd0,0)
chainloader +1


U slučaju da Windows neće da se pokrene proverite da li je zaista instaliran na prvi hard disk, ako to nije slučaj neophodno je da dodate naredbu map koja daje mogućnost virtuelne zamene dva hard diska, što možete učiniti na sledeći način:


title Microsoft Windows
rootnoverify (hd0,0)
map (hd0) (hd1)
map (hd1) (hd0)
chainloader +1


U ovom slučaju je uzeto da se zamena vrši između prvog i drugog hard diska, ako to nije slučaj kod Vas, onda je neophodno promeniti redni broj hard diska u odgovarajući redni broj.

 

NAPOMENE!


  • Da biste uradili bilo šta od prethodno navedenog neophodno je da imate root privilegije.
  • Ako koristite neku Live distribuciju Linuxa potrebno je da otvorite terminal i u njega kucate grub kako biste ga pokrenuli, pre nego što pokrenete GRUB potrebno je da imate root privilegije.
  • Pre nego što počnete sa menjanjem menu.lst fajla obavezno sačuvajte originalni primerak na neko sigurno mesto kako ga, u slučaju pogrešnog konfigurisanja, ne biste izgubili.
  • Ako niste sigurni da ste sposobni da sami izvršite instalaciju i konfigurisanje GRUB boot loadera, onda nemojte pokušavati ništa od gore navedenog već se obratite nekom ko je stručnij od Vas.

Dodaj komentar

Sigurnosni kod
Osveži

Pretraga

Najnovije Igre

Tweet, +1, Like

Facebook Stranica

RSS Feed

Anketa

Za šta najviše koristite računar?

Posao - 14.4%
Internet - 61.1%
Multimediju - 4.2%
Video igre - 20.4%

Ukupno glasova: 167