Instalace GRUBu snadno a rychle. Doplněk k referátu předneseném na Linuxovém semináři MFF UK.
Copyright © 2000 Petr Čech
Tento text můžete distribuovat a modifikovat podle požadavků GNU General Public Licence verse 2.
Pro používán každého operačního systému ho musíme nejdříve spustit. Pro
spuštění Linuxu se většinou používá program lilo, který naleznete
v (asi) každé distribuci jako standardní nástoj pro spuštění. Lilo má však
některá omezení a nejvetším z nich je, nutnost jej spustit po každé změně v
jádře nebo případných spouštěcích volbách. Toto a další omezení odstraňuje
grub.
Nejjednoduší je nainstalovat přímo balík pro vaši distribuci. Pro uživatele
Debianu je připraven jako
balík. Balíček grub je ve versi 2.2 (potato) a samozřejmě i ve
vývojové versi woody. Tam je novejší verse a vřele doporučuji použít ji.
Pokud nemáte nebo nechcete používat balíček, zdrojové kódy naleznete na
ftp://alpha.gnu.org/gnu/grub/
nebo v CVS na adrese
:pserver:anoncvs@subversions.gnu.org:/cvs
modul grub s prázdným heslem.
Programu používá GNU autoconf, takže přeložení by nemělo činit problém. Po
nainstalování vytvořte adresář /boot/grub/ a skopírujte do něj
soubory stage1 a stage2. Pokud hodláte více
experimentovat s grubem, můžete zkopírovat také tzv. stage1.5
soubor, podle filesystému, na kterém se nachází stage2, typicky
ext2 (e2fs_stage1.5), ale grub zvládá i reiserfs,
fat, minix a ffs. To umožní změnit soubor stage2
bez spuštění grubu.
Nainstalování grubu na disketu je velmi jednoduché. Stačí
nakopírovat následujícím způsobem dva soubory.
# cd /boot/grub
# dd if=stage1 of=/dev/fd0 bs=512 count=1
# dd if=stage2 of=/dev/fd0 bs=512 seek=1
Toto samozřejmě zničí obsah diskety. Nyní můžete grub kdykoli z
této diskety nabootovat.
Ke korektnímu nainstalování na disk není od verse 0.5.93 potřeba nic jiného,
než spustit grub a zadat (například) tyto příkazy:
grub> root (hd0,4) # == /dev/hda5
grub> setup (hd0) # == /dev/hda
grub> quit
Toto nastaveni předpokládá, že máte Linux naistalovaný na
/dev/hda5 a grub chcete umístit do MBR. Pouštěcí
část lze samozřejmě umístit i do boot sektoru primary partition, nebo i
logického disku. To ovšem předpokládá, že používáte ještě jiný boot-loader,
který je schopen na takovém místě grub spustit. grub
označuje disky trochu jinak než Linux. Popis naleznete v další části.
Pokud máte správně vytvořený konfigurační soubor menu.lst, bude
při startu grubu načten a zpracován. Formát souboru a
konfigurařní direktivy jsou popsány v dále.
Diskety se označují (fd<číslo>), tedy téměř shodně s Linuxem.
Dalším zařízením, které grub podporuje je síť. Pokud
grub nalezne podpoovanou síťovou kartu a povede se získání
odpovědi z rarp/bootp/dhcp serveru, je k dispozici zařízení (nd).
Konečně pevné disky se označují jako
(hd<číslo1>[,<číslo2>]), kde
číslo1 je číslo disku podle BIOSu a volitelně číslo2 je
označení partition (oddílu). Obě čísla se počítají od 0. Tedy např.
/dev/hda3 je (hd0,2) a /dev/hda je (hd0). Seznam
detekovaných disků lze získat při bootu, zadáním třeba root (hd a
stiskem klávesy <TAB>.
Začněme trochu obsáhlejším příkladem:
#
# Boot menu configuration file
#
color white/blue blue/light-gray
# standard location of configuration file and boot images
root (hd0,4)
# Boot automatically after 5 secs.
timeout 5
# By default, boot the first entry.
default 0
# Fallback to the second entry.
fallback 1
# Password for command line editing
password s3kr3t
# For booting Windows 98
title Windows 98 boot menu
root (hd0,1)
chainloader +1
# For DOS booting
title DOS
root (hd0,0)
chainloader +1
# For booting Linux
title GNU/Linux 2.2.16
kernel /boot/vmlinuz-2.2.16 root=/dev/hda5 reboot=warm
Význam jednotlivých voleb by měl být zřetelný z komentářů, ale přesto si je
vysvětlíme. Pro detailnější popis konfigurace doporučuji přečíst info stránky
dodávané s grubem.
Příkaz color nastavuje barvu bootovacího menu. Od verze 0.5.94 lze používat jména. V předchozích verzích se psala jen čísla. První složkou je barva popředí a za lomítkem je uvedena barva podkladu. Druhým parametrem je barva tzv. "klády", jinak také kurzoru na výběr položek.
Volba root říká, kde se mají hledat soubory s neuvedenou plnou cestou (bez (hdX,Y)).
Prodlevu před startem defaulní volby nastavíme příkazem timeout.
Příkazy default a fallback nastavují primární a žáložní volbu pro automatické spuštění. Prodleva se udává v sekundách.
Příkazem password zamezíte změně natavených parametrů při startu. Pokud vložíte správné heslo, bude uvolněna editace. Ve verzi 0.5.96 je rozšířena možnost zaheslování i na spuštění nastavené volby.
Příkaz title uvozuje vlastní definici položky v menu a její název.
Následující příkazy až do dalšího příkazu title nebo do konce
souboru patří k tomuto návěští. Asi nejdůležitějším příkazem, který se zde
může nacházet je kernel. Tento příkaz říká, co se má spustit a s
jakými parametry. Zde nutno podotknout, že grub automaticky
přidává parametr mem= při spouštění Linuxového jádra, pokud již
není uveden.
V dalším návěští vidíme použití příkazu root, který určuje oddíl, spolu s příkazem chainloader, který udává offset boot-loaderu v partition. Takto lze spustit prakticky kterýkoli operační systém, pokud má správně nastaven boot sektor.
Příkazy občasného použití - počkání po vybrání příkazu (pause), initrd pro určení startovacího ramdisku (jak jinak, že).
cech@debian.org