Alglaadija GRUB
Sisukord
Sissejuhatus
GRUB (Grand Unified Bootloader, ingl. k. suur universaalne alglaadija) on tarkvara, mille abil toimub arvuti alglaadimine. GRUB kasutatakse peamiselt x86, st i386 ja amd64 platvormidel.
Alglaadimisprotsess näeb linuxis välja selline
- BIOS laeb ja käivitab alglaadesektori (MBR) mis asub ketta v partitsiooni alglaadsektoris.
- Alglaadesektoris asuv GRUB laeb ja käivitab tuuma (kerneli).
- Kernel ehk tuum käivitab protsessi init.
- init käivitab strdiskriptid, näiteks Debianil asuvad need /etc/rc.d/* ja Gentoos /etc/runlevels/boot/
- Skriptid teostavad ketaste kontrolli, ketaste ühendamise võrgu seadistamise jms.
- Seejärel toimub deemonite käivitamine ning muu häälestus.
- Kõige viimasena käivitab init getty-d mis võimaldavad kasutajal masinasse logida.
Linux'i alglaadimine
title Linux root (hd0,2) kernel /boot/tuum root=/dev/hda3 ro initrd /boot/ramdisk
Windowsi alglaadimine
title Windows root (hd0,0) makeactive chainloader +1
OpenBSD alglaadimine
Kui OpenBSD on paigaldatud nn fdisk'i partitsioonid (st ühte sellistest, mida võib olla kõvaketta kuni neli primaarset), siis sobib kasutada sarnaselt windowsile chainloaderi intstrumenti
title OpenBSD root (hd0,0) makeactive chainloader +1
Võrgust pxe'ga alglaadimine
vajaliku pxe toe grubile saab http://rom-o-matic.net/
kõigepealt tuleb valida NIC/ROM tüüp arvutis oleva võrgukaardi tüüp ja walida ROM output format milleks valisime LILO/GRUB/SYSLINUX loadable linux kernel format (.lkrn) ja siis salvestada get ROM käsuga copysime faili boot kausta
Siis konfida grub /boot/grub/menu.lst failist kuhu tuleb lisada grubi lõppu näiteks sellised andmed:
title Network Boot root (hd0,2) kernel /boot/eb-5.4.4-tulip.zlilo
GRUB prompti kasutamine
Menüüfaili laadimine
grub> configfile /boot/grub/menu.lst
Kui aga failinimi pole teada, siis on abiks kirjutada ning vajutada tab klahvi
grub> configfile (hd0,0)/
Tulemusena esitatakse nimekiri arvuti esimese kõvaketta esimesel partitsiooni (hd0,0) juurikal olevatest failidest. See asjaolu illustreerib fakti, et GRUB oskab kasutada ext3 failisüsteemi.
GRUB paigaldamine
# grub-install --recheck --no-floppy --root-directory=/katalooginimi hd0
Kusjuures /katalooginimi all on selline struktuur
/katalooginimi/boot /katalooginimi/boot/grub/menu.lst /katalooginimi/boot/vmlinuz-2.6.26-1-amd64 ..
Probleemid
- Kui nö /boot failisüsteemi tüüp fdisk partitsioonide nimekirjas ei ole Linux, on nt swap, siis on tõenäoline saada selline veateade
# grub-install --recheck --no-floppy hd0 Searching for GRUB installation directory ... found: /boot/grub The file /boot/grub/stage1 not read correctly.
Üksikasutaja reziimi (singel mode) modesse startimine (bootimine)
vajalik kui näiteks ununenud root parool
- Restardi arvuti ja oota kuni startimise protsess jõuab GRUBi aknani.
- Vali kerneli versioon mida hetkel kasutad (tõenäoliselt esimene grubi nimekirjas)
- vajuta klahv 'e', vali rida mis algab sõnaga 'kernel' ja vajuta uuesti 'e'
- lisa sõna "single" rea lõppu (kernel /vmlinuz-kernel-version ro root=LABEL=/ rhgb quiet single)
- vajuta enter
- ja vajuta 'b', et jätkata bootimise protsessi
Mõne aja pärast peaks ilmuma ette root kasutaja promt kus võib kirjutada juba käsu passwd parooli muutmiseks
Kui ikkagi küsitakse root parooli enne bash promti võib lisada kerneli reale veel init=/bin/bash single järele
GRUBi parooliga kaitsmine
Vajalik selleks, et poleks võimalik muuta kerneli BOOT võtmeid ja pääseda nii otse infole ligi.
- ava root kasutaja õigustes terminal
- sisesta käsk /sbin/grub-md5-crypt
- Sisesta parool millega soovid GRUBI kaitsta, mille järel ilmub MD5 hash
- ava /boot/grub/grub.conf ja lisa rea timeout=5 järele password --md5 password(HASH mille väljastas grub-md5-crypt)
Ehk tulemus peaks nägema välja sarnane
timeout=5 password --md5 $1$1OBii1$x78zK/tZB.VMoXzEzcg7x.
Peale rebooti on vaja vajutada P ja kirjutada parool, et muuta kerneli boot seadeid.
Lisamaterjalid
- Kodulehekülg - http://www.gnu.org/software/grub/
- man bootparam