Linux-opstartsprocessen - 6 trin beskrevet i detaljer

Et operativsystem (OS) er software på lavt niveau, der administrerer ressourcer, styrer perifert udstyr og leverer basale tjenester til anden software. I Linux er der 6 forskellige faser i den typiske opstartsproces.

1. BIOS

BIOS står for Basic Input / Output System. Enkelt sagt, BIOS indlæser og udfører Master Boot Record (MBR) boot loader.

Første gang du tænder for din computer, udfører BIOS først nogle integritetskontroller af HDD eller SSD.

Derefter søger BIOS efter, indlæser og udfører boot loader-programmet, som kan findes i Master Boot Record (MBR). MBR er undertiden på en USB-nøgle eller cd-rom, f.eks. Med en live installation af Linux.

Når boot loader-programmet er registreret, indlæses det derefter i hukommelsen, og BIOS giver kontrol over systemet til det.

2. MBR

MBR står for Master Boot Record og er ansvarlig for at indlæse og udføre GRUB boot loader.

MBR er placeret i 1. sektor af den startbare disk, som typisk er /dev/hda, eller /dev/sdaafhængigt af din hardware. MBR indeholder også oplysninger om GRUB eller LILO i meget gamle systemer.

3. GRUB

Nogle gange kaldes GNU GRUB, som er en forkortelse for GNU GRand Unified Bootloader, er den typiske boot loader for de fleste moderne Linux-systemer.

GRUB-stænkskærmen er ofte den første ting, du ser, når du starter din computer. Det har en simpel menu, hvor du kan vælge nogle indstillinger. Hvis du har flere kernebilleder installeret, kan du bruge dit tastatur til at vælge det, du vil have dit system til at starte med. Som standard er det seneste kernebillede valgt.

Stænkskærmen venter et par sekunder på dig at vælge og vælge. Hvis du ikke gør det, indlæses standardkernebilledet.

I mange systemer kan du finde GRUB-konfigurationsfilen på /boot/grub/grub.confeller /etc/grub.conf. Her er et eksempel på en simpel grub.conffil:

#boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.18-194.el5PAE) root (hd0,0) kernel /boot/vmlinuz-2.6.18-194.el5PAE ro root=LABEL=/ initrd /boot/initrd-2.6.18-194.el5PAE.img

4. Kerne

Kernen kaldes ofte kernen i ethvert operativsystem, inklusive Linux. Det har fuld kontrol over alt i dit system.

I dette trin af opstartsprocessen monterer kernen, der blev valgt af GRUB, først det rodfilsystem, der er angivet i grub.conffilen. Derefter udfører det /sbin/initprogrammet, som altid er det første program, der udføres. Du kan bekræfte dette med dets proces-id (PID), som altid skal være 1.

Kernen opretter derefter et midlertidigt rodfilsystem ved hjælp af Initial RAM Disk (initrd), indtil det rigtige filsystem er monteret.

5. Init

På dette tidspunkt udfører dit system runlevel-programmer. På et tidspunkt ville det se efter en init-fil, der normalt findes på for /etc/inittabat bestemme Linux-kørselsniveauet.

Moderne Linux-systemer bruger systemmd til at vælge et kørselsniveau i stedet. Ifølge TecMint er disse de tilgængelige kørselsniveauer:

Kørselsniveau 0 matches med poweroff.target (og runlevel0.target er et symbolsk link til poweroff.target ).

Kørselsniveau 1 matches med rescue.target (og runlevel1.target er et symbolsk link til rescue.target ).

Runlevel 3 emuleres ved multi-user.target (og runlevel3.target er et symbolsk link til multi-user.target ).

Kørselsniveau 5 emuleres af graphical.target (og runlevel5.target er et symbolsk link til graphical.target ).

Kørselsniveau 6 emuleres af reboot.target (og runlevel6.target er et symbolsk link til reboot.target ).

Nødsituation matches af emergency.target .

systemmd vil derefter begynde at udføre runlevel-programmer.

6. Runlevel-programmer

Afhængigt af hvilken Linux-distribution du har installeret, kan du muligvis se forskellige tjenester komme i gang. For eksempel kan du fange starting sendmail …. OK.

Disse er kendt som runlevel-programmer og udføres fra forskellige mapper afhængigt af dit kørenniveau. Hver af de 6 beskrevne runlevels har sit eget bibliotek:

  • Kør niveau 0 - /etc/rc0.d/
  • Kør niveau 1 - /etc/rc1.d/
  • Kør niveau 2 - /etc/rc2.d/
  • Kør niveau 3 - /etc/rc3.d/
  • Kør niveau 4 - /etc/rc4.d/
  • Kør niveau 5 - /etc/rc5.d/
  • Kør niveau 6 - /etc/rc6.d/

Bemærk, at den nøjagtige placering af disse mapper varierer fra distribution til distribution.

Hvis du kigger i de forskellige kataloger på kørselsniveau, finder du programmer, der starter med henholdsvis en "S" eller "K" til henholdsvis opstart og dræbning. Startprogrammer udføres under systemstart og dræber programmer under nedlukning.

Det er alt hvad du behøver at vide om Linux-opstartsprocessen. Gå nu ud og gør Tux stolt.