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.
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.
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
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?