V tomto tutoriálu se naučíte aktualizovat grub na Ubuntu nebo jakékoli jiné distribuci Linuxu. Také se dozvíte něco o tom, jak tento proces aktualizace grub funguje.
Jak aktualizovat grub
Ubuntu a mnoho dalších linuxových distribucí poskytuje šikovný nástroj příkazového řádku s názvem update-grub.
Chcete-li aktualizovat grub, vše, co musíte udělat, je spustit tento příkaz v terminálu pomocí sudo.
sudo update-grub
Měli byste vidět výstup jako tento:
[email protected]:~$ sudo update-grub
[sudo] password for abhishek:
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.0.0-37-generic
Found initrd image: /boot/initrd.img-5.0.0-37-generic
Found linux image: /boot/vmlinuz-5.0.0-36-generic
Found initrd image: /boot/initrd.img-5.0.0-36-generic
Found linux image: /boot/vmlinuz-5.0.0-31-generic
Found initrd image: /boot/initrd.img-5.0.0-31-generic
Found Ubuntu 19.10 (19.10) on /dev/sda4
Found MX 19 patito feo (19) on /dev/sdb1
Adding boot menu entry for EFI firmware configuration
done
Můžete vidět podobný příkaz s názvem update-grub2. Mezi update-grub a update-grub2 není třeba se znepokojovat nebo zaměňovat. Oba tyto příkazy provádějí stejnou akci.
Přibližně před deseti lety, kdy byl právě představen grub2, byl představen také příkaz update-grub2. Dnes je update-grub2 jen symbolickým odkazem na update-grub a oba aktualizuje konfiguraci grub2 (protože grub2 je výchozí).
Nemůžete najít příkaz update-grub? Zde je návod, co dělat v takovém případě
Je možné, že vaše distribuce Linuxu nemusí mít k dispozici příkaz update-grub.
co v tom případě děláš? Jak aktualizujete grub na takové distribuci Linuxu?
Není třeba panikařit. Příkaz update-grub je jednoduše útržek pro spuštění ‚grub-mkconfig -o /boot/grub/grub.cfg‘ pro vygenerování konfiguračního souboru grub2.
Což znamená, že můžete aktualizovat grub pomocí následujícího příkazu v jakékoli distribuci Linuxu:
sudo grub-mkconfig -o /boot/grub/grub.cfg
Samozřejmě, zapamatování si příkazu update-grub je mnohem jednodušší než výše uvedený příkaz a to je důvod, proč byl vůbec vytvořen.
Jak update-grub funguje?
Když instalujete distribuci Linuxu, (obvykle) vás požádá o instalaci zavaděče grub.
Část grub je nainstalována na oddílu MBR/ESP. Zbytek grub leží v adresáři /boot/grub distribucí Linuxu.
Podle manuálové stránky update-grub funguje tak, že se podívá do adresáře /boot. Všechny soubory začínající na vmlinuz- budou považovány za jádra a dostanou položku nabídky grub. Také přidá řádky initrd pro obrazy ramdisku nalezené se stejnou verzí jako nalezená jádra.
Pomocí os-prober se také podívá na všechny diskové oddíly pro jiné operační systémy. Pokud najde další operační systémy, přidá je do nabídky grub.
Proč byste měli aktualizovat grub?
Může nastat řada scénářů, kdy potřebujete aktualizovat grub.
Předpokládejme, že jste změnili konfigurační soubor grub (/etc/default/grub), abyste změnili výchozí pořadí zavádění nebo zkrátili výchozí dobu spouštění. Vaše změny se neprojeví, dokud neaktualizujete grub.
Jiný scénář je, když máte na stejném systému nainstalováno více distribucí Linuxu.
Například na svém Intel NUC mám dva disky. První disk měl Ubuntu 19.10 a pak jsem na něj nainstaloval Ubuntu 18.04. Druhý OS (Ubuntu 18.04) také nainstaloval svůj vlastní grub a nyní je obrazovka grub řízena Ubuntu 18.04 grub.
Na druhý disk jsem nainstaloval MX Linux, ale tentokrát jsem nenainstaloval grub. Chci, aby existující grub (řízený Ubuntu 18.04) zpracovával všechny položky OS.
Nyní v tomto scénáři musí být grub na Ubuntu 18.04 aktualizován, aby viděl MX Linux.
Jak můžete vidět na obrázku výše, když aktualizuji grub, najde různá linuxová jádra nainstalovaná na 18.04 spolu s Ubuntu 19.10 a MX Linux na jiném oddílu.
Pokud chci, aby MX Linux ovládal grub, mohu nainstalovat grub na MX Linux pomocí příkazu grub-install a pak grub na MX Linuxu začne ovládat obrazovku grub. Chápeš podstatu, že?
Použití nástroje GUI, jako je Grub Customizer, je jednodušší způsob, jak provádět změny v grub.
Nakonec…
Původně jsem měl v úmyslu nechat to krátký článek jako rychlý tip. Ale pak mě napadlo vysvětlit pár věcí s tím spojených, aby se (relativně) noví uživatelé Linuxu mohli naučit víc než jen jednoduchý příkaz.
Líbilo se ti to? Máte nějaké dotazy nebo návrhy? Neváhejte a zanechte komentář.