GNU GRUB

Linux.fista
Versio hetkellä 28. heinäkuuta 2007 kello 21.21 – tehnyt Maakuth (keskustelu | muokkaukset) (siirsi sivun ”Grub” uudelle nimelle ”GNU GRUB”: pistetään ny oikeammalle nimelle tääkin)
Siirry navigaatioon Siirry hakuun
GRUB

GRUB käynnistämässä Ubuntua
Käyttöliittymä teksti
Lisenssi GPL
Kotisivu gnu.org/software/grub

Grub on nykyään suosituin Linux-jakelujen käyttämä käynnistyslatain eli vyöryttäjä, joka nimensä mukaisesti aloittaa käyttöjärjestelmän lataamisen tietokoneen käynnistyksen jälkeen.

Asetukset

Grubin asetusten sijainti vaihtelee. Joskus ne ovat tiedostossa /etc/boot/grub.conf (samassa hakemistossa olevaa menu.lst:tä käytetään monissa ohjeissa mutta se on itse asiassa vain symbolinen linkki kyseiseen grub.conf tiedostoon). Monet jakelut sijoittavat grubin asetuksia myös /boot/grub -hakemistoon.
Asetustiedosta on yleensä alussa muutamia perusasetuksia:

  • timeout ARVO — monenko sekunnin kuluttua valikon näyttämisestä ladataan oletusjärjestelmä ellei valikossa ole liikuttu
  • default ARVO — oletuksena ladattavan järjestelmän numero, ensimmäisenä asetustiedostossa oleva on numero 0, sitä seuraava 1 jne.
  • splashimage TIEDOSTO - Grubin taustakuvana oleva .xpm.gz-tiedosto. Esimerkki:
splashimage=(hd0,1)/boot/grub/splashimages/fiesta.xpm.gz


Käyttöjärjestelmät ja ytimet

Perusasetusten jälkeen on yleensä käyttöjärjestelmät/ytimet, jotka näytetään alkuvalikossa. Grub osaa ladata erilaisia käyttöjärjestelmiä, mutta eri järjestelmille vaaditaan omanlaiset käynnistysrivit.

GNU/Linux

title GNU/Linux
root (hdx,y)
kernel /kernel-x.y.z root=/dev/hdXY
initrd /initrd.img
  • Title-kohta kertoo valikossa näkyvän nimen, tässä tapauksessa GNU/Linux
  • Root-kohta kertoo levyaseman, josta ydin haetaan. Huomaa että Grubin nimeämiskäytäntö on erilainen kuin Linuxissa yleensä. Esimerkiksi ensimmäisen levyn ensimmäinen osio on (hd0,0)
  • Kernel kertoo polun ytimeen root-kohdassa mainitulla levyasemalla. Ytimen perään voidaan laittaa kernelille annettavia parametreja, tässä tapauksessa tieto siitä mitä juuriosiota käytetään (esim. /dev/hda1)
  • Initrd taas kertoo käytettävän initrd-kuvan sijainnin root-kohdassa mainitulla levyasemalla. Initrd:tä ei käytetä aina.


Microsoft Windows

title Windows
rootnoverify(hdx,y)
makeactive
chainloader +1

Title-kohta on selvä. Rootnoverifyssä annetaan samalla tavalla kuin Linuxinkin tapauksessa Windowsin levyasema. Tämän jälkeen kaksi viimeisintä riviä suorittavat Windowssin oman lataimen.

Samalla tavalla voi ladata myös muita käyttöjärjestelmiä joilla on oma käynnistyslatain, kuten OS/2.

Jos Windows (hdx) on omalla levyllä ja linux (hdz), tarvitaan seuraavat komennot :

map (hdz,y) (hdx,y)
map (hdx,y) (hdz,y)
rootnoverify(hdx,0)
chainloader +1

Kommentointi

Asetustiedostoon voi lisätä kommentteja mielensä mukaan, rivit jotka alkavat merkillä # ovat kommentteja eikä Grub ota niitä huomioon.

Asennus

Grub voidaan helposti asentaa komennolla grub-install /dev/levy, esimerkiksi asennettaessa Grub ensimmäisen kovalevyn käynnistyslohkoon, komento olisi:

grub-install /dev/hda

Komento vaatii, että tiedostossa /etc/mtab on tiedot liitetyistä tiedostojärjestelmistä. Tästä pitää kantaa huolta lähinnä asennettaessa Grubia chroot-ympäristössä, jolloin tiedostoa ei ole. Tällöin tiedosto voidaan luoda proc-järjestelmän perusteella seuraavaan tapaan:

grep -v rootfs /proc/mounts > /etc/mtab

Mikäli olet asentamassa grubia esimerkiksi levylle /dev/hda ja saat virheilmoituksen

/dev/hda1 does not have any corresponding BIOS drive.

voit yrittää päivittää grubin levytietokannan komennolla

grub-install --recheck /dev/hda

Mikäli grub-install ei jostain syystä suostu toimimaan esimerkiksi chrootin alla, voit silti asentaa Grubin käyttämällä grub-ohjelman sisäistä komentotulkkia.

Käynnistä grub-ohjelma komennolla

grub

ja anna sen jälkeen (esimerkiksi) komennot

grub> root (hd0,0)
grub> setup (hd0)
grub> quit

Ensimmäinen komento määrittää Grubin tiedostojen (/boot-hakemisto) sijainnin, toinen asentaa Grubin valitun kiintolevyn käynnistyslohkoon ja kolmas sulkee Grubin. Osioiden ja levyjen nimeämisessä käytetään Grubin omaa standardia, jossa esimerkiksi (hd0,0) tarkoittaa ensimmäisen kiintolevyn ensimmäistä osioita, (hd4) järjestelmän viidettä kiintolevyä ja (fd0) ensimmäistä levykeasemaa.

Linkkejä