Please disable your adblock and script blockers to view this page
Connect with us

Linux

Una guida di base alle diverse fasi del processo di avvio di Linux

Ogni volta che accendi il tuo PC Linux, passa attraverso una serie di fasi prima di visualizzare finalmente una schermata di accesso che richiede il tuo nome utente o password. Ci sono 4 fasi distinte che ogni distribuzione Linux attraversa in un tipico processo di avvio.

Prompt di accesso utente
Prompt di accesso utente

In questa guida, evidenzieremo i vari passaggi compiuti dal sistema operativo Linux dal momento in cui viene acceso fino al momento in cui effettui l’accesso. Si prega di notare che questa guida prende in considerazione solo GRUB2 bootloader e systemd init in quanto sono attualmente utilizzati dalla stragrande maggioranza delle moderne distribuzioni Linux.

Il processo di avvio richiede i seguenti 4 passaggi che discuteremo in maggiore dettaglio:

  • BIOS Controllo integrità (INVIARE)
  • Caricamento del boot loader (GRUB2)
  • Inizializzazione del kernel
  • Di partenza systemd, il genitore di tutti i processi

1. Il BIOS Integrity Check (POST)

Il processo di avvio viene solitamente inizializzato quando un utente preme il pulsante accensione pulsante – se il PC è già stato spento – o riavvia il sistema utilizzando la GUI o dalla riga di comando.

Quando il sistema Linux si accende, il file BIOS (Sistema di input output di base) entra in azione ed esegue un Test automatico all’accensione (INVIARE). Si tratta di un controllo di integrità che esegue una pletora di controlli diagnostici.

 

Il INVIARE verifica l’operatività hardware di componenti come HDD o SSD, Tastiera, RAM, USB porte e qualsiasi altro componente hardware. Se qualche dispositivo hardware non viene rilevato o se c’è un malfunzionamento in uno qualsiasi dei dispositivi come un HDD o SSD danneggiato, sullo schermo viene visualizzato un messaggio di errore che richiede il tuo intervento.

In alcuni casi, verrà emesso un segnale acustico soprattutto in caso di modulo RAM mancante. Tuttavia, se l’hardware previsto è presente e funziona come previsto, il processo di avvio procede alla fase successiva.

2. Il Bootloader (GRUB2)

Una volta che il file INVIARE è completo e la costa è chiara, il BIOS sonda il file MBR (Record di avvio principale) per il bootloader e le informazioni sul partizionamento del disco.

Il MBR è un codice di 512 byte che si trova sul primo settore del disco rigido che di solito è /dev/sda o /dev/hda a seconda dell’architettura del disco rigido. Si noti, tuttavia, che a volte il file MBR può essere posizionato su un file USB live o DVD installazione di Linux.

Esistono 3 tipi principali di bootloader in Linux: LILO, GRUB, e GRUB2. Il GRUB2 bootloader è l’ultimo e principale bootloader nelle moderne distribuzioni Linux e informa la nostra decisione di tralasciare gli altri due che sono diventati antiquati con il passare del tempo.

GRUB2 sta per Bootloader unificato GRand versione 2. Una volta che il BIOS individua il bootloader di grub2, lo esegue e lo carica nella memoria principale (RAM).

Il grub2 menu ti permette di fare un paio di cose. Ti consente di selezionare la versione del kernel Linux che desideri utilizzare. Se hai aggiornato il tuo sistema un paio di volte, potresti vedere diverse versioni del kernel elencate. Inoltre, ti dà la possibilità di modificare alcuni parametri del kernel premendo una combinazione di tasti della tastiera.

Seleziona la versione del kernel
Seleziona la versione del kernel

Inoltre, in una configurazione dual-boot in cui sono presenti più installazioni del sistema operativo, il menu di grub consente di selezionare il sistema operativo da avviare. Il file di configurazione di grub2 è il /boot/grub2/grub2.cfg file. L’obiettivo principale di GRUB è caricare il kernel Linux nella memoria principale.

3. Inizializzazione del kernel

Il kernel è il cuore di qualsiasi sistema Linux. Interfaccia l’hardware del PC con i processi sottostanti. Il kernel controlla tutti i processi sul tuo sistema Linux. Una volta che il kernel Linux selezionato è stato caricato dal bootloader, deve autoestrarsi dalla sua versione compressa prima di intraprendere qualsiasi attività. Dopo l’autoestrazione, il kernel selezionato monta il file system radice e inizializza il file / sbin / init programma comunemente indicato come dentro.

Processo di inizializzazione del kernel
Processo di inizializzazione del kernel

Dentro è sempre il primo programma da eseguire e viene assegnato l’ID di processo o PID di 1. È il processo di inizializzazione che genera vari demoni e monta tutte le partizioni specificate nel / etc / fstab file.

Il kernel quindi monta il disco RAM iniziale (initrd) che è un filesystem di root temporaneo finché non viene montato il filesystem di root reale. Tutti i kernel si trovano nel file /boot directory insieme all’immagine del disco RAM iniziale.

4.Avvio di Systemd

Il kernel finalmente viene caricato Systemd, che è la sostituzione del vecchio SysV dentro. Systemd è la madre di tutti i processi Linux e gestisce tra le altre cose il montaggio dei file system, l’avvio e l’arresto dei servizi per citarne solo alcuni.

Systemd utilizza l’estensione /etc/systemd/system/default.target file per determinare lo stato o la destinazione in cui deve essere avviato il sistema Linux.

  • Per una workstation desktop (con una GUI) il valore di destinazione predefinito è 5 che è l’equivalente del livello di esecuzione 5 per il vecchio SystemV init.
  • Per un server, la destinazione predefinita è multi-user.target che corrisponde al livello di esecuzione 3 in SysV init.

Ecco una ripartizione degli obiettivi di systemd:

  • poweroff.target (runlevel 0): Spegnimento o spegnimento del sistema.
  • rescue.target (runlevel 1): avvia una sessione della shell di salvataggio.
  • multi-user.target (runlevel 2,3,4): Configura il sistema su un sistema multiutente non grafico (console).
  • graphical.target (runlevel 5): Consente di impostare il sistema per utilizzare un’interfaccia grafica multiutente con i servizi di rete.
  • reboot.target (runlevel 6): riavvia il sistema.

Per controllare la destinazione corrente sul tuo sistema, esegui il comando:

$ systemctl get-default
Controlla il livello di esecuzione
Controlla il livello di esecuzione

È possibile passare da una destinazione all’altra eseguendo il seguente comando sul terminale:

$ init runlevel-value

Ad esempio, init 3 configura il sistema in uno stato non grafico.

Il init 6 comando riavvia il sistema e init 0 spegne il sistema. Assicurati di invocare comando sudo quando vuoi passare a questi due obiettivi.

Il processo di avvio termina una volta systemd carica tutti i daemon e imposta il valore target o run level. È a questo punto che ti viene richiesto il nome utente e la password con cui accedi al tuo sistema Linux.


Ti e piaciuto questo articolo?
Supporta il mio lavoro, facendo una donazione!

Click to comment

Leave a Reply

Esegui l'accesso per Commentare

Di tendenza