GNU/Linux >> Znalost Linux >  >> Ubuntu

Základní průvodce procesem spouštění systému Linux

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é OS Linux provedl od doby, kdy byl zapnut, až po dobu, kdy se přihlásíte. Upozorňujeme, že tato příručka bere v úvahu pouze GRUB2 bootloader a systemd init, jak je v současnosti používá velká většina moderních distribucí Linuxu.

Proces bootování zahrnuje následující 4 kroky, které si probereme podrobněji:

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

1. Kontrola integrity systému BIOS (POST)

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

Když se systém Linux zapne, BIOS (Základní vstupní a výstupní systém ) spustí a provede Automatický test zapnutí (PŘIDAT ). Toto je kontrola integrity, která provádí množství diagnostických kontrol.

POST testuje funkčnost hardwaru komponent, jako je HDD nebo SSD , Klávesnice , RAM , USB porty a jakýkoli jiný hardware. Pokud není detekováno nějaké hardwarové zařízení nebo pokud dojde k poruše některého ze zařízení, jako je poškozený HDD nebo SSD, zobrazí se na obrazovce 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)

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

MBR je 512bajtový kód, který je umístěn 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. Všimněte si však, že někdy MBR může být umístěn na živém USB nebo DVD instalace Linuxu.

V Linuxu existují 3 hlavní typy bootloaderů:LILO , GRUB, a GRUB2 . GRUB2 bootloader je nejnovější a primární bootloader v moderních linuxových distribucích 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 vyhledá zavaděč grub2, spustí jej a nahraje jej do hlavní paměti (RAM ).

grub2 menu vám umožňuje dělat 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 /boot/grub2/grub2.cfg soubor. Hlavním cílem GRUB je nahrát 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 /sbin/init program běžně označovaný jako init .

Spustit je vždy prvním spuštěným programem 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/fstab soubor.

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

4. Spuštění Systemd

Jádro konečně načte Systemd , což je náhrada starého SysV init. 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á /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 starou inicializaci 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 (úroveň běhu 5) :Nastavení systému tak, aby používal grafické víceuživatelské rozhraní 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 nakonfiguruje systém do negrafického stavu.

Init 6 příkaz restartuje váš systém a inicializuje 0 vypne systém. Nezapomeňte vyvolat příkaz sudo když chcete přepnout na tyto dva cíle.

Proces spouštění skončí po 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 svého systému Linux.


Ubuntu
  1. Instalace jádra Linuxu 5.15 na Ubuntu 20.04 – průvodce krok za krokem?

  2. Linux – Init Process:Předchůdce všech procesů?

  3. Linuxové jádro se neaktualizuje na 2.35.25?

  1. Průvodce pro začátečníky ke konfiguraci modulu jádra v Linuxu

  2. Proces spouštění Linuxu

  3. Jaký je aktuální zdrojový kód jádra Linuxu?

  1. Jak aktualizovat jádro Linuxu v Ubuntu

  2. Proces spouštění systému Linux:Průvodce, jak začít

  3. Jsou vlákna jádra Linuxu skutečně procesy jádra?