GRUB 2 za pocetnike
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:
Sadržaj
Što je to GRUB?
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?
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 Windowsa
- Uzorak koji pokazuje "chainloading" na drugi GRUB boot loader:
menuentry "Grub 1 Bootloader" { set root=(hd0,8) chainloader +1 }
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.