GNU/Linux >> Znalost Linux >  >> Panels >> Webmin

Zavaděč GRUB

Na této stránce proces zavádění Linuxu a zavaděč GRUB jsou kryty. Vysvětluje, jak spouštět různé operační systémy nebo načítat různá jádra při bootování.

Obsah

Úvod do zavaděčů

Když je spuštěn systém Linux běžící na hardwaru PC, první kód, který se má spustit, je BIOS (Basic Input Output System), který se načte z ROM. Po dokončení testování paměti systému a zjištění, jaký hardware je nainstalován, se pokusí předat řízení zavaděči operačního systému, aby pokračoval v procesu zavádění. Zavaděč je malý program, který může vyzvat uživatele, aby si vybral operační systém, který má spustit, a poté načte zbytek jádra operačního systému z pevného disku, diskety nebo jiného zdroje.

Na normálním systému je zavaděč načten systémem BIOS z prvního bloku na primárním pevném disku, který se nazývá hlavní spouštěcí záznam nebo MBR. BIOS však může (v závislosti na konfiguraci) nejprve zkontrolovat disketovou mechaniku nebo CD-ROM, zda neobsahuje zavaděč, aby bylo možné systém zavést z vyměnitelného disku. To se obvykle provádí pouze při instalaci nového operačního systému - pro běžné každodenní použití se téměř každý systém spouští z pevného disku.

Pro Linux je k dispozici několik zavaděčů, ale dva nejběžnější a dva, kterým se budeme věnovat v této kapitole, jsou LILO a GRUB. Oba fungují pouze na hardwaru PC kompatibilním s x86, takže pokud používáte Linux na systému Apple, SPARC nebo Alpha, tato kapitola vám nebude moc k ničemu. Každá hardwarová platforma mimo PC má svůj vlastní specializovaný zavaděč Linuxu, navržený tak, aby se vypořádal s konkrétními zvláštnostmi a požadavky platformy.

Jiné operační systémy (jako Windows, FreeBSD a Solaris) mají své vlastní zavaděče, které dělají v podstatě totéž jako LILO nebo GRUB, ale jsou navrženy tak, aby místo toho nahrály jádro jiného OS. Webmin nepodporuje konfiguraci žádného zavaděče mimo Linux, takže pokud používáte jinou verzi Unixu, můžete tuto kapitolu přeskočit.

V systému Linux je primární odpovědností zavaděče zavádění jádra. Jakmile bylo jádro nahráno do paměti a bylo do něj přeneseno řízení, je úloha zavaděče hotova. Jádro poté připojí kořenový souborový systém, inicializuje ovladače a nakonec spustí program init, aby pokračovalo zavádění, jak je vysvětleno v kapitole 9.

Zavaděč může také spustit proces načítání zcela jiného OS na systémech, které mají nainstalovaných více než jeden. Dělá to tak, že načte zavaděč druhého operačního systému z prvního bloku diskového oddílu nebo jiného pevného disku a poté na něj přenese řízení. Druhý OS se pak načte přesně tak, jako kdyby jeho zavaděč spouštěl přímo BIOS. Díky možnosti rozhodnout se, který operační systém se má načíst při spouštění, je praktické mít dva nebo více nainstalovaných na stejném systému, jako jsou Windows a Linux.

LILO i GRUB lze nakonfigurovat tak, aby po načtení zobrazily nabídku možností spouštění, což uživateli umožňuje vybrat, které konkrétní jádro se má načíst, nebo který má načíst jiný operační systém. Možnost vybrat si z několika různých jader může být zvláště užitečná, když máte nainstalované nové a chcete mít možnost zavést do nového i starého. Je dokonce možné mít několik možností spouštění, které všechny načítají stejnou verzi jádra, ale s různými možnostmi příkazového řádku.

Všechny distribuce Linuxu vám poskytnou možnost automatického nastavení zavaděče při instalaci. Obvykle se můžete rozhodnout zavést i jiné nainstalované operační systémy, například pokud přidáváte Linux do systému s Windows již nainstalovaným na jiném oddílu. Pokud vám tato výchozí konfigurace funguje, buďte velmi opatrní při změně konfigurace LILO nebo GRUB ručně nebo přes Webmin. Jediná chyba může způsobit, že váš systém nebude možné spustit a k obnově bude nutné použít záchranný disk.

GRUB obvykle používá konfigurační soubor /boot/grub/grub.cfg (dříve menu.lst ) a na rozdíl od LILO rozumí formátu souborových systémů ext2, ext3, ext4 a vfat, a tak může číst soubory menu.lst a kernel bez potřeby blokové mapy. Z tohoto důvodu a protože GRUB dokáže načíst jádro uložené kdekoli na pevném disku, je obvykle považován za vynikající zavaděč a ve většině distribucí Linuxu předběhl LILO.

GRUB 2

GRUB2 používaný v mnoha (všech?) novějších distribucích používá konfigurační soubory v /etc/grub.d/ .Konfiguraci modulu lze upravit, ale zatím nefunguje.

Modul GRUB Boot Loader

Jak název napovídá, tento modul umožňuje nastavit GRUB. Stejně jako modul LILO, když jej vstoupíte z kategorie Hardware, hlavní stránka zobrazí seznam ikon, jednu pro každou volbu doby spouštění. Tento snímek obrazovky ukazuje příklad.

Modul zavaděče GRUB

Ikona modulu se objeví pouze v případě, že Webmin zjistí, že je ve vašem systému nainstalován GRUB. Pokud není vidět nebo pokud se při vstupu do modulu zobrazí chyba, GRUB není nainstalován. Pokud ano, pravděpodobně se místo toho používá LILO, a proto byste měli použít modul Linux Boot Loader.

Jednou zvláštností GRUB je, že interně odkazuje na všechny pevné disky podle jejich čísla disku BIOS. hd0 je první disk identifikovaný systémem BIOS a hd0,0 je první oddíl na tomto disku. Na systému s pouze pevnými disky IDE je toto číslování docela jednoduché - BIOS disk 0 je primární master, nebo /dev/hda na Linuxu. Disk 2 (nazvaný hd1 od GRUB) je primární slave a tak dále. V systému s jednotkami SCSI a IDE jsou však věci složitější. Disky IDE jsou obvykle v řazení BIOSu před SCSI, ale to může být na některých systémech obráceno. Naštěstí modul GRUB v posledních verzích Webminu dokáže automaticky detekovat vztah mezi soubory zařízení Linux a čísly disků BIOS.

Zavedení nového linuxového jádra nebo BSD pomocí GRUB

Pokud jste právě zkompilovali nové jádro a chcete jej používat, budete muset přidat novou zaváděcí možnost GRUB.

Podobný proces by měl být dodržen, pokud máte na svém systému nainstalovaný Linux i FreeBSD, NetBSD nebo OpenBSD a chcete mít možnost vybrat si jeden z nich při spouštění. Chcete-li to nastavit, postupujte takto:

  1. Chcete-li zavést linuxové jádro, po kompilaci zkopírujte jeho komprimovaný soubor obrazu jádra (obvykle se nachází ve zdrojovém adresáři na adrese arch/i386/bzImage) do adresáře /boot. Normálně by měl být přejmenován na vmlinuz-_xx.yy.zz_, kde xx.yy.zz je číslo verze jádra.
  2. Na hlavní stránce zavaděče GRUB klikněte na Přidat novou možnost spouštění odkaz pro přechod na formulář pro vytvoření opce.
  3. Zadejte jedinečný název pro své nové jádro do Název možnosti pole, například linux-xx.yy.zz . Cokoli zadáte, se objeví v nabídce GRUB při spouštění.
  4. Nastavte Oddíl spouštěcí bitové kopie pole na Vybrané a ze seznamu vedle vyberte oddíl, který obsahuje vaše jádro. Pokud se oddíl v nabídce nezobrazí, budete muset vybrat Jiné místo toho zadejte disk a oddíl do pole vedle něj ve formátu hd_X_,_Y_ používaném GRUBem. Například hd2,1 by byl druhý oddíl na jednotce BIOS 3.
  5. Pro zavedení operačního systému , vyberte Linuxové jádro a do pole vedle zadejte cestu k souboru komprimovaného obrazu jádra. Chcete-li předat jádru další argumenty, zadejte je do Možnosti jádra pole pod ním. Pro FreeBSD musíte také vybrat Linuxové jádro a zadejte /boot/loader do terénu. Nejsou povoleny žádné další argumenty jádra. Pro NetBSD nebo OpenBSD vyberte Linuxové jádro také a zadejte type=netbsd /netbsd-elf .
  6. Pokud je kořenový adresář ve vašem systému připojen ze zařízení, které není zkompilováno do jádra Linuxu (jako je disk SCSI nebo hardwarový řadič RAID), budete muset vytvořit počáteční disk RAM obsahující moduly jádra potřebné k přístup ke kořenovému souborovému systému. Nejjednodušší způsob, jak zkontrolovat, zda je to nutné, je podívat se na další existující konfigurace zaváděcího jádra. Chcete-li vytvořit počáteční soubor RAM disku v adresáři /boot pro verzi jádra xx.yy.zz , budete muset spustit příkaz jako :mkinitrd /boot/initrd-_xx.yy.zz_ xx.yy.zz Poté nastavte Počáteční soubor ramdisku pole na cestu k nově vytvořenému souboru.
  7. Nakonec klikněte na tlačítko Vytvořit knoflík. Pokud ve vašem vstupu nebyly zjištěny žádné chyby, vrátíte se na hlavní stránku modulu, která nyní bude obsahovat ikonu přidání nového jádra.
  8. Abyste mohli zavést nové jádro, budete muset restartovat systém. Když se GRUB načte při zavádění, zobrazí nabídku dostupných možností spouštění, ze kterých můžete vybrat nově přidané jádro. Nezapomeňte sledovat výstup ladění a chybové zprávy, které jádro zobrazuje při zavádění, abyste mohli problém diagnostikovat, pokud se něco pokazí. Pokud se vyskytne problém, možná budete muset restartovat a vybrat starou volbu jádra a poté pomocí Webminu opravit konfiguraci GRUB.

Jakmile vytvoříte novou možnost spouštění jádra, můžete ji upravit kliknutím na její ikonu na hlavní stránce modulu. V editačním formuláři lze kterékoli z polí upravit a změny uložit kliknutím na tlačítko Uložit nebo lze jádro odstranit kliknutím na Odstranit namísto. Vždy buďte opatrní při úpravách všech konfigurací jádra, které jste sami nevytvořili, protože chyba může způsobit nezavedení systému.

Zavedení jiného operačního systému pomocí GRUB

Pokud má váš systém na jiném pevném disku nebo oddílu nainstalovaný jiný operační systém, můžete nakonfigurovat GRUB tak, aby jej bylo možné vybrat a spustit při spouštění namísto Linuxu. Pokud chcete zavést FreeBSD, NetBSD nebo OpenBSD, podívejte se místo toho na sekci *Zavedení nového linuxového jádra nebo BSD* - ale pro Windows, UnixWare nebo jakýkoli jiný OS je třeba dodržet následující kroky:

  1. Na hlavní stránce modulu klikněte na Přidat novou možnost spouštění vyvolejte formulář pro vytvoření možnosti spouštění.
  2. Zadejte jedinečný název pro do Název možnosti pole, jako jsou okna.
  3. Nastavte Oddíl spouštěcí bitové kopie pole na Vybrané a vyberte oddíl, který obsahuje druhý OS ze seznamu vedle něj. Pokud se oddíl v nabídce nezobrazí, budete muset vybrat Jiné místo toho zadejte disk a oddíl do pole vedle něj ve formátu hd_X_,_Y_ používaném GRUBem.
  4. Změňte Operační systém pro spuštění na Jiný OS .
  5. Za normálních okolností GRUB jednoduše spustí zavaděč v prvním sektoru zvoleného oddílu. Zavaděč tam ale nemusí být vždy, pokud například operační systém běžně zapisuje svůj zavaděč do hlavního zaváděcího záznamu. Pokud je druhým operačním systémem Windows, vyberte *Ze souboru chainloader* a zadejte +1 do pole vedle něj. Musíte také zaškrtnout Vytvořit akci root partition? volba. Pokud spouštíte SCO UnixWare, musíte také vybrat *Ze souboru chainloader* a zadat force +1 do pole vedle něj. Musí být také vybrána možnost *Vytvořit akci s kořenovým oddílem?*.
  6. Klikněte na tlačítko Vytvořit tlačítko pro přidání nového OS. Váš prohlížeč se vrátí na hlavní stránku modulu, která nyní bude obsahovat ikonu vaší nové možnosti spouštění.
  7. Chcete-li spustit jiný operační systém, restartujte systém a vyberte jej z nabídky GRUB při spouštění.

Stejně jako u možností spouštění pro jádra Linuxu můžete upravit nebo smazat možnost pro jiný operační systém kliknutím na jeho ikonu na hlavní stránce modulu. Jakékoli změny se projeví okamžitě a použijí se při příštím restartu systému.

Úprava globálních možností GRUB

GRUB má několik možností, které platí pro všechna zaváděcí jádra a operační systémy. Chcete-li upravit tyto globální možnosti, postupujte takto:

  1. Klikněte na Upravit globální možnosti tlačítko na hlavní stránce modulu, které vás přenese do formuláře možností.
  2. Chcete-li řídit, které jádro se automaticky zavede, pokud si uživatel žádné nevybere z nabídky GRUB během nastaveného časového limitu, změňte Výchozí možnost spouštění pole. Pokud zvolenou možnost nelze načíst, GRUB se vrátí k tomu, co je vybráno v možnost záložního spouštění pole.
  3. Chcete-li změnit dobu, po kterou bude GRUB čekat, než si uživatel vybere možnost spouštění, než místo toho použije výchozí, upravte pole *Časový limit před použitím výchozího *.
  4. Zaváděcí nabídka GRUB umožňuje uživatelům dělat věci, jako je změna parametrů jádra a čtení libovolných souborů na souborových systémech Linux. Chcete-li tomu zabránit, zadejte heslo do pole Boot password pole. To omezí uživatele na dostupné možnosti spouštění, pokud není zadáno heslo. Dále možnosti spouštění, ve kterých je Heslo uzamčeno? pole bylo nastaveno také nebude možné vybrat.
  5. Po dokončení klikněte na tlačítko Uložit a vrátíte se na hlavní stránku modulu.
Přidat možnost spouštění

Instalace GRUB

Pokud jste používali zavaděč LILO a chcete přejít na GRUB, budete jej muset nainstalovat na stejný hlavní zaváděcí záznam nebo oddíl, který LILO aktuálně používá. Toto je třeba provést pouze jednou, na rozdíl od LILO, které je nutné efektivně znovu nainstalovat při každé změně konfigurace.

Chcete-li nainstalovat GRUB, postupujte takto:

  1. Na hlavní stránce modulu klikněte na Upravit globální možnosti knoflík.
  2. Z Instalovat GRUB na disk/partiton vyberte disk nebo oddíl, na který chcete nainstalovat GRUB. Obvykle to bude první pevný disk ve vašem systému.
  3. Klikněte na tlačítko Uložit tlačítko pro návrat na hlavní stránku modulu.
  4. Klikněte na Instalovat GRUB , abyste jej zapsali na jednotku nebo oddíl vybraný v kroku 2.
  5. Aby bylo možné od nynějška zavést váš systém do Linuxu, vytvořte všechny potřebné možnosti zavádění jádra, jak je vysvětleno v části *Zavedení nového jádra Linuxu nebo BSD*. Pokud před tím rebootujete, nebude možné znovu spustit Linux!

Webmin
  1. Způsoby, jak zachránit Grub nebo obnovit Grub Menu

  2. Ubuntu zavede Grub Rescue?

  3. Ubuntu 14.04 nevyzve k bootování Grub?

  1. Jak přeskočit nabídku Grub na systému s duálním spouštěním?

  2. Grub Uefi selhal spouštění systému Windows?

  3. Řešení pro chybu spouštění Ubuntu „Žádný takový oddíl“

  1. Změna velikosti spouštěcího oddílu

  2. spusťte Windows ze záchrany GRUB

  3. Je oddíl /boot vždy nutný?