navody:f7grub

Toto je starší verze dokumentu!


Hlavní stránka

GRUB (Grand Unified Bootloader) je tzv. zavaděč. To znamená, že Vám umožňuje při startu počítače zvolit OS, který má být spuštěn. GRUB tedy budete potřebovat v případě, že používáte vícero OS1). GRUB je v současné době nejrozšířenějším linuxovým zavaděčem a vytlačil dříve populární zavaděč LILO.

GRUB používá označení disků odlišné od značení popisovaného v kapitole Disky a mechaniky CD/DVD. Např. disk sda1 je pro účely zavaděče GRUB označován jako (hd0,0), disk sdb2 pak jako (hd1,1). Logika označování je tedy ta, že první parametr je pořadovým číslem disku, druhý je pořadovým číslem diskového oddílu, přičemž číslovaní začíná od 0.

V konfiguračním souboru menu.lst lze nastavit tzv. defaultní OS. Jedná se o OS, který GRUB automaticky spustí, jestliže uživatel nezvolí jiný systém.

cp /boot/grub/menu.lst /boot/grub/menu.lst_backup
gedit /boot/grub/menu.lst

V souboru menu.lst nalezněte řádek

...
default 0
...

Číslo, které následuje po default přepište na požadovanou hodnotu a soubor uložte. Toto číslo vyjadřuje pořadové číslo OS uvedeného v konfiguračním souboru menu.lst (číslování systémů opět začíná nulou).

GRUB čeká stanovený časový limit na zásah uživatele a po té automaticky spouští tzv. defaultní OS. Následující postup popisuje nastavení tohoto časového limitu.

cp /boot/grub/menu.lst /boot/grub/menu.lst_backup
gedit /boot/grub/menu.lst

V souboru menu.lst nalezněte následující řádek (číslo se může lišit)

...
timeout 3
...

Číslo, které následuje po timeout přepište na požadovanou hodnotu a soubor uložte.

Standardně nezobrazuje GRUB kompletní nabídku se všemi dostupnými OS, ale zobrazí pouze tzv. defaultní OS. Nabídka se všemi dostupnými OS se zobrazí teprve po stisku libovolné klávesy. Začínající uživatelé se tak domnívají, že jim Fedora přepsala původní OS. Jestliže chcete, aby GRUB zobrazoval kompletní nabídku OS automaticky, je třeba pozměnit konfigurační soubor menu.lst.

cp /boot/grub/menu.lst /boot/grub/menu.lst_backup
gedit /boot/grub/menu.lst

V souboru menu.lst nalezněte následující řádek

...
hiddenmenu
...

nahraďte ho řádkem

#hiddenmenu

a soubor uložte.

Konfigurační soubor menu.lst by měl být již v rámci instalace Fedory nastaven tak, aby umožňoval spuštění OS Windows. Následující postup popisuje ruční přidání položky OS Windows do konfiguračního souboru.

Předpokládejme, že /dev/sda1 je oddíl s nainstalovaným operačním systémem Windows.

cp /boot/grub/menu.lst /boot/grub/menu.lst_backup
gedit /boot/grub/menu.lst

Na konec souboru menu.lst přidejte řádek

title		Microsoft Windows
root		(hd0,0)
savedefault
makeactive
chainloader	+1

a soubor uložte.

Předpokládejme, že bootovací oddíl Fedory se nachází na disku /dev/sda1. Grafické pozadí je možné stáhnout přímo z Internetu

wget -c http://easylinux.info/uploads/fedora.xpm.gz
chmod 644 fedora.xpm.gz

popř. vytvořit z libovolného obrázku pomocí postupu uveřejněného v kapitole Konverze obrázku pro pozadí menu GRUB. Dále je třeba vytvořit adresář /boot/grub/images/, do kterého bude následně grafické pozadí přesunuto.

mkdir /boot/grub/images

Pak již pouze stačí přesunout soubor fedora.xpm.gz do adresáře /boot/grub/images/

cp fedora.xpm.gz /boot/grub/images/

a modifikovat původní konfigurační soubor.

cp /boot/grub/menu.lst /boot/grub/menu.lst_backup
gedit /boot/grub/menu.lst

V kofiguračním souboru menu.lst nalezněte sekci

# menu.lst - See: grub(8), info grub, update-grub(8)
#      grub-install(8), grub-floppy(8),
#      grub-md5-crypt, /usr/share/doc/grub
#      and /usr/share/doc/grub-doc/.
...

pod tuto sekci přidejte následující řádek

splashimage (hd0,0)/boot/grub/images/fedora.xpm.gz

a soubor uložte.

Předpokládejme, že obrázek, který má být překonvertován, je uložen v souboru wallpaper.pnp a výsledek konverze bude uložen v souboru fedora.xpm.gz.

convert -resize 640x480 -colors 14 wallpaper.png fedora.xpm && gzip fedora.xpm

V příkazové řádce spusťte

grub

nastavte šifrované heslo

grub> md5crypt

Password: ****** (Fedora)
Encrypted: $1$ZWnke0$1fzDBVjUcT1Mpdd4u/T961 (zakódované heslo)

a opusťte GRUB

grub> quit

Zazálohujte soubor menu.lst

cp /boot/grub/menu.lst /boot/grub/menu.lst_backup

a otevřete jej pomocí textového editoru

gedit /boot/grub/menu.lst

V souboru menu.lst nalezněte sekci

...
## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
#   password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret
...

a pod ní vložte následující řádek

password --md5 $1$ZWnke0$1fzDBVjUcT1Mpdd4u/T961 (výše uvedené zakódované heslo)

Dále v souboru menu.lst nalezněte sekci2)

...
title			Fedora, kernel 2.6.10-5-386 (recovery mode)
root			(hd0,1)
kernel		/boot/vmlinuz-2.6.10-5-386 root=/dev/hda2 ro single
initrd		/boot/initrd.img-2.6.10-5-386
savedefault
boot
...

a nahraďte ji následujícími řádky

#title		Fedora, kernel 2.6.10-5-386 (recovery mode)
#root			(hd0,1)
#kernel		/boot/vmlinuz-2.6.10-5-386 root=/dev/hda2 ro single
#initrd		/boot/initrd.img-2.6.10-5-386
#savedefault
#boot

Uložte soubor menu.lst.

V příkazové řádce spusťte

grub

nastavte šifrované heslo

grub> md5crypt
Password: ****** (Fedora)
Encrypted: $1$ZWnke0$1fzDBVjUcT1Mpdd4u/T961 (zakódované heslo)

a opusťe GRUB

grub> quit

Zazálohujte soubor menu.lst a otevřete jej v textovém editoru

cp /boot/grub/menu.lst /boot/grub/menu.lst_backup
gedit /boot/grub/menu.lst

V souboru menu.lst najděte řádek

...
password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/ (staré zakódované heslo)
...

nahraďte ho řádkem

password --md5 $1$ZWnke0$1fzDBVjUcT1Mpdd4u/T961 (nové výše uvedené zakódované heslo)

a soubor uložte.

Předpokládejme, že bootovací oddíl se nachází na disku /dev/sda3). Nejprve je třeba s použitím instalačního CD/DVD nabootovat do záchranného režimu4). Zavaděč obnovíte pomocí příkazu

grub-install /dev/sda

Následně stačí pouze dvakrát po sobě stisknout klávesy Ctrl + D, což má za následek restart počítače.

Zavaděč systému není možné zcela odstranit - vždy musí být nahrazen jiným. Pokud chcete místo GRUBu používat LILO (LInux LOader), který ve Fedoře již není defaultně obsažen, nadefinujte jeho parametry v /etc/lilo.conf a spusťte příkaz

lilo

z příkazové řádky.

Pokud chcete nahradit GRUB zavaděčem systému MS-DOS, pak nastartujte z diskety MS-DOS a do příkazové řádky zadejte

A:> fdisk /mbr

Pokud chcete nahradit GRUB zavaděčem systému NTLDR Windows XP, pak nastartujte z instalačního CD Windows XP do recovery módu a zadejte

fixmbr

Tím se zavaděč GRUB přepíše zavaděčem NTLDR a nebude nadále používán.

Poznámka: Pokud odstraňujete z disku s více operačními systémy Linuxovou instalaci, ze které byl nainstalován GRUB, nejdříve nahraďte zavaděč systému a pak teprve odstraňujte Linuxový diskový oddíl.

Zdroj: Recovery from a screwed MBR (Install GRUB)

Nabootujte z CD/DVD do záchranného módu a postupujte podle uvedeného návodu (síť není zapotřebí).

Po té, co záchranné CD/DVD nalezne Fedoru, stiskněte OK. Nepoužívejte příkaz chroot k získání práv superuživatele pro nalezenou instalaci.

Spusťte GRUB příkazem

grub

Pokud je adresář /boot součástí kořenového adresáře (tj. není umístěn na samostatném diskovém oddílu), pokračujte

find /boot/grub/stage1

V opačném případě zadejte do příkazové řádky

  find /grub/stage1

GRUB vám „odpoví“ označením diskového oddílu, na kterém se nachází5).

Nastavte práva superuživatele pro GRUB na diskový oddíl, který jste získali v předchozím kroku.

root (hd0,0) 

Zapište MBR na první disk

setup (hd0) 

Poznámka: GRUB vypíše řadu informací, které můžete ignorovat.

Vyjměte instalační CD/DVD z mechaniky a restartujte počítač.

Poznámka: Tento postup je také možné použít k správnému nastavení zavaděče GRUB při instalaci. Klasickým případem je situace, kdy se na prvním disku nachází Windows a na druhý jste nainstalovali Fedoru. V tomto případě Vám po instalaci zavaděč nastartuje pouze do shellu grub>.

Zavaděč systému GRUB umožňuje při startování systému editovat parametry jádra. Tímto způsobem lze zcela měnit nastavení GRUBu přes jeho vlastní interní shell.

Nastartování systému do textového režimu

Při bootovaní se zobrazí odpočítávání času do automatického startu systému. Stiskem libovolné klávesy odpočet přerušte. Zobrazí se nabídka linuxových jader popř. jiných OS. Vyberte kurzorvými klávesami jádro, které chcete startovat6) a stiskněte klávesu e (edit). Následuje menu s výpisem, který je podobný následujícímu

root (hd0,0)
kernel /vmlinuz-2.6.18-1.2789.fc6 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.18-1.2789.fc6.img

Najeďte na řádek začínající slovem kernel a opět stiskněte klávesu e. Nyní můžete editovat parametry kernelu. Přidejte na konec řádku mezeru a číslici 3. Po té stisněte Enter a b (boot). Tím systém nabootuje s pozměněnými parametry - v tomto případě do textového režimu.

Poznámka: Na obrazovce zavaděče máte vždy uvedenu nápovědu včetně seznamu nejpotřebnějších kláves.

Nastartování systému do jednouživatelského režimu

Jednouživatelský režim je režim, ve kterém systém nastartuje pouze základní služby a neumožní přihlásit se více než jednomu uživateli. Tímto uživatelem je superuživatel. Jednouživatelský režim slouží jako nouzový pro opravu nejrůznějších chyb (např. modifikace konfiguračních souborů).

Postupujte stejně jako v případě Nastartování systému do textového režimu, pouze nakonec řádku přidejte single namísto číslice 3.


1)
Klasickým případem je situace, kdy společně s Linuxem provozujete Windows.
2)
Konkrétní hodnoty, jako např. verze jádra nebo označení disku, nemusí přesně odpovídat.
3)
Pokud máte v systému pouze jeden disk, je tento disk zcela jistě označen jako sda.
4)
Po nabootování systému z instalačního CD/DVD zvolte položku Rescue installed system a potvrďte klávesou Enter.
5)
Jestliže se např. nachází na prvním diskovém oddílu prvního disku, bude na výpisu figurovat (hd0,0).
6)
Zpravidla se jedná o jádro s nejvyšším číslem.
  • Poslední úprava: 2022/11/14 11:10
  • (upraveno mimo DokuWiki)