GRUB (GNU) — käynnistyslataaja, monikäynnistys ja ytimen valinta
GRUB (GNU) – tehokas käynnistyslataaja monikäynnistykseen: valitse käyttöjärjestelmä, ytimen versio ja mukauta käynnistysparametreja helposti.
GNU GRUB ("GRUB" lyhyesti) on GNU-projektin käynnistyslatauspaketti. GRUB on pääesimerkki Multiboot-määrittelystä, jonka avulla käyttäjä voi pitää tietokoneessaan useampaa kuin yhtä käyttöjärjestelmää samanaikaisesti ja valita, mikä niistä käynnistetään tietokoneen käynnistyessä. GRUB:ia voidaan käyttää valitsemaan tietyn käyttöjärjestelmän osioissa käytettävissä olevista eri ydinkuvista sekä välittämään käynnistysparametreja tällaisille ytimille.
Mikä GRUB on ja miksi sitä käytetään
GRUB on monipuolinen käynnistyslataaja, jonka tavoitteena on tehdä järjestelmän käynnistämisestä joustavaa ja hallittavaa. Sen keskeisiä tehtäviä ovat:
- Useiden käyttöjärjestelmien (multiboot) tukeminen ja valinta käynnistysvalikosta.
- Erilaisten Linux-ydinten (vmlinuz) ja initramfs-tiedostojen valinta ja käynnistäminen.
- Käynnistysparametrien välittäminen ytimelle (esim. root=/dev/sda1, rw, quiet, splash).
- Ketjutus (chainloading) muiden käynnistyslataajien, kuten Windowsin bootloaderin, käynnistämiseksi.
- Monipuolinen komentorivikäyttö ja mahdollisuus asentaa lisämoduuleja tiedostojärjestelmien, verkon tai RAIDin tukemiseksi.
GRUB-versiot: Legacy ja GRUB 2
GRUBilla on historiallisesti kaksi laajempaa versiota:
- GRUB Legacy (vanhempi versio): käytetty aiemmin, konfiguroitiin pääasiassa menu.lst-tiedostolla. Nykyään harvinaisempi.
- GRUB 2 (nykyinen pääversio): modulaarinen, dynaaminen ja laajemmin käytössä. GRUB 2 käyttää konfiguraation luomiseen yleensä /etc/default/grub, /etc/grub.d/-hakemistoa ja lopullista konfiguraatiotiedostoa /boot/grub/grub.cfg, joka yleensä generoidaan komennolla grub-mkconfig tai jakelakohtaisella update-grub-komennolla.
Keskeiset konfiguraatiotiedostot ja komennot
- /boot/grub/grub.cfg – automaattisesti generoitu GRUBin pääkonfiguraatio (älä muokkaa tätä suoraan, vaan muokkaa lähdetiedostoja ja regeneroi tiedosto).
- /etc/default/grub – yleiset asetukset kuten GRUB_TIMEOUT, GRUB_DEFAULT, ja kernelin käynnistysparametrit (GRUB_CMDLINE_LINUX).
- /etc/grub.d/ – skriptit, jotka tuottavat eri osiot grub.cfg:hen (esim. 10_linux, 30_os-prober).
- Tärkeimpiä komentoja: grub-install (asentaa GRUBin MBR:ään tai EFI-osioon), grub-mkconfig -o /boot/grub/grub.cfg (luo konfiguraation), ja jakeluissa usein update-grub (wrapper-komento).
UEFI vs. BIOS ja Secure Boot
Nykykoneissa GRUB voi toimia sekä perinteisessä BIOS/MBR-ympäristössä että UEFI-ympäristössä:
- BIOS: tavallisesti GRUB asennetaan suoraan levyn MBR:ään (grub-install /dev/sda).
- UEFI: GRUB asentuu EFI System Partitioniin (ESP). Komentoja kuten grub-install --target=x86_64-efi --efi-directory=/boot/efi käytetään. Usein käytössä on myös shim-bootstrap Secure Boot -yhteensopivuuden säilyttämiseksi.
Pelastus, vianmääritys ja palautus
Jos GRUB ei käynnisty oikein, tavallisia keinoja korjaukseen ovat:
- Käynnistä live-USB:ltä, liitä järjestelmän juuriosio ja chroottaa siihen; asenna GRUB uudelleen komennolla grub-install ja regeneroi konfiguraatio grub-mkconfig.
- GRUBin pelastus-tilat: grub rescue ja grub> tarjoavat komentorivi- ja diagnostiikkamahdollisuuksia esimerkiksi kadonneiden moduulien tai väärän root-määrityksen korjaamiseksi.
- Tarkista, että oikea levy/osio on merkitty käynnistyslaitteeksi (BIOS/UEFI-asetukset) ja että ESP on oikein liitetty UEFI-järjestelmissä.
Käytännön toiminnot käyttäjälle
- Voit muokata käynnistysvalikon kohteita väliaikaisesti painamalla GRUB-valikossa e (edit) ja muokkaamalla kernel-riviä ennen käynnistystä.
- GRUBin ajat (timeout) ja oletusvalinnan voi asettaa /etc/default/grub-tiedostossa muuttamalla GRUB_TIMEOUT ja GRUB_DEFAULT, sitten suorittamalla update-grub tai grub-mkconfig.
- Windowsin tai toisen käynnistyslataajan käynnistäminen tapahtuu usein ketjutuksella (chainloader), jonka GRUB osaa tehdä automaattisesti osapohjaisen tunnistuksen avulla (os-prober).
Laajennukset ja ulkoasu
GRUB tukee teemoja, taustakuvia ja kieliasetuksia. Lisäksi se on modulaarinen: tuen eri tiedostojärjestelmille, verkko-/PXE-käynnistykselle ja muille ominaisuuksille voi lisätä moduuleilla.
Yhteenveto ja hyvät käytännöt
- Pidä /etc/default/grub ja /etc/grub.d/-asetukset hallinnassa ja regeneroi lopullinen /boot/grub/grub.cfg aina muutosten jälkeen.
- Varmuuskopioi tärkeät tiedostot ja ota muistiin millä komennoilla GRUB asennettiin, varsinkin balkoneilla (UEFI vs BIOS).
- Käytä jakelun tarjoamia työkaluja (esim. update-grub) kun mahdollista — ne huomioivat jakelukohtaiset erot.
GRUB tekee monikäynnistyksen hallinnasta joustavaa ja tarjoaa keinoja hallita ydinkuvien valintaa, käynnistysparametreja sekä vianmääritystä. Sen ymmärtäminen helpottaa järjestelmän ylläpitoa erityisesti silloin, kun koneessa on useita käyttöjärjestelmiä tai erikoiskokoonpanoja.
Toiminta
Kun tietokone kytketään päälle, tietokoneen BIOS etsii ensisijaisen käynnistyslaitteen (yleensä tietokoneen kiintolevy) ja lataa alustavan käynnistysohjelman MBR-tietueesta (master boot record), joka on kiintolevyn ensimmäiset 512 tavua, ja siirtää sitten ohjauksen tälle koodille.
MBR sisältää GRUB-vaiheen 1. MBR:n pienen koon vuoksi vaihe 1 lataa vain GRUBin seuraavan vaiheen (joka voi olla fyysisesti muualla levyllä). Vaihe 1 voi joko ladata suoraan vaiheen 2 tai vaiheen 1.5: GRUB-vaihe 1.5 sijaitsee kiintolevyn ensimmäisillä 30 kilotavulla heti MBR:n jälkeen. Stage 1.5 lataa Stage 2:n.
Kun GRUB Stage 2 vastaanottaa ohjauksen, se esittää käyttäjälle käyttöliittymän, josta hän voi valita käynnistettävän käyttöjärjestelmän. Tämä tapahtuu yleensä graafisen valikon muodossa, mutta jos tämä ei ole käytettävissä tai käyttäjä haluaa tarkempaa ohjausta, GRUBilla on oma komentorivi, jossa käyttäjä voi määrittää käynnistysparametrit manuaalisesti. GRUB voidaan myös asettaa lataamaan tietty ydin automaattisesti tietyn aikakatkaisuajan jälkeen.
Kun käynnistysvaihtoehdot on valittu, GRUB lataa valitun ytimen muistiin ja siirtää ohjauksen ytimelle, joka jatkaa käynnistystä. Tässä vaiheessa GRUB voi myös siirtää käynnistysprosessin hallinnan toiselle lataajalle käyttämällä ketjulatausta sellaisten käyttöjärjestelmien, kuten Windowsin, osalta, jotka eivät tue Multiboot-standardia. Tällöin GRUB on tallentanut kopiot toisen järjestelmän käynnistysohjelmista; ytimen sijasta toinen järjestelmä ladataan ikään kuin se olisi käynnistetty MBR:stä. Tämä voi olla vielä toinen käynnistyksenhallinta, kuten Microsoftin käynnistysvalikko, joka mahdollistaa muiden kuin Multiboot-käyttöjärjestelmien valinnan. (Tämä käyttäytyminen on usein automaattista, kun nykyaikaiset Linux-jakelut asennetaan olemassa olevien Windows-järjestelmien päälle, jolloin käyttäjä voi säilyttää alkuperäisen käyttöjärjestelmän ilman muutoksia, myös järjestelmissä, joissa on useita Windows-versioita).

GNU GRUB MBR-partitioiduilla kiintolevyillä

GNU GRUB GPT-partitioiduilla kiintolevyillä

boot.img-tiedoston koko on 446 tavua, ja se kirjoitetaan MBR:ään (sektori 0). core.img-tiedosto kirjoitetaan MBR:n ja ensimmäisen osion väliin jääville tyhjille sektoreille, jos niitä on käytettävissä (vanhasta tekniikasta johtuen ensimmäinen osio alkaa sektorilta 63 sektorin 1 sijasta, mutta tämä ei ole pakollista). /boot/grub-hakemisto voi sijaita erillisessä osiossa tai /-osastossa.
Aiheeseen liittyvät sivut
- Käynnistyslataajien vertailu
- bootman
- Das U-Boot Universal Bootloader
- EasyBCD
- elilo
- GRLDR
- LILO
- Ncurses ja Ncurses-paketti Windowsille GnuWin32:ssa
- NTLDR
- SILO
- BCD
- xOSL Laajennettu käyttöjärjestelmän lataaja
Kysymyksiä ja vastauksia
K: Mikä on GNU GRUB?
A: GNU GRUB on GNU-projektin käynnistyslatauspaketti.
K: Mitä GRUB tarkoittaa?
V: GRUB on lyhenne sanoista "GNU GRUB".
K: Mitä Multiboot-spesifikaatio antaa käyttäjälle mahdollisuuden tehdä?
V: Multiboot Specification antaa käyttäjälle mahdollisuuden käyttää tietokoneessaan useampaa kuin yhtä käyttöjärjestelmää samanaikaisesti ja valita, mikä niistä käynnistetään tietokoneen käynnistyessä.
K: Mihin GRUBia voidaan käyttää?
V: GRUBia voidaan käyttää valitsemaan tietyn käyttöjärjestelmän osioissa käytettävissä olevista eri ydinkuvista sekä välittämään käynnistyksen aikaisia parametreja kyseisille ytimille.
K: Onko GRUB ainoa saatavilla oleva käynnistyslatauspaketti?
V: Ei, saatavilla on muitakin käynnistyslatauspaketteja.
K: Voiko GRUBia käyttää vain yhden käyttöjärjestelmän kanssa tietokoneessa?
V: Kyllä, GRUBia voidaan käyttää vain yhden tietokoneen käyttöjärjestelmän kanssa.
K: Mikä on GRUBin käytön tärkein etu?
V: GRUBin käytön tärkein etu on se, että sen avulla käyttäjä voi käyttää tietokoneessaan useita käyttöjärjestelmiä ja valita, mikä niistä käynnistetään tietokoneen käynnistyessä.
Etsiä