GRUB (rescue mode)
Do rescue mode (záchranného režimu) se GRUB2 dostane tehdy, když z nějakého důvodu nemůže pokračovat v činnosti. To se může stát z následujících příčin:
- Při instalaci GRUB2 byl chybně nastaven prefix nebo kořen ( "root" )
- V datovém bloku pro "first stage" chybí modul, potřebný ke zpřístupnění adresáře s dalšími moduly, nutnými pro zavedení systému
- Chybí obsah souboru grub.cfg
Základní příkazy
GRUB2 v záchranném režimu ( mode rescue ) má dostupnou pouze základní sadu příkazů, přesto s jejich pomocí můžete nejenom nalézt odpověď na otázku proč se váš systém nespouští, ale i případnou chybu provizorně opravit a systém spustit.
- set
- je-li spuštěn bez parametrů, vypíše seznam aktuálně nastavených proměnných. Jeho prostřednictvím lze také hodnoty proměnných přenastavit
- ls
- Tento příkaz je zjednodušená varianta příkazu, který je jinak součástí modulu
ls
, provádí vylistování lokálních disků a jejich obsahu, za předpokladu, že jsou natažené moduly, které to umožňují - insmod
- umožňuje natáhnout další moduly. Příkaz rmmod který umožňuje naopak jejich odebírání je stejně jako příkaz lsmod součástí modulu
minicmd
. Tzn. že v rescue mode nemusí být dostupný!
Tuto základní paletu příkazů lze rozšířit pomocí dalších modulů přidaných do do prvního stupně zavaděče (first stage).
Krok první - kontrola proměnných
Chybné nastavení proměnných prefix a root při instalaci GRUB2 je nejčastějším zdrojem problémů při zavádění systému!
grub rescue> set
prefix=(hd96)/boot/grub/i386-pc
root=hd96
|
prefix
Pro GRUB2 je nejdůležitější nastavení proměnné prefix. Prefix obsahuje cestu do adresáře s dalšími moduly, bez kterých může být zavedení systému nemožné.
Není-li hodnota proměnné prefix nastavena správně, tak sice lze moduly zavést, ale při jejich natahování je nutné uvést plnou cestu - tj. včetně blokového zařízení a přípony.
Je-li prefix v pořádku, stačí příkazu insmod předat pouze název modulu bez přípony.
root
Druhá proměnná root obsahuje adresu zařízení, které má GRUB2 považovat za výchozí. Není-li tato proměnná nastavena správně, lze sice systém zavést, ale při zavádění musí být před cestou k jádru a ramdisku uvedena i adresa zařízení, včetně příslušného diskového oddílu.
Krok druhý - kontrola dostupných zařízení
Když spustíte příkaz ls bez parametru, uvidíte obvykle podobný výpis, jako je ten na níže uvedeném příkladu...
grub rescue> ls
(hd0) (hd1)
|
error: unknown filesystem
GRUB2 v současné době (verze 1.99~rc3) má k dispozici jak moduly pro většinu běžně používaných souborových systémů, tak i moduly pro různé typy tabulek rozdělení diskových oddílů, i vyšší logické vrstvy (SW RAID, LVM). Jenže prostor pro first stage je většinou omezený a tím pádem tato část zavaděče obsahuje pouze nezbytně nutné moduly.
Tato chybová hláška signalizuje, že zařízení u kterého se pokoušíme o výpis..
- buď žádný souborový systém neobsahuje
- nebo pro jeho souborový systém chybí příslušný modul
- nebo je zařízení jenom nižší vrstvou pro RAID pole, či LVM skupinu
grub rescue> ls (hd2)
error: unknown filesystem
|
U blokových zařízení, které jsou součástí RAID pole, nebo LVM skupiny, záleží také na pořadí v jakém jsou zaváděny moduly pro jednotlivé abstraktní vrstvy.
V případě, že je operační systém nainstalován nad RAID polem, musí být nejdřív natažen modul pro příslušný typ RAID pole a teprve až GRUB2 pole rozpozná, může být zaveden modul pro další vrstvu.
error: bad filename
grub rescue> ls (system-boot)
error: bad filename
|
grub rescue> ls (system-boot)/
./ ../ lost+found/ grub/
|
error: not a regular file
grub rescue> cat (hd0,msdos1)/grub
error: not a regular file
|
Krok třetí - nastavení prefixu a zavedení modulu
Krok čtvrtý - zavedení systému
grub rescue> insmod linux
grub rescue> linux /vmlinuz-xxxx root=/dev/sda1 ro single
grub rescue> initrd /initrd.img-xxxx
grub rescue> boot
|
Další proměnné
- pager
- Stránkování výpisu. Je-li nastaveno bez konkrétní hodnoty, posouvá se výpis vždy o celou obrazovku. Jinak v závislosti na nastavené hodnotě.
- menu_color_normal
- menu_color_highlight
- gfxmode
- nastavení rozlišení pro zavedení modulu ...
- default
- pořadí výchozí bootovací položky v menu grub.cfg
- lang=cs_CZ
- nastavení pro locales
- locale_dir
- nastavení adresáře s lokalizačními soubory. Obvykle podadresář
locale
v prefixu. Nastavení cesty musí být plné, tj. včetně identifikace blokového zařízení.