Contents |
Tento článek popisuje úpravu parametrů GRUBu (verze 1 - tzv. "Grub Legacy") pomocí Terminálu.
UPOZORNĚNÍ - tento návod se stává zastaralým!
Od verze Ubuntu 9.10 (Karmic) je v nových instalacích použita nová verze GRUB2. Následující návod tudíž platí jen pro systémy starší (nebo na 9.10 aktualizované z Jaunty (9.04). Pro novější instalace hledejte informace pod heslem GRUB2.
Zvýšení doby čekání GRUBu
Pokud se potřebujete dostat do GRUB menu, musíte stisknout ESC poté, co nastartuje. Ve výchozím stavu musíte zmáčknout ESC velice rychle. Pro zvýšení této doby, editujte soubor /boot/grub/menu.lst, například příkazem
gksudo gedit /boot/grub/menu.lst
a zvyšte počet sekund na řádku se slovem timeout. Jinou možností je nechat si menu zobrazit vždy po startu počítače. To se udělá zakomentováním řádku hiddenmenu přidáním # na začátek řádku.
Pokud instalátor Ubuntu nalezne další nainstalované operační systémy na vašem počítači během instalace, GRUB menu se bude ve výchozím stavu zobrazovat, a doba čekání bude zvýšena, takže výše uvedený krok nebude potřeba.
Změna výchozího operačního systému
Implicitně GRUB startuje Ubuntu jako výchozí systém. Pokud toto chcete změnit na jiný operační systém, navštivte GRUB/Změna výchozího OS
Obnova GRUBu
Pokud vám instalace Windows přepsala GRUB svým zavaděčem a nevidíte nyní linuxové operační systémy, čtěte GRUB/Obnova.
Přidání Windows
Pokud Windows nainstalujete až po Ubuntu, budete jej chtít přidat do seznamu GRUBu. Čtěte GRUB/Přidání Windows.
Seznam jader pomocí Automagic
Ubuntu používá nástroj jménem update-grub pro modifikaci /boot/grub/menu.lst. Automaticky detekuje všechna dostupná jádra (kernely) ve vašem adresáři /boot a aplikuje různá globální nastavení ke každému z nich. Kdykoli nainstalujete nové jádro ze zdrojů, update-grub je spuštěn aktualizaci nastavení GRUBu.
Významné části souboru menu.lst, na které se update-grub dívá, jsou řádky mezi značkami ### BEGIN AUTOMAGIC KERNELS LIST a ### END DEBIAN AUTOMAGIC KERNELS LIST. Komentáře předcházejí alespoň dva #, např. ## toto je komentář. Globální nastavení jsou za jedním #, např. # groot=(hd0,4). Nejčastější změna je pravděpodobně změna právě groot volby. Změnte ji, pokud /boot je uložen na jiném oddílu, než /. Podívejte se na příslušnou sekci této stránku pro více informací ohledně různých /boot oddílech. Další běžnou změnou je volba kopt=, což jsou parametry jádra aplikované na všechny jádra v menu.lst.
Nastavení parametrů jádra
V /boot/grub/menu.lst, naleznete takovéto řádky:
# kopt=root=/dev/sda1 ro
Toto vypadá jako komentář, ale neodstraňujte # ze začátku.
DŮLEŽITÉ: grub vidí tento řádek jako komentář a ignoruje ho, ale je použit jako konfigurační parametr programem update-grub pro vygenerování obsahu souboru, který bude grub číst při spuštění počítače. Pokud potřebujete dodatečné parametry jádra (například, pokud někdo vás požádal o spuštění systému s určitými parametry pro testování problému), přidejte je na konec tohoto řádku, například přidejte noapic:
# kopt=root=/dev/sda1 ro noapic
Po editaci souboru, spusťte:sudo update-grub
Pro zajímavost, můžete také přidat dočasně k jádru parametr také v GRUB menu, stisknutím 'e' a editováním řádku s jádrem.
Pokud /boot je na jiném oddílu
Pokud /boot je připojen na jiném oddílu a použijete update-grub, můžete se dostat do problémů. Jednou možností nápravy je použít grub-install, který je nezávisle na distribuci nainstaluje grub manažeru do zaváděcího sektoru disku.
sudo grub-install --root-directory=/boot /dev/sda
Toto je pravděpodobně méně žádoucí, protože update-grub je velmi dobrý v nastavení všeho pořádně, takže by měl být použit místo toho.
Další možností nápravy je vytvoření symbolického odkazu /boot sám na sebe:
cd /boot sudo ln -s . boot
Vysvětlením je, že když GRUB nabíhá, kouká se na jakýkoliv oddíl, kde je nainstalován. update-grub (a grub-install) předpokládá, že vše je v /boot. Když /boot je na stejném oddílu jako /, tak je vše OK, protože menu.lst bude v /boot/grub. Když je /boot na odlišném oddílu, tak GRUB vidí /boot jako / (tudíž ono '--root-directory' výše). Přidáním symbolického odkazu, když hledá /boot/grub, tak to tam bude. Vytvořením symbolického odkazu jste zavedli smyčku v systému souborů, což může způsobovat problémy při používání určitých voleb u cp, mv, atd.
Změna disku, na který je GRUB nainstalován
- Zvažte následující problém: Máte dva pevné disky, jeden SATA (/dev/sda), druhý PATA (/dev/hda). Váš BIOS si myslí, že PATA disky by měli vždy být upřednostněny před SATA disky, ale vy chcete zavést systém ze SATA disky. GRUB umí tento problém obejít.
Nalezení groot
Nejprve zjistěte, jak GRUB pojmenovává disky. Toto je uvedeno v souboru /boot/grub/device.map. Tam naleznete tabulku s jmény v GRUB-stylu (např. (hd0)) a jména v Linux-stylu (např. /dev/hda/). Také potřebujete vědět, na kterém disku a oddílu je /boot. Pro zjištění kde je /boot, použijte df:
df /boot
Toto vám řekne v Linux-stylu jméno oddílu kde je /boot. Poté jednoduše porovnejte se jménem v GRUB-stylu v device.map. Toto je, co by měl být groot.
Příklad:
$ df /boot Filesystem Size Used Avail Use% Mounted on /dev/sda5 46M 15M 30M 33% /boot $ cat /boot/grub/device.map (hd0) /dev/hda (hd1) /dev/sda
Takže groot by měl být (hd1,4) (všimněte si, že GRUB čísla oddílů jsou vždy o jedna menší než Linuxová čísla). Takže v /boot/grub/menu.lst,
## default grub root device ## e.g. groot=(hd0,0) # groot=(hd1,4)
Nalezení kořene jádra
Další část puzzle je nalezení, kde je /. Jednoduše zjistěte kde máte / připojené.
df /
Toto je, co by měl být root v kopt.
Příklad:
$ df / Filesystem Size Used Avail Use% Mounted on /dev/sda3 14G 8.3G 5.0G 63% /
/ je na /dev/hda3. Protože toto bude předáno jádru, není tady důvod převádět to do notace GRUBu. Volba 'ro' způsobuje, že jádro připojí oddíl jen pro čtení zpočátku; později bude disk připojen i pro zápis. Toto je většinou děláno, aby fsck mohl být spuštěn na / při spouštění.
## default kernel options ## default kernel options for automagic boot options ## If you want special options for specifiv kernels use kopt_x_y_z ## where x.y.z is kernel version. Minor versions can be omitted. ## e.g. kopt=root=/dev/hda1 ro # kopt=root=/dev/sda3 ro
Shrnuto, groot značí kde je /boot, a znamená jako co vidí GRUB tento disk. kopt=root značí kde je /, a znamená jako co vidí jádro tento disk.
Obrázek pozadí
GRUB dovoluje, aby byl v pozadí menu zobrazen obrázek. Můžete nějaké obrázky získat instalací balíku grub-splashimages, nebo můžete použít libovolný vlastní. Obrázky musí mít velikost 640x480 pixelů, a nesmí obsahovat více než 14 barev, a musí být v gzipovaném xpm formátu. Program GIMP může být použit na změnu velikosti (Obrázek -> Velikost obrázku...), snížení počtu barev (Obrázek -> Režim -> Indexované...), a umí ukládat do .xpm.gz souborů.
Manuální konfigurace
- Po vytvoření obrázku, přidejte takovýto řádek
splashimage=(hd0,4)/boot/grub/splash.xpm.gz
do vašeho /boot/grub/menu.lst souboru. Užitečný trik je vytvořit symbolický odkaz pojmenovaný splash.xpm.gz na váš aktuální obrázek.
cd /boot/grub sudo ln -s můj_obrázek.xpm.gz splash.xpm.gz
GRUB načte obrázek po startu z disku; není uložen v MBR. Pokud použijete symbolický odkaz, nebudete muset editovat menu.lst, pouze změníte symbolický odkaz. Ujistěte se, že symbolický odkaz neukazuje na soubor na jiném oddílu, zejména pokud máte /boot na odděleném oddílu.
Tady je obrázek GNU (autor Peter Gerwinski): GRUB/gnu-head.xpm.gz
Obrázek pomocí update-grub
Příkaz update-grub automaticky vybere soubor /boot/grub/splash.xpm.gz a nastaví menu.lst soubor pro vás. Dá si pozor na správné pojmenování disku a oddílu (nepotřebujete pak psát (hd0,4)).
sudo apt-get install grub-splashimages sudo ln -s /boot/grub/splashimages/můj_obrázek.xpm.gz /boot/grub/splash.xpm.gz sudo update-grub
Poznámka: nahraďte můj_obrázek.xpm.gz vybraným obrázkem který chcete.
Odkazy
Vytvoření spouštěcí diskety
Můžete pomocí GRUBu vytvořit spouštěcí disketu. Navštivte /Spouštěcí disketa.
Spouštění systému po síti
- Pokud používáte LTSP nebo Edubuntu, můžete chtít zavést systém přes vaši síťovou kartu.
Specifické síťové karty potřebují specifické ROM pro spouštění. Pro zjištění kterou potřebujete, spusťte lsmod a hledejte po vaší kartě. Poté jděte na www.rom-o-matic.com a stáhněte si příslušné ROM.
Editujte /boot/grub/menu.lst a přidejte následující před značku ### BEGIN AUTOMAGIC KERNELS LIST nebo za značku ### END DEBIAN AUTOMAGIC KERNELS LIST, jinak vaše změny budou vymazány bezpečnostními aktualizacemi, atd.
title LTSP root (hd0,2) kernel /boot/(ROM které získáte z rom-o-matic)
Odkazy
Oficiální GNU GRUB manuál má kapitolu "DOS/Windows" s radami jak nastavit systémy s více operačnímy systémy.
Tato stránka obsahuje hodně informací o GRUBU (a další obecné informace).
Autor návodu: KamilPáral