Booting 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, così il tuo computer può 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. Accenneremo a dove troverai differenze nel corso dell’articolo.

In che modo conoscere il processo di avvio di Linux può aiutarti?

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 computer non si accende e emette strani segnali acustici.

Bene, in questa situazione, puoi chiamare un tecnico, il che significa che dovrai aspettare almeno un paio d’ore per risolvere il problema e ti costerà denaro. Oppure puoi aggiustarlo 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 computer si sta accendendo, ma viene visualizzata 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, è possibile diagnosticare e risolvere rapidamente ciò che non va nel sistema e quindi risolverlo.

Oltre a questo, conoscere il processo di avvio ti consentirà anche di personalizzarlo. Questo ti aiuterà a ottenere il controllo del 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 per quella materia, è una sequenza di eventi che alla fine porta al caricamento del PC in modo da poter accedere al sistema operativo. Ora, in Linux, ci sono sei fasi distinte per il processo di avvio. Questi sono i seguenti:

  1. BIOS
  2. MBR
  3. GRUB
  4. Kernel
  5. Dentro
  6. Programmi runlevel

Esamineremo queste sei fasi in dettaglio 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 avvii il tuo computer, il BIOS viene chiamato ed esegue alcuni controlli di integrità per vedere se il tuo HDD o SSD funziona correttamente.

Dopodiché, il BIOS cercherà il programma del boot loader, lo caricherà in memoria e quindi lo eseguirà. Il programma boot loader si trova all’interno dell’MBR – Master Boot Record.

Ora, l’MBR non deve necessariamente essere caricato all’interno dell’HDD o 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 il programma di boot loader in memoria, il BIOS gli passerà il controllo e si passerà alla fase successiva 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 primo settore del disco di avvio. Di solito puoi trovarlo sotto / dev / hda, o / dev / sda. Questa posizione dipende principalmente dall’hardware, indipendentemente dal fatto che si 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 sistemi Linux moderni.

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

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

Il kernel più recente verrà selezionato per impostazione predefinita. Se nessuna azione (cioè, non selezioni alcun kernel con la tastiera), il sistema si avvierà automaticamente nel kernel predefinito.

A seconda della distribuzione Linux che stai utilizzando e di quanti anni ha, la posizione del file GRUB può variare. È molto probabile che tu lo trovi sotto /boot/grub/grub.conf o /etc/grub.conf.

Ecco una rapida occhiata al contenuto di esempio di un file 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 del file 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 vuoi avviare il tuo sistema, passiamo alla fase successiva.

# 4. Kernel

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

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

Questo è sempre il primo programma che viene eseguito durante l’avvio del sistema. È possibile confermarlo controllando l’id del 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. Dentro

Il sistema è ora pronto per avviare l’esecuzione dei programmi di 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 sono passati a “systemd” per scegliere invece il livello di esecuzione. Ecco un articolo dettagliato per aiutarti a capire “systemd”.

# 6. Programmi runlevel

I programmi di livello di esecuzione cambiano da una distribuzione Linux a un’altra. Pertanto, a seconda della distribuzione Linux che stai utilizzando, potresti vedere un lotto completamente diverso di programmi di livello di esecuzione che iniziano.

Ciascun livello di esecuzione ha le proprie directory ei programmi specifici per i livelli di esecuzione si trovano nella directory corrispondente. In quanto tali, i programmi di livello di esecuzione corrispondenti a una directory precedente verranno eseguiti per primi, seguiti dagli altri in ordine crescente.

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

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

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

Puoi passare attraverso i diversi programmi situati nelle directory del livello di esecuzione e scoprire che alcuni programmi iniziano con una “K” o una “S.” Qui la K significa “Kill” e S rappresenta “Start”. 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 questo è stato un rapido sguardo al processo di avvio di Linux. A questo punto, dovresti avere una comprensione rudimentale di come il tuo sistema attraversa 6 diverse fasi prima di avere accesso 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 dei commenti e ti risponderemo il prima possibile.

Fino ad allora, se inizi con Linux, abbiamo tonnellate di guide per principianti, how-to e tutorial su Linux, per aiutarti a capire meglio il sistema operativo e iniziare a lavorare in modo più efficiente con esso.

Esegui l'accesso per Commentare