Passa al contenuto

Ripristino da errori di boot

Può essere molto angosciante quando un computer non riesce a partire normalmente! Di seguito alcuni meccanismi di ripristino:

Tornare a una versione precedente del sistema operativo (SO)

Se il problema di boot compare dopo aver aggiornato il sistema, il ripristino alla versione precedente in genere corregge il problema.

Per eseguirlo:

  1. Accendi o riavvia la macchina.
  2. Tieni premuto la Barra spaziatrice fino a quando compare la scelta della versione del sistema operativo (testo bianco al centro dello schermo su sfondo nero).
  3. Premi il tasto freccia giù per selezionare una versione precedente del sistema operativo.
  4. Premi Invio per eseguirvi il boot.

Se tornare a una versione precedente del sistema operativo risolve il problema, segnalalo qui, e allega l'output dell'esecuzione del comando journalctl --boot -1 --no-pager in una finestra di terminale.

Diversamente, puoi cambiare il modo in cui si avvia il sistema alterando i parametri della riga di comando del kernel per ottenere ulterior vari approcci di debug:

Avvio del sistema in modo differente cambiando la riga di comando del kernel

Per modificare la riga di comando del kernel:

  1. Accendi o riavvia la macchina.
  2. Tieni premuto la Barra spaziatrice fino a quando compare la scelta della versione del sistema operativo (testo bianco al centro dello schermo su sfondo nero).
  3. Premi il tasto e.
  4. Comparirà un campo di testo molto lungo: questa è la riga di comando del kernel.

Disabilita le estensioni di systemd

Aggiungi systemd.mask=systemd-sysext.service alla riga di comando del kernel, quindi premi Invio.

Quest'operazione è utile se è attiva una qualsiasi delle estensioni di systemd, e il problema di avvio è iniziato dopo aver aggiornato il contenuto di una delle estensioni; questa potrebbe essere la causa. La disattivazione temporanea delle estensioni dovrebbe risolvere il problema, in attesa che scopri cosa c'è che non va.

Se quest'operazione funziona, dopo l'accesso esegui il debug per sapere cosa non va nell'estensione e correggi il problema. Se non riesci a farlo, disabilitala.

Bypassare i problemi con la schermata di accesso o di Plasma

Aggiungi systemd.unit=multi-user.target alla riga di comando del kernel, quindi premi Invio.

Utile se la schermata di accesso o di Plasma non sta funzionando per l'avvio o vai in crash ciclico; puoi avviare all'interno di un ambiente a riga di comando che bypassa entrambi, al cui interno è possibile eseguire il debug.

Se il debug e la risoluzione dell'errore determina che il problema non è stato causato da una tua azione, apri una segnalazione di errore per la squadra di KDE Linux in modo da investigare.

Entrare nella emergency root shell

  1. Aggiungi systemd.debug_shell=on SYSTEMD_SULOGIN_FORCE=1 alla riga di comando del kernel e premi Invio.
  2. Attendi che la schermata diventi nera poi aspetta qualche secondo.
  3. Premi Ctrl+Alt+F9 (nota: nei portatili potresti dover premere anche Fn).

Ora ti trovi nella emergency root shell.

Se il debug e la risoluzione dell'errore determina che il problema non è stato causato da una tua azione, apri una segnalazione di errore per la squadra di KDE Linux in modo da investigare.

Torna indietro a /etc

È possibile che /etc venga modificato quando avviato all'interno di una particolare build in un modo che lo rende incompatibile con build precedenti.

Questo può generare problemi strani dopo aver ripristinato il sistema operativo, tipo schermate nere o password di accesso che non vengono accettate, o run0 che non esegue niente dopo l'autenticazione.

Per ripristinare, sostituisci il file /etc danneggiato con uno precedente funzionante nel seguente modo:

  1. Avvia una shell tramite uno dei metodi sopra menzionati ed esegui i comandi seguenti:
  2. run0 --empower
  3. mv /etc /etc.broken
  4. btrfs subvolume snapshot $(ls -d -1 /.etc.* | tail -2 | head -1) /etc
  5. systemctl reboot

Questi passaggi manuali non saranno più necessari una volta che sarà implementato https://invent.kde.org/kde-linux/kde-linux/-/issues/505.

Ulteriori informazioni


Articolo scritto da sotto licenza CC-BY-4.0.