GNU/Linux >> Linux Esercitazione >  >> Linux

Cosa fare in caso di panico del kernel Linux

Linux è usato ovunque nel mondo IT. Probabilmente hai usato Linux oggi, anche se non te ne sei accorto. Se hai imparato qualcosa su Linux, allora sai che è davvero un kernel. Il kernel è l'unità principale del sistema operativo (OS) Linux ed è responsabile delle comunicazioni tra l'hardware di un computer e i suoi processi.

In questo articolo imparerai una situazione relativa al kernel Linux:il panico del kernel . Il termine stesso può renderti te panico, ma se hai la giusta conoscenza, allora puoi rimanere calmo. Ogni amministratore di sistema affronta questo problema almeno una volta nella sua carriera, ma reinstallare il sistema non è la prima soluzione a cui dovresti rivolgerti.

Cos'è un kernel panic?

Un panico del kernel è uno dei numerosi problemi di avvio di Linux. In termini di base, è una situazione in cui il kernel non può essere caricato correttamente e quindi il sistema non si avvia. Durante il processo di avvio, il kernel non viene caricato direttamente. Invece, initramfs carica nella RAM, quindi punta al kernel (vmlinuz ), quindi il sistema operativo si avvia. Se initramfs viene danneggiato o eliminato in questa fase a causa di patch, aggiornamenti o altre cause recenti del sistema operativo, quindi dobbiamo affrontare il panico del kernel.

Se approfondiamo ulteriormente il processo di avvio, incontriamo il "problema pollo/uovo" di Linux.

[ Ai lettori è piaciuto anche: terminali, shell, console e righe di comando ]

Quando viene avviato un processo di avvio del sistema Linux dopo il passaggio MBR (Master Boot Record), viene caricato GRUB. Il kernel deve essere caricato nella RAM per avviare il sistema operativo, ma il kernel si trova sul disco rigido (/boot/vmlinuz ), e il disco rigido non è ancora montato su / . Senza il montaggio, non è possibile accedere a nessun file, nemmeno al kernel. Per ovviare a questo, prima initramfs /initrd carica direttamente nella RAM e monta /boot partizione in modalità di sola lettura. Successivamente, monta l'hard disk su / partizione e il processo continua.

# ls -lrth /boot/

Questo processo sottolinea l'importanza di initramfs /initrd nel processo di avvio di Linux.

Perché si verificano i kernel panic?

Si verificano panico del kernel:

  1. Se il initramfs il file viene danneggiato.
  2. Se initramfs non è stato creato correttamente per il kernel specificato. Ogni versione del kernel ha il proprio initramfs corrispondente .
  3. Se il kernel installato non è supportato o non è installato correttamente.
  4. Se le patch recenti presentano dei difetti.
  5. Se un modulo è stato installato da online o da un'altra fonte, ma initrd l'immagine non viene creata con l'ultimo modulo installato.

Come risolvere i problemi?

La prima cosa da fare dopo aver visto un errore di panico del kernel è non andare nel panico, perché ora sei a conoscenza del file immagine relativo all'errore.

Passaggio 1 :avvia normalmente il sistema con la versione del kernel fornita.

Quindi potresti visualizzare questo errore:

Premi Invio o qualsiasi chiave, quindi vedrai quanto segue:

Questa è la tua situazione di panico del kernel.

Passaggio 2 :riavvia nuovamente la macchina e seleziona il salvataggio richiesta.

In RHEL 6 o versioni precedenti non abbiamo questa opzione, ma in RHEL 7 e versioni successive abbiamo un'immagine di ripristino integrata.

Questa immagine avvia normalmente il tuo sistema operativo.

Passaggio 2.1 :Vai a /boot ed elenca tutti i file. Qui vedrai che non c'è nessun initramfs per il tuo kernel, ma c'è un initramfs file per il salvataggio con cui hai avviato il tuo sistema e un altro è per kdump .

Gli initramfs per il kernel manca.

Passaggio 3 :Dovrai creare un nuovo initramfs file che corrisponde alla versione del tuo kernel.

Passaggio 3.1 :Per prima cosa controlla la tua versione del kernel:

#uname -r

Passaggio 3.2 :Quindi, esegui dracut comando:

#dracut -f <initrd-image> <kernal-version>

3.3) Elenca il /boot contenuto della directory di nuovo. Gli initramfs il file per il kernel è ora creato.

Passaggio 4 :Ora, quando avvii normalmente, la tua macchina si avvia senza un errore di panico del kernel.

Passaggio 5 :Potrebbe verificarsi una situazione quando avvii il tuo sistema con un'immagine di ripristino con la creazione di un nuovo initramfs file in cui non è stato possibile creare un nuovo file perché era già presente.

A questo punto, dobbiamo creare un initramfs immagine con mkinitrd comando o dracut comando.

Passaggio 5.1 :controlla prima la versione del tuo kernel usando uname -r comando.

Passaggio 5.2 :Esegui mkinitrd comando con il --force opzione e le specifiche del tuo kernel:

#mkinitrd --force <initrd-Image> <Kernel-Version>

I tuoi initramfs il file viene rigenerato con questi brevi passaggi e ora puoi avviare il tuo sistema operativo senza errori.

[ Ebook gratuito:gestisci il tuo ambiente Linux per il successo ]

Conclusione

Ora, ogni volta che vedi un errore di panico del kernel, sicuramente non panico perché sai perché si è verificato questo errore e come risolverlo. Questo articolo copre uno dei comuni problemi di avvio di Linux:il panico del kernel. Ci sono così tanti altri potenziali problemi di avvio che possono verificarsi in Linux, ma la risoluzione di questi problemi diventerà molto meno un panico quando acquisirai una conoscenza avanzata del tuo sistema.


Linux
  1. Cos'è Umask in Linux

  2. Cosa rende fondamentale un server Linux del kernel?

  3. Cosa significa dire che il kernel Linux è preventivo?

  4. Qual è il significato di EXPORT_SYMBOL nel codice del kernel Linux?

  5. Come configurare in anticipo il kernel Linux per il riavvio in caso di panico?

Comando Dmesg in Linux

Comando Sysctl in Linux

Cos'è umask in Linux?

Linux Kernel 5.9:Novità e come eseguire l'aggiornamento

Che cos'è la shell in Linux?

Kernel Linux vs. Kernel Mac