Vyhledávání na webu

Základní průvodce různými fázemi procesu spouštění Linuxu


Pokaždé, když zapnete počítač se systémem Linux, projde řadou fází, než se nakonec zobrazí přihlašovací obrazovka, která vás vyzve k zadání uživatelského jména nebo hesla. Existují 4 různé fáze, kterými prochází každá distribuce Linuxu v typickém procesu spouštění.

V této příručce zdůrazníme různé kroky, které operační systém Linux provedl od doby, kdy byl zapnut, do doby, kdy se přihlásíte. Vezměte prosím na vědomí, že tato příručka bere v úvahu pouze bootloader GRUB2 a systemdinit, jak je v současnosti používá velká většina moderních distribucí Linuxu.

Proces bootování zahrnuje následující 4 kroky, o kterých budeme diskutovat podrobněji:

  • Kontrola integrity BIOS (POST)
  • Načítání spouštěcího zavaděče (GRUB2)
  • Inicializace jádra
  • Počínaje systemd, rodičem všech procesů

1. Kontrola integrity systému BIOS (POST)

Proces spouštění se obvykle inicializuje, když uživatel stiskne tlačítko zapnutí – pokud byl počítač již vypnutý – nebo restartuje systém pomocí grafického rozhraní nebo příkazového řádku.

Po zapnutí systému Linux se spustí BIOS (Basic Input Output System) a provede Power On Self Test (POST ). Toto je kontrola integrity, která provádí velké množství diagnostických kontrol.

POST testuje hardwarovou funkčnost komponent, jako jsou HDD nebo SSD, klávesnice, RAM<, USB porty a jakýkoli další hardware. Pokud některé hardwarové zařízení není detekováno nebo pokud dojde k poruše některého ze zařízení, jako je poškozený HDD nebo SSD, na obrazovce se zobrazí chybová zpráva s výzvou k zásahu.

V některých případech se ozve pípnutí, zejména v případě chybějícího modulu RAM. Pokud je však očekávaný hardware přítomen a funguje podle očekávání, proces zavádění postoupí do další fáze.

2. Bootloader (GRUB2)

Jakmile je POST dokončen a pobřeží je čisté, BIOS zkontroluje MBR (Hlavní spouštěcí záznam) pro informace o zavaděči a rozdělení disku.

MBR je 512bajtový kód, který se nachází v prvním sektoru pevného disku, což je obvykle /dev/sda nebo /dev/hda v závislosti na architektuře vašeho pevného disku. Pamatujte však, že někdy může být MBR umístěn na Live USB nebo DVD instalaci Linuxu.

V Linuxu existují 3 hlavní typy bootloaderů: LILO, GRUB a GRUB2. Zavaděč GRUB2 je nejnovější a primární zavaděč v moderních distribucích Linuxu a informuje o našem rozhodnutí vynechat další dva, které se postupem času staly zastaralými.

GRUB2 znamená GRand Unified Bootloader verze 2. Jakmile BIOS najde zavaděč grub2, spustí se a nahraje jej do hlavní paměti (RAM).

Nabídka grub2 vám umožňuje provádět několik věcí. Umožňuje vám vybrat verzi jádra Linuxu, kterou chcete použít. Pokud jste svůj systém několikrát upgradovali, můžete vidět různé verze jádra. Navíc vám dává možnost upravovat některé parametry jádra stisknutím kombinace kláves na klávesnici.

Také v nastavení s duálním spouštěním, kde máte více instalací OS, vám nabídka grub umožňuje vybrat, do kterého OS se má zavést. Konfigurační soubor grub2 je soubor /boot/grub2/grub2.cfg. Hlavním cílem GRUB je načíst linuxové jádro do hlavní paměti.

3. Inicializace jádra

Jádro je jádrem každého linuxového systému. Propojuje hardware počítače se základními procesy. Jádro řídí všechny procesy ve vašem systému Linux. Jakmile je vybrané linuxové jádro načteno bootloaderem, musí se před provedením jakékoli úlohy samo extrahovat ze své komprimované verze. Po samorozbalení vybrané jádro připojí kořenový souborový systém a inicializuje program /sbin/init běžně označovaný jako init.

Init je vždy první program, který se má spustit, a je mu přiřazeno ID procesu nebo PID 1. Je to proces init, který vytváří různé démony a připojuje všechny oddíly, které jsou specifikovány v /etc/ fstabsoubor.

Jádro pak připojí počáteční RAM disk (initrd), což je dočasný kořenový souborový systém, dokud nebude připojen skutečný kořenový souborový systém. Všechna jádra jsou umístěna v adresáři /boot spolu s počátečním obrazem RAM disku.

4.Spuštění Systemd

Jádro konečně načte Systemd, což je náhrada starého init SysV. Systemd je matkou všech linuxových procesů a mimo jiné spravuje připojování souborových systémů, spouštění a zastavování služeb, abychom zmínili jen některé.

Systemd používá soubor /etc/systemd/system/default.target k určení stavu nebo cíle, do kterého by se měl systém Linux zavést.

  • Pro stolní pracovní stanici (s grafickým uživatelským rozhraním) je výchozí cílová hodnota 5, což je ekvivalent úrovně běhu 5 pro starý init SystemV.
  • Pro server je výchozím cílem multi-user.target, což odpovídá úrovni spuštění 3 v inicializaci SysV.

Zde je rozpis cílů systemd:

  • poweroff.target (úroveň běhu 0): Vypnutí nebo vypnutí systému.
  • rescue.target (úroveň běhu 1): spustí relaci záchranného shellu.
  • multi-user.target (úroveň běhu 2,3,4): Nakonfiguruje systém na negrafický (konzolový) systém pro více uživatelů.
  • graphical.target (runlevel 5): Nastavení systému tak, aby používal grafické rozhraní pro více uživatelů se síťovými službami.
  • reboot.target (úroveň běhu 6): restartuje systém.

Chcete-li zkontrolovat aktuální cíl ve vašem systému, spusťte příkaz:

systemctl get-default

Z jednoho cíle na druhý můžete přepínat spuštěním následujícího příkazu na terminálu:

init runlevel-value

Například init 3 konfiguruje systém do negrafického stavu.

Příkaz init 6 restartuje váš systém a init 0 systém vypne. Pokud chcete přepnout na tyto dva cíle, nezapomeňte vyvolat příkaz sudo.

Proces zavádění skončí, jakmile systemd načte všechny démony a nastaví hodnotu cíle nebo úrovně běhu. V tomto okamžiku budete vyzváni k zadání uživatelského jména a hesla, na základě kterých získáte přístup do systému Linux.