GNU/Linux >> Linux Esercitazione >  >> Linux

Processo di avvio di Linux:una guida per iniziare

L'avvio si riferisce al processo di avvio del computer e può essere inizializzato premendo un pulsante hardware o tramite un comando software. Vedi, quando la CPU è accesa, non ha accesso a nessun software nella sua memoria principale. Il processo di avvio carica il software necessario, in modo che il tuo computer possa avviare il sistema operativo.

Per questa lettura, approfondiremo la comprensione del processo di avvio di Linux e perché è essenziale sapere come funziona.

Nota :A seconda del sistema operativo in uso, il processo di avvio sarà leggermente diverso. Menzioneremo dove troverai le differenze nel corso dell'articolo.

Come può aiutarti conoscere il processo di avvio di Linux?

Diciamo che ti siedi con il tuo PC, ti prepari per iniziare a lavorare (o giocare) e premi il pulsante di accensione sulla CPU. Ma cos'è questo? Il tuo computer non si accende ed emette strani segnali acustici.

Bene, in questa situazione, puoi chiamare un tecnico, il che significa che dovrai attendere almeno un paio d'ore per risolvere il problema e ti costerà denaro. Oppure puoi risolverlo da solo, ma per farlo avrai bisogno di una conoscenza approfondita del processo di avvio.

Ecco alcuni scenari in cui conoscere il processo di avvio di Linux può aiutarti:

  • Non puoi assolutamente accendere il tuo computer.
  • Il tuo computer si sta accendendo, ma vedi solo una schermata vuota.
  • Il computer è bloccato in un ciclo di avvio:si accende e si spegne in un ciclo.
  • Il sistema operativo non si sta caricando.

Comprendendo il processo di avvio di Linux, puoi diagnosticare e risolvere rapidamente ciò che non va nel tuo sistema e quindi risolverlo.

Oltre a questo, conoscere il processo di avvio ti consentirà anche di personalizzarlo. Questo ti aiuterà a ottenere il controllo sul tuo PC a un livello molto più fondamentale.

Il processo di avvio di Linux

Il processo di avvio di Linux, o qualsiasi altro processo di avvio, è una sequenza di eventi che alla fine porta a caricare il PC in modo da poter accedere al sistema operativo. Ora, in Linux, ci sono sei fasi distinte del processo di avvio. Questi sono i seguenti:

  1. BIOS
  2. MBR
  3. GRUB
  4. kernel
  5. Inizia
  6. Programmi a livello di esecuzione

Analizzeremo in dettaglio queste sei fasi per capire come si avvia il tuo computer.

Nota :Ci sono alcune eccezioni a questo processo di avvio in 6 fasi. Alcune distribuzioni Linux preferiscono offrire la loro sequenza di avvio personalizzata. Detto questo, ciò di cui discuteremo qui è stato storicamente utilizzato con Linux ed è ancora utilizzato da molte delle principali distribuzioni Linux.

#1. BIOS

BIOS è l'abbreviazione di Basic Input Output System. Quando si avvia il computer, il BIOS viene chiamato ed esegue alcuni controlli di integrità per verificare se l'HDD o l'SSD funzionano correttamente.

Successivamente, il BIOS cercherà il programma del caricatore di avvio, lo caricherà in memoria e quindi lo eseguirà. Il programma del boot loader si trova all'interno dell'MBR – Master Boot Record.

Ora, l'MBR non deve necessariamente essere caricato all'interno dell'HDD o dell'SSD. A volte può essere su una chiavetta USB o un CD-ROM, che viene utilizzato durante un'installazione live di Linux. Dopo aver caricato in memoria il programma del caricatore di avvio, il BIOS gli passerà il controllo e si passerà al passaggio successivo del processo di avvio.

#2. MBR

Come abbiamo appena discusso in precedenza, MBR è l'abbreviazione di Master Boot Record. Contiene informazioni su GRUB o LILO nel caso di sistemi molto vecchi.

La funzione dell'MBR è caricare ed eseguire il boot loader GRUB per continuare il processo di avvio.

L'MBR si trova nel 1° settore del disco di avvio. In genere puoi trovarlo in /dev/hda o /dev/sda . Questa posizione dipende principalmente dall'hardware, indipendentemente dal fatto che tu stia eseguendo l'avvio da un HDD, SSD, Pendrive o CD.

#3. GRUB

GRUB, spesso chiamato GNU GRUB (GNU Grand Unified Bootloader), è il boot loader principale per la maggior parte dei moderni sistemi Linux.

Quando accendi il tuo PC, la prima cosa che vedi è la schermata iniziale di GRUB. Rimane momentaneamente sullo schermo e visualizza un semplice menu con un paio di opzioni. Nel caso in cui sul tuo sistema siano installate più immagini del kernel, le vedrai in questo menu.

È quindi possibile utilizzare la tastiera (mouse non supportato) per selezionare i kernel con cui si desidera avviare il sistema.

L'ultimo kernel sarà selezionato per impostazione predefinita. Se non viene eseguita alcuna azione (ovvero, non si seleziona alcun kernel con la tastiera), il sistema si avvierà automaticamente nel kernel predefinito.

A seconda della distribuzione Linux in uso e dell'età, la posizione del file GRUB può variare. È molto probabile che lo trovi in ​​/boot/grub/grub.conf o /etc/grub.conf .

Ecco una rapida occhiata al contenuto di esempio di un grub.conf file.

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

Nota :Nel caso in cui non riesci a trovare la posizione di grub.conf file sul tuo sistema, puoi cercare nella documentazione della tua distribuzione Linux o eseguire una ricerca su Google e dovrebbe darti la posizione del file.

Per saperne di più sulle funzioni di grub.conf file, puoi leggere questo articolo.

Dopo aver selezionato il kernel con cui si desidera avviare il sistema, si passa alla fase successiva.

#4. kernel

In breve, un kernel è il cuore del sistema operativo Linux (così come di altri sistemi operativi) e ha il controllo completo su tutto nel sistema.

Una volta che GRUB ha selezionato il kernel, monterà il file system di root che è stato specificato in grub.conf file. Dopo che è stato montato, il kernel eseguirà /sbin/init programma.

Questo è sempre il primo programma che viene eseguito durante l'avvio del sistema. Puoi confermarlo controllando l'ID processo (PID) per questo programma, che sarà sempre impostato su 1.

Successivamente, fino a quando il file system reale non viene montato, il kernel creerà un file system radice temporaneo utilizzando Initial RAM Disk – initrd . Questo richiede appena un secondo o due.

#5. Inizia

Il sistema è ora pronto per avviare l'esecuzione dei programmi a livello di esecuzione. Dovrà prima accedere al file init, che di solito si trova in questo percorso – /etc/inittab . Questo file è necessario per decidere i livelli di esecuzione di Linux.

Detto questo, la maggior parte dei moderni sistemi Linux è passata a "systemd" per scegliere invece il livello di esecuzione. Ecco un articolo dettagliato per aiutarti a capire "systemd".

#6. Programmi a livello di esecuzione

I programmi a livello di esecuzione cambiano da una distribuzione Linux all'altra. Pertanto, a seconda della distribuzione Linux che stai utilizzando, potresti vedere un batch completamente diverso di programmi a livello di esecuzione all'inizio.

Ciascuno dei livelli di esecuzione ha le proprie directory e i programmi specifici dei livelli di esecuzione si trovano nella directory corrispondente. Pertanto, i programmi a livello di esecuzione corrispondenti a una directory precedente verranno eseguiti per primi, seguiti dal resto in ordine crescente.

Di seguito è riportato il solito elenco di directory che corrispondono ai sei diversi livelli di esecuzione:

  1. Esegui livello 0 – /etc/rc0.d/
  2. Esegui livello 1 – /etc/rc1.d/
  3. Esegui livello 2  – /etc/rc2.d/
  4. Esegui livello 3  – /etc/rc3.d/
  5. Esegui livello 4 – /etc/rc4.d/
  6. Esegui livello 5 – /etc/rc5.d/
  7. Esegui livello 6 – /etc/rc6.d/

Nota :La posizione esatta delle directory varia a seconda della tua distribuzione Linux. Se non riesci a trovare le directory a livello di esecuzione, controlla con la documentazione del sistema operativo o fai una rapida ricerca su Google.

Puoi scorrere i diversi programmi che si trovano nelle directory del livello di esecuzione e scoprire che alcuni programmi iniziano con una "K" o una "S". Qui la K significa "Uccidi" e la S rappresenta "Inizio". I programmi "Start" vengono eseguiti durante il processo di avvio del sistema, mentre i programmi "Kill" vengono eseguiti durante l'arresto del sistema.

Conclusione

Quindi questa è stata una rapida occhiata al processo di avvio di Linux. A questo punto, dovresti avere una conoscenza rudimentale di come il tuo sistema attraversa 6 fasi diverse prima di poter accedere al tuo sistema operativo e al desktop.

Ci auguriamo che tu l'abbia trovato utile e, in caso di problemi, puoi lasciare le tue domande nella sezione commenti e ti risponderemo il prima possibile.

Fino ad allora, se stai iniziando con Linux, abbiamo tonnellate di guide per principianti, procedure e tutorial su Linux, per aiutarti a comprendere meglio il sistema operativo e iniziare a lavorare con esso in modo più esperto.


Linux
  1. Come hai iniziato con Linux?

  2. Linux per principianti:10 comandi per iniziare dal terminale

  3. Processo di avvio di Linux

  4. Come ottenere solo l'ID del processo nello specificare il nome del processo in Linux?

  5. Come ottenere il pid del processo appena avviato

Come ottenere l'utilizzo della CPU di un singolo processo in Linux

Una guida di base al processo di avvio di Linux

Come uccidere o terminare un processo Linux:la guida definitiva

Una guida al file system '/proc' in Linux

Come iniziare con Arch Linux

6 fasi del processo di avvio di Linux (sequenza di avvio)