GRUB Linux Bootloader je nejpoužívanější bootloader pro Linux. Každý začínající uživatel Linuxu by měl prospěch z toho, že by se dozvěděl o Ubuntu GRUB. V tomto tutoriálu se dozvíte, co je GRUB, jak funguje proces spouštění a ponoříte se do několika užitečných konfigurací Ubuntu GRUB.
Ponořte se a dozvíte se více.
Předpoklady
Pokud chcete pokračovat v tomto tutoriálu, ujistěte se, že máte zařízení se systémem Linux, které má jako bootloader GRUB. Tento tutoriál bude založen na Ubuntu 18.04.5 LTS běžícím na virtuálním počítači na Oracle VirtualBox.
Porozumění procesu spouštění Ubuntu GRUB
GRUB je zkratka pro Grand Unified Boot Loader a je primární a nejdůležitější komponentou pro spouštění vašeho zařízení. GRUB je také nejrozšířenějším bootloaderem pro Linux. Vaše cesta začne tím, že budete vědět trochu více o procesu spouštění GRUB.
V obecném procesu spouštění BIOS začíná vyvoláním kroku POST a poté hledá zavaděč v hlavním spouštěcím záznamu (MBR).
MBR je informace v prvním sektoru pevného disku. MBR identifikuje, kde je operační systém. Informace uložené v MBR načtou (spustí) operační systém do paměti RAM zařízení.
Tento článek se zabývá pouze stránkou MBR. Ale můžete také najít disky používající GPT, což je zkratka pro GUID Partition Tables. GPT je lepší, pokud plánujete vytvořit více než čtyři oddíly, protože disk MBR pojme maximálně 4 primární oddíly.
Na níže uvedeném snímku obrazovky můžete vidět schéma procesu spouštění. Můžete vidět, že Ubuntu GRUB načítá jádro, které jste zvolili, do hlavní paměti:paměť RAM (Random Access Memory). Po načtení jádra se uživatelé mohou přihlásit do zařízení.
Porovnání zavaděčů Ubuntu GRUB a LILO
Svět Linuxu má tři hlavní zavaděče :LILO, GRUB a GRUB2. GRUB2 je nejnovější a primární zavaděč v distribucích Linuxu. GRUB2 je nejpoužívanější a demonstrovaný v tomto tutoriálu, protože je výchozím zavaděčem Ubuntu, ale LILO je stále přítomno v Linuxu. V této části se dozvíte, jak si vedou proti sobě.
Na trhu jsou dostupné Odalší zavaděče Linuxu, jako je GNU GRUB, který má vynikající podporu pro správu paměti a objektově orientovaný rámec. Druhým je SYSLINUX což je lehký zavaděč.
GRUB podporuje zavádění více operačních systémů. LILO na druhou stranu umí zavést pouze jeden OS.
Ubuntu GRUB funguje s Windows, Linux, Unix, macOS, BSD, Solaris, zatímco LILO podporuje především operační systémy Linux.
Pokud aktualizujete konfigurační soubor v LILO, je třeba LILO přeinstalovat do MBR. Pokud změníte nastavení GRUB, nevyžaduje reinstalaci.
Výběr různých jader nebo režimů obnovy
Tato část ukáže, jak vybrat jádro při spouštění zařízení při obnově z poškozeného jádra.
Jádro funguje jako rozhraní mezi hardwarem a softwarem. Řídí všechny procesy, které uživatelé na zařízení spouštějí.
Zde jsou kroky k výběru jádra pomocí virtuálního počítače v Oracle VirtualBox.
1. Přihlaste se přímo do konzole zařízení Ubuntu pomocí Oracle VirtualBox.
2. Restartujte počítač Ubuntu pomocí příkazu vypnutí, jak je znázorněno níže.
shutdown -r now
Jakmile se vaše zařízení restartuje, stiskněte a podržte Shift při načítání Ubuntu GRUB a zobrazí se nabídka bootloaderu GRUB. Pokud nic nevyberete, GRUB zavede systém s výchozím jádrem a bude pokračovat v procesu zavádění.
Měli byste vybrat Pokročilé možnosti pro Ubuntu buď když potřebujete zavést systém s jiným jádrem, než je výchozí jádro. Nebo pokud narazíte na nějaké problémy v systému, jako je poškození souboru, jádro se nenačítá správně.
4. Po výběru Pokročilé možnosti pro Ubuntu zobrazí se nabídka Ubuntu GRUB. V nabídce byste měli vidět různé možnosti jádra, které si vyberete. Pokud žádnou možnost nevyberete, ve výchozím nastavení se načte první zobrazené jádro.
Jak můžete vidět níže na obrázku, pro každé jádro existují dvě další možnosti:upstart a recovery.
- (začátečník): náhrada za /sbin/init založená na událostech démon, který se stará o spouštění úloh a služeb během bootování, zastavuje je během vypínání a dohlíží na ně za běhu systému.
- (režim obnovení): obnovit jádro z případných selhání v systému.
5. Po přihlášení do zařízení se zobrazí uname
příkaz ověří, zda je načteno zadané jádro. -r
volba vypíše název jádra.
uname -r
Nastavení výchozího operačního systému
Nyní, když jste blíže obeznámeni s GRUB, vyladíte několik možností konfigurace GRUB. Začnete konfigurací, který operační systém se bude načítat ve výchozím nastavení.
1. Přihlaste se do svého zařízení Ubuntu pomocí svého oblíbeného klienta SSH.
2. Nyní vypište položky bootovací nabídky GRUB spuštěním awk
příkaz, jak je znázorněno níže. awk
příkaz zobrazí všechny položky uložené v /boot/grub/grub.cfg . Obsah souboru se zobrazí na terminálu. Dávejte pozor na čáry. Budete potřebovat číslo spojené s řádkem dopředu, které začíná nulou, tj. Ubuntu
řádek je 0
a Ubuntu, with Linux 4.4.0-210-generic
je 1
.
awk -F\' '/menuentry / {print $2}' /boot/grub/grub.cfg
3. Dále upravte konfigurační soubor GRUB. Můžete se spolehnout na vi
upravte soubor a změňte hodnotu pro GRUB_DEFAULT
, ale podle potřeby použijte preferovaný editor.
vi /etc/default/grub
Nyní nastavte hodnotu GRUB_DEFAULT
na číslo řádku požadovaného záznamu OS. Pamatujte na awk
rozkaz jste spustili? To byly záznamy OS. Pokud nastavíte GRUB_DEFAULT
na 0
, první položka OS v položce spouštěcí nabídky GRUB se spustí, pokud ji nastavíte na 1
, zařízení ve výchozím nastavení zavede druhý záznam operačního systému a tak dále. Na níže uvedeném snímku obrazovky je první položka OS Ubuntu je standardně nastaveno na spouštění.
Ve výchozím nastavení GRUB nečeká v zaváděcí nabídce a spustí se okamžitě, za 0 sekund. Toto nastavení časového limitu můžete změnit změnou hodnoty
GRUB_TIMEOUT
. Hodnota bude znamenat počet sekund, po které je nabídka viditelná před spuštěním bootování. Pokud je hodnota5
, na 5 sekund se zobrazí spouštěcí nabídka, abyste mohli vybrat operační systém, který chcete načíst při spuštění systému.
4. Jakmile uložíte změny v konfiguračním souboru GRUB, nezapomeňte spustit update-grub
příkaz. update-grub
příkaz převezme změněný konfigurační soubor a aplikuje jej na systém.
update-grub
Nastavení obrázku na pozadí v Ubuntu GRUB
Vaše konfigurace GRUB nemusí být nevýrazná. Můžete přidat trochu chuti do GRUB přidáním obrázku na pozadí do nabídky GRUB. Obrázky můžete nastavit jako pozadí do GRUB pomocí GRUB_BACKGROUND
volba. Pro přizpůsobení GRUB postupujte podle následujících kroků.
1. Upravte konfigurační soubor GRUB pomocí vi
nebo váš preferovaný textový editor a přidejte GRUB_BACKGROUND
řádek, jak je znázorněno níže. V tomto tutoriálu je obrázek uložen v domovské složce uživatele s názvem UBUNTU
, protože GRUB běží jako root, může přistupovat k obrázkům napříč souborovým systémem. Po úpravě uložte konfigurační soubor.
# Sytax: GRUB_BACKGROUND=/path-to-image
GRUB_BACKGROUND=/home/ubuntu/shanky.jpeg
Soubor shanky.jpeg již byl v systému. Nahraďte tento název názvem souboru, který chcete použít jako obrázek na pozadí.
2. Poté, co provedete změny v konfiguračním souboru GRUB, spusťte update-grub
příkaz.
3. Dále ověřte, zda obrázek, který jste přidali do souboru Grub jako pozadí, funguje podle očekávání. Pro ověření restartujte počítač a stiskněte Shift klíč při načítání GRUB. Jak můžete vidět níže, GRUB má nyní obrázek na pozadí.
Duální bootování pomocí GRUB
Jednou z největších funkcí Ubuntu GRUB je, že vám umožňuje vybrat si mezi Windows a Linuxem, když se vaše zařízení spouští:známé také jako duální spouštění. Duální spouštění vám umožňuje používat Linux a Windows společně v jednom zařízení a usnadňuje život IT inženýrům pracujícím na více operačních systémech.
Počátkem roku 2021 výchozí os_prober
skript, který automaticky přidává další položky nabídky operačního systému, byl zakázán kvůli potenciálním bezpečnostním problémům s automatickou detekcí OS. Tuto funkci můžete znovu povolit pomocí následujícího příkazu, pokud víte, jaké operační systémy jsou nainstalovány.
echo GRUB_DISABLE_OS_PROBER=false|sudo tee -a /etc/default/grub && sudo update-grub
Jakmile na svém zařízení nakonfigurujete duální spouštění, měli byste po spuštění počítače vidět obrazovku podobnou nabídce GRUB.
Závěr
V tomto tutoriálu jste se dozvěděli, co je GRUB, a článek vám představil proces zavádění GRUB.
Také jste se naučili, jak vyladit některé konfigurace Ubuntu GRUB, načíst různá jádra a dokonce jste se dozvěděli o duálním spouštění.
Nyní, když dobře znáte GRUB, jaké jsou některé možnosti konfigurace, které změníte?