Prylar, Mobiler, Appnedladdningar, Android Apps recensioner

Linux Boot Process: Vad du borde veta

Har du någonsin varit nyfiken på de olika stadierna i Linux, ett operativsystem med öppen källkod? Att känna till hela startprocessen kan hjälpa dig att felsöka problem – särskilt om du är administratör.

Vad händer bakom kulisserna när du slår på enheten? Läs vidare för att ta reda på det.

BIOS

Basic Input / Output System (BIOS) är en bit firmware på låg nivå som lagras på ett litet minneschip på datorns moderkort. Den här firmware hjälper uppstartprocessen och hanterar dataflöde mellan din maskin och andra anslutna enheter, till exempel en mus, skrivare och videoadapter.

Linux Boot Process Bios

Den primära funktionen för BIOS, som visas ovan, är att köra Power-On Self Test (POST). Detta test verifierar systemhårdvarans funktionsduglighet och hittar startsektorn, som innehåller den programvara som är nödvändig för resten av processen. Om POST lyckas laddar BIOS nästa steg, Stage One Boot Loader, i systemets RAM.

Om POST inte lyckas returnerar BIOS en kod du kan använda för felsökning.

Stage One Boot Loader

Det första steget i startladdaren – kallad Master Boot Record (MBR) eller Guided Partition Table (GPT) – är utformad för att få programmet online.

MBR är en enkel programvara utan inbyggd förståelse för filsystem. Som ett resultat kommer du alltid att behöva lagra startsteg för steg två mellan MBR och den första partitionen på hårddisken.

När MBR upptäcker startsteget i steg två överlämnar den kontrollen.

Stage Two Boot Loader

Uppdraget för steg två är att hitta kärnan och ladda den i minnet.

De flesta Linux-avdelningar kommer att använda en av tre olika startladdare – GRUB, GRUB2 eller LIL. Du kommer troligtvis se GRUB2, avbildad nedan, eftersom det är det senaste.

Linux Boot Process Grub2

När startladdaren har hittat en kärna och laddat den i RAM, passerar den över kontrollen. Det skickar också en bild av din enhets filsystem som kärnan kan använda för att hitta moduler.

Kärna

Eftersom alla kärnor finns i ett komprimerat format för att spara utrymme på hårddisken, är det första det kommer att göra en gång givet kontroll självutdrag. Sedan kommer den att montera bildversionen av filsystemet som den fick från startläsaren.

Kärnan kommer att upptäcka systemets hårdvara och byta över bilden till rotfilen på disken.

init (SYSTEMD)

Därefter startar kärnan initialiseringssystemet (init) – den första processen som skapar alla processer som krävs för startprocessen. På de flesta system kommer detta att vara systemd.

Systemds primära funktion är att starta alla demonerna – bakgrundsprocesser och tjänster – som behövs för att köra systemet. Dessa tjänster fortsätter att köras efter initiering och hantera viktiga systemprocesser som att logga in olika systemmeddelanden, hålla reda på enheter och se till att filsystemet är synkroniserat med systemminnet.

Om du är nyfiken på vilka tjänster systemd körs, kommer att köra systemctl-kommandot av sig själv att returnera en fullständig lista.

Du kan också använda systemd för att starta andra tjänster vid start genom att använda en kombination av systemctl-kommandot och den tjänst du vill starta. Om du till exempel vill att systemet ska kontrollera NFS-status kan du skriva systemctl status nfs-server.service. Du kan också starta, stoppa, aktivera eller inaktivera en tjänst med en kombination av systemctl och ett av dessa kommandon.

runlevel

Körnivån är ett tillstånd av INIT, och ditt system definierar vilka tjänster som körs. Standard Linux-kärnan stöder sju olika runlevels:

  • 0: Systemstopp, redo att stängas av
  • 1: Enkelanvändarläge
  • 2: Flera användarläge, inget nätverksfilsystem
  • 3: Flera användarläge med hjälp av kommandot livgränssnittet i stället för det grafiska användarläget
  • 4: Användardefinierad
  • 5: Flera användarläge med det grafiska användargränssnittet som de flesta Linux-system kommer att starta in som standard
  • 6: reboot

Linux Boot Process Init Runlevel

Om du av någon anledning behöver ändra körnivån, kommer INIT att ansvara för att ändra det med telinit-kommandot, som visas ovan.

Bryta ner startprocessen

Denna uppdelning är bara en översikt över Linux-startprocessen och lämnar några av de finare detaljerna. Men det bör ge dig den information du behöver för att felsöka eventuella problem du kan möta.

Är den här artikeln användbar?