GNU/Linux >> Znalost Linux >  >> Linux

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

Bootování označuje proces spouštění počítače a lze jej inicializovat stisknutím hardwarového tlačítka nebo pomocí softwarového příkazu. Vidíte, když je CPU zapnutý, nemá přístup k žádnému softwaru ve své hlavní paměti. Proces spouštění načte potřebný software, takže váš počítač může spustit operační systém.

Při tomto čtení se podíváme do hloubky pochopení procesu spouštění Linuxu a proč je důležité vědět, jak to funguje.

Poznámka :V závislosti na používaném operačním systému se bude proces spouštění mírně lišit. Zmíníme se, kde v průběhu článku najdete rozdíly.

Jak vám může pomoci znalost procesu spouštění systému Linux?

Řekněme, že sedíte u počítače, připravujete se na práci (nebo hru) a stisknete tlačítko napájení na CPU. Ale co to je? Váš počítač se nezapíná a vydává podivné pípání.

V této situaci můžete buď zavolat technika, což znamená, že budete muset počkat alespoň pár hodin, než se problém vyřeší, a bude vás to stát peníze. Nebo to můžete opravit sami – ale k tomu budete potřebovat důkladné pochopení procesu spouštění.

Zde je několik scénářů, ve kterých vám znalost procesu zavádění Linuxu může pomoci:

  • Počítač nelze vůbec zapnout.
  • Váš počítač se zapíná, ale vidíte pouze prázdnou obrazovku.
  • Počítač uvízl v zaváděcí smyčce – ve smyčce se zapíná a vypíná.
  • Operační systém se nenačítá.

Když pochopíte proces spouštění systému Linux, můžete rychle diagnostikovat a odstraňovat problémy se systémem a poté to opravit.

Kromě toho vám znalost procesu spouštění také umožní jej přizpůsobit. To vám pomůže získat kontrolu nad vaším počítačem na mnohem základnější úrovni.

Proces spouštění systému Linux

Proces spouštění Linuxu nebo jakýkoli jiný proces spouštění v tomto případě je sled událostí, které nakonec vedou k načtení vašeho počítače, abyste získali přístup k operačnímu systému. Nyní v Linuxu existuje šest různých fází procesu spouštění. Jsou to následující:

  1. BIOS
  2. MBR
  3. GRUB
  4. Jádro
  5. Spustit
  6. Programy na úrovni běhu

Těchto šest fází projdeme podrobně, abychom pochopili, jak se váš počítač spouští.

Poznámka :Tento 6fázový bootovací proces má několik výjimek. Některá linuxová distribuce dávají přednost tomu, aby nabízeli vlastní zaváděcí sekvenci. Jak již bylo řečeno, to, o čem zde budeme diskutovat, bylo historicky používáno s Linuxem a stále je používáno mnoha hlavními linuxovými distribucemi.

#1. BIOS

BIOS je zkratka pro Basic Input Output System. Když spouštíte počítač, zavolá se BIOS a ten provede určité kontroly integrity, aby zjistil, zda váš HDD nebo SSD funguje správně.

Poté systém BIOS vyhledá zaváděcí program, načte jej do paměti a poté jej spustí. Program boot loader se nachází v MBR – Master Boot Record.

Nyní MBR nemusí být nutně načten na HDD nebo SSD. Někdy může být na USB klíčence nebo CD-ROM, který se používá během živé instalace Linuxu. Po nahrání programu zavaděče do paměti mu BIOS předá řízení a přejdeme k dalšímu kroku procesu spouštění.

#2. MBR

Jak jsme právě probrali výše, MBR je zkratka pro Master Boot Record. Obsahuje informace o GRUB nebo LILO v případě velmi starých systémů.

Funkcí MBR je načíst a spustit zavaděč GRUB, aby pokračoval proces zavádění.

MBR se nachází v 1. sektoru spouštěcího disku. Obvykle to najdete pod /dev/hda nebo /dev/sda . Toto umístění je většinou závislé na hardwaru – ať už bootujete z HDD, SSD, Pendrive nebo CD.

#3. GRUB

GRUB, často nazývaný GNU GRUB (GNU Grand Unified Bootloader), je primární zavaděč pro většinu moderních systémů Linux.

Když zapínáte počítač, první věc, kterou uvidíte, je úvodní obrazovka GRUB. Na chvíli zůstane na obrazovce a zobrazí jednoduchou nabídku s několika možnostmi. V případě, že máte na svém systému nainstalováno více obrazů jádra, uvidíte je v této nabídce.

Poté můžete pomocí klávesnice (myš není podporována) vybrat jádra, se kterými chcete systém zavést.

Ve výchozím nastavení bude vybráno nejnovější jádro. Pokud neprovedete žádnou akci (tj. nezvolíte žádné jádro pomocí klávesnice), systém se automaticky zavede do výchozího jádra.

Umístění souboru GRUB se může lišit v závislosti na tom, kterou distribuci Linuxu používáte a jak je stará. Nejpravděpodobněji jej najdete pod /boot/grub/grub.conf nebo /etc/grub.conf .

Zde je rychlý pohled na ukázkový obsah grub.conf soubor.

default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz

# section to load Linux
title Red Hat Enterprise Linux (2.4.21-1.ent)
root (hd0,0)
kernel /vmlinuz-2.4.21-1 ro root=/dev/sda2
initrd /initrd-2.4.21-1.img

# section to load Windows
title Windows
rootnoverify (hd0,0)
chainloader +1

Poznámka :V případě, že nemůžete najít umístění grub.conf soubor ve vašem systému, můžete prohledat dokumentaci svého linuxového distra nebo spustit vyhledávání Google a mělo by vám to poskytnout umístění souboru.

Chcete-li se dozvědět více o funkcích grub.conf si můžete přečíst tento článek.

Po výběru jádra, ze kterého chcete zavést systém, přejdeme k další fázi.

#4. Jádro

Stručně řečeno, jádro je jádrem operačního systému Linux (stejně jako jiných OS) a má úplnou kontrolu nad vším v systému.

Jakmile GRUB vybere jádro, připojí kořenový souborový systém, který byl specifikován v grub.conf soubor. Po jeho připojení jádro spustí /sbin/init program.

Toto je vždy první program, který je spuštěn během spouštění systému. Můžete to potvrdit kontrolou ID procesu (PID) pro tento program, které bude vždy nastaveno na 1.

Dále, dokud nebude připojen skutečný souborový systém, jádro vytvoří dočasný kořenový souborový systém pomocí Initial RAM Disk – initrd . To trvá sotva vteřinu nebo dvě.

#5. Init

Systém je nyní připraven ke spuštění programů na úrovni běhu. Nejprve bude potřebovat přístup k init souboru, který se obvykle nachází pod touto cestou – /etc/inittab . Tento soubor je nezbytný pro rozhodnutí o úrovních běhu Linuxu.

Jak již bylo řečeno, většina moderních linuxových systémů se přesunula na „systemd“, aby místo toho zvolila úroveň běhu. Zde je podrobný článek, který vám pomůže porozumět „systemd.“

#6. Runlevel programy

Programy na úrovni běhu se mění z jedné distribuce Linuxu do druhé. V závislosti na linuxové distribuci, kterou používáte, se vám může stát, že se spouští úplně jiná dávka programů na úrovni běhu.

Každá z úrovní běhu má své adresáře a programy specifické pro úrovně běhu leží v odpovídajícím adresáři. Jako takové programy na úrovni běhu odpovídající dřívějšímu adresáři budou spuštěny jako první, následované zbylými ve vzestupném pořadí.

Následuje obvyklý seznam adresářů, které odpovídají šesti různým úrovním běhu:

  1. Úroveň běhu 0 – /etc/rc0.d/
  2. Úroveň běhu 1 – /etc/rc1.d/
  3. Úroveň běhu 2  – /etc/rc2.d/
  4. Úroveň běhu 3  – /etc/rc3.d/
  5. Úroveň běhu 4 – /etc/rc4.d/
  6. Úroveň běhu 5 – /etc/rc5.d/
  7. Úroveň běhu 6 – /etc/rc6.d/

Poznámka :Přesné umístění adresářů se bude lišit v závislosti na vaší distribuci Linuxu. Pokud nemůžete najít adresáře na úrovni běhu, podívejte se do dokumentace operačního systému nebo proveďte rychlé vyhledávání na Googlu.

Můžete procházet různé programy umístěné v adresářích úrovně běhu a zjistit, že některé programy začínají písmenem „K“ nebo „S“. Zde K znamená „Kill“ a S znamená „Start“. Programy „Start“ se spouštějí během procesu spouštění systému, zatímco programy „Kill“ se spouštějí během vypínání systému.

Závěr

Takže toto byl rychlý pohled na proces bootování Linuxu. Nyní byste měli mít základní znalosti o tom, jak váš systém prochází 6 různými fázemi, než získáte přístup k operačnímu systému a ploše.

Doufáme, že vám to pomohlo, a pokud budete mít nějaké problémy, můžete své dotazy zanechat v sekci komentářů a my se vám co nejdříve ozveme.

Do té doby, pokud začínáte s Linuxem, máme spoustu příruček pro začátečníky, návodů a výukových programů pro Linux, které vám pomohou lépe porozumět OS a začít s ním pracovat zdatněji.


Linux
  1. Začněte s NetworkManagerem v systému Linux

  2. Jak jste začali s Linuxem?

  3. Proces spouštění Linuxu

  1. Linux pro začátečníky:10 příkazů, které vám pomohou začít na terminálu

  2. Jak začít s Deepin Terminal na Ubuntu Linux

  3. Jak získat PID právě zahájeného procesu

  1. Začněte s Latexem na Linuxu

  2. Příkaz Linux získat ID procesu Tomcat podle názvu

  3. Jak získat pouze ID procesu v zadaném názvu procesu v linuxu?