GNU/Linux >> Linux Esercitazione >  >> Linux

systemd per consentire il fallback automatico su un kernel precedente in caso di errore di avvio

Di recente, systemd ha lanciato una nuova funzionalità per gestire gli errori di avvio. Leggiamolo in questa breve copertura sullo stesso.

Cos'è systemd, di nuovo?

Systemd è un demone di sistema che funge da suite software di elementi costitutivi di base per un sistema Linux. Facilita la gestione del sistema e del servizio e avvia il resto del sistema. È convenzionalmente rappresentato tutto in lettere minuscole come systemd (demone di sistema) secondo gli standard Unix/Linux.

È stato avviato come progetto di sviluppo nel 2010 da Lennart Poettering e Kay Sievers. Fedora è diventata la prima grande distribuzione a includere systemd per impostazione predefinita da maggio 2011.

L'inclusione di systemd ha creato una sorta di rivolta negli utenti Linux veterani. Distribuzioni come Devuan sono state create solo per tenere lontano systemd.

Non entrerò nel dibattito systemd vs init qui. Questa è interamente la tua chiamata se capisci i tecnicismi. Condividerò la nuova funzionalità di systemd insieme alla mia esperienza nel correggere gli errori di avvio con esso.

Conteggio avvio:l'ultima funzionalità di Systemd

Come suggerisce la frase, il conteggio dei tentativi di avvio fa parte di una versione rivista di systemd "Automatic Boot Assessment", che consente di tenere traccia degli avviamenti e degli errori del kernel.

Con l'aiuto di questa valutazione, il sistema può ripristinare automaticamente una versione precedente del sistema operativo/kernel, nel caso in cui una più recente si rifiuti di avviarsi correttamente a causa di un errore.

La serie rivista di funzionalità di systemd 's la nuova valutazione automatica dell'avvio è disponibile nella documentazione di GitHub. Puoi leggerlo se sei interessato ai dettagli tecnici.

Gli sviluppatori suggeriscono inoltre che, oltre a fornire una soluzione completa sui sistemi UEFI, i diversi componenti possono anche essere utilizzati indipendentemente in combinazione con altri software.

Diagnostica dei problemi con systemd:My Experience

Sono entusiasta di questa nuova funzionalità di systemd. Ciò potrebbe far risparmiare un sacco di tempo e problemi agli utenti Linux. Condividerò la mia esperienza con il problema di avvio PRIMA systemd ha introdotto questa funzione di errore di avvio.

Sistema mi ha aiutato a diagnosticare un problema in passato sul mio sistema dual boot e penso che sarebbe utile condividere l'esperienza qui, per conoscere la sua intraprendenza:

Una volta, durante il tentativo di avviare il mio sistema Ubuntu 16.04 LTS, ho ricevuto il seguente messaggio di errore dopo aver selezionato lo stesso da GRUB:

Ero allarmato dal motivo per cui essere stato "accolto" con un messaggio così fastidioso all'improvviso dopo un'intensa giornata di lavoro. Quando ho letto che sta menzionando uno dei dischi rigidi del mio PC (/dev/sdb3), ho avuto il suggerimento che potrebbe avere a che fare con la funzione di ibernazione di Windows 10 e il fatto che i tentativi di spegnimento su Windows 10 sono in realtà ibernazioni parziali per un avvio più veloce.

Non appena ho ricevuto questo suggerimento, ho avviato Windows e ho eseguito uno spegnimento completo tenendo premuto il tasto Maiusc e quindi facendo clic su Spegnimento dal menu di avvio di Windows, dopodiché sono stato in grado di accedere con successo a Ubuntu. D'ora in poi, ho disabilitato "avvio rapido" e ibernazione su Windows.

Quando ho esaminato i log con l'aiuto del comando, su Ubuntu, ho scoperto che il messaggio di errore fa parte di systemd le caratteristiche di Ho usato il comando seguente per memorizzare l'output completo del comando in un file di registro:

journalctl -xb | tee systemdlogged.log

Esaminando il file di registro, ho potuto riconfermare che era effettivamente dovuto a un'ibernazione parziale su Windows 10 (Impossibile creare una sessione:già in esecuzione in una sessione ).

Lo ami o lo odi?

Come puoi vedere, questo nuovo fallback automatico al kernel più vecchio farebbe risparmiare agli utenti Linux alcuni problemi qui.

Questa idea consentirebbe l'implementazione di schemi simili su altri caricatori di avvio o sistemi non UEFI. Forse systemd può essere preso in considerazione anche per l'uso con LinuxBoot in futuro?



Linux
  1. È possibile avviare il kernel Linux senza creare un'immagine initrd?

  2. Come passare un valore a un modulo del kernel Linux integrato all'avvio?

  3. Ridimensionamento della partizione di avvio

  4. Salta il modulo del kernel all'avvio

  5. systemd continua a rigenerare pulseaudio e non mi permette di fermarlo

Come impostare gli aggiornamenti automatici del kernel su Linux

Come modificare i parametri di avvio del kernel su Linux

Cosa fare in caso di panico del kernel Linux

Linux, GPU AMD, schermo nero all'avvio

CentOS / RHEL 6:come avviare in modalità utente singolo

Dipendenze di Systemd e ordine di avvio