Ripristinare Ubuntu da terminale

Questa guida completa mostra come ripristinare Ubuntu da terminale, con procedure testate per risolvere i problemi più comuni che impediscono l’avvio o il funzionamento corretto del sistema. L’approccio si concentra sul terminale perché è lo strumento più affidabile quando l’interfaccia grafica non risponde, quando il sistema è in sola lettura o quando è necessario intervenire su partizioni e bootloader.

La guida copre i seguenti casi d’uso principali: a seguito di modifica di GRUB in Linux Mint, ripristino di GRUB su sistemi BIOS/MBR e UEFI, utilizzo di chroot da Live USB per reinstallare componenti, riparazione di pacchetti con apt/dpkg, ricostruzione di initramfs, controllo di filesystem con fsck, gestione di LVM e partizioni cifrate LUKS, recupero dei dati e strategie di prevenzione per non trovarsi impreparati in futuro.

Indice degli argomenti

All’inizio: link utile e precauzioni

Prima di lanciarti nelle procedure, alcune avvertenze importanti:

  • Identifica con precisione i dispositivi e le partizioni del tuo sistema: usa lsblk -o NAME,FSTYPE,SIZE,UUID,MOUNTPOINT,LABEL e blkid.
  • Non eseguire fsck su partizioni montate in scrittura: smonta o avvia da Live USB prima di intervenire.
  • Se possibile, fai un backup dei dati essenziali (soprattutto /home) su un disco esterno prima di operazioni invasive.
  • Annota gli errori esatti e i log (es. output di journalctl -b -1, /var/log/apt), saranno utili per diagnosi più approfondite.

La parola chiave di questa guida è volutamente ripetuta per scopi SEO e per aiutare la leggibilità: ripristinare ubuntu da terminale. Verrà usata in modo naturale nei titoli e nei testi delle sezioni per rendere l’articolo coerente e facilmente rintracciabile.

Quando usare il terminale per il ripristino

Usa il terminale quando l’ambiente grafico è assente o instabile, quando il boot si blocca, o quando devi intervenire su partizioni, LVM o cifratura. Ecco alcune situazioni tipiche in cui il terminale è la scelta corretta:

  • Schermata nera all’avvio o loop di riavvii.
  • Errore di initramfs o kernel panic.
  • GRUB non mostra il menu o viene bypassato.
  • Partizioni montate in sola lettura o filesystem corrotti.
  • Aggiornamento di sistema interrotto che ha lasciato apt o dpkg in uno stato inconsistente.
  • Necessità di recuperare dati prima di una reinstallazione.

In presenza di accesso remoto tramite SSH, puoi agire da un altro host con il terminale; questo è particolarmente comodo per server o macchine headless. Per desktop con problemi gravi, però, il metodo più affidabile è avviare una Live USB e lavorare offline sul filesystem.

Strumenti e preparazione (Live USB, backup, comandi essenziali)

Strumenti base che dovresti avere pronti prima di ripristinare Ubuntu da terminale:

  • Live USB con la stessa versione o una versione compatibile di Ubuntu o una distro di ripristino.
  • Disco esterno per backup (USB HDD, SSD).
  • Conoscenza dei comandi: lsblk, blkid, fdisk, mount, umount, chroot, grub-install, update-grub, cryptsetup, vgchange, fsck, apt/dpkg, rsync.

Creare una Live USB (metodo rapido)

Su Linux:

wget -O ubuntu.iso ""
sudo dd if=ubuntu.iso of=/dev/sdX bs=4M status=progress oflag=sync

Sostituisci /dev/sdX con la tua USB. Se preferisci una GUI, usa balenaEtcher o Rufus su Windows.

Comandi diagnostici rapidi

sudo lsblk -o NAME,FSTYPE,SIZE,UUID,MOUNTPOINT,LABEL
sudo blkid
sudo fdisk -l
sudo efibootmgr -v   # su sistemi UEFI

Questi comandi ti daranno l’istantanea del layout del disco, delle UUID e delle partizioni EFI eventualmente presenti.

Chroot: come e perché usarlo (procedura dettagliata)

Il chroot permette di trattare il filesystem montato come se fosse la root del sistema corrente. Questo è essenziale per reinstallare pacchetti, aggiornare initramfs o reinstallare GRUB come se fossi nel sistema installato.

Passaggi dettagliati per chroot (da Live USB)

  1. Avvia la Live USB e apri un terminale.
  2. Identifica la partizione root del sistema che vuoi ripristinare: sudo lsblk -o NAME,MOUNTPOINT,FSTYPE,SIZE,UUID.
  3. Montala (esempio: root su /dev/sda2):
sudo mount /dev/sda2 /mnt                     # montare la root
sudo mount /dev/sda1 /mnt/boot/efi               # se hai EFI (vfat)

Quindi monta i bind necessari e i file speciali:

for d in /dev /dev/pts /proc /sys /run; do sudo mount --bind $d /mnt$d; done
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf    # porta i DNS dentro il chroot
sudo chroot /mnt /bin/bash

Ora sei effettivamente dentro il sistema installato. Puoi eseguire comandi come apt update, grub-install, update-grub, update-initramfs, ecc.

Uscire dal chroot

exit
for d in /run /sys /proc /dev/pts /dev; do sudo umount /mnt$d || true; done
sudo umount /mnt/boot/efi || true
sudo umount /mnt

Se incontri messaggi che la partizione è occupata, verifica i processi con lsof +f -- /mnt o fuser -m /mnt e termina quelli necessari prima di smontare.

Ripristinare l’avvio: GRUB, UEFI e MBR (casi concreti)

Il fallimento dell’avvio è spesso dovuto a GRUB mancante o corrotto, a cambi di UUID dopo operazioni su partizioni, o a problemi con la partizione EFI su sistemi UEFI. Vediamo come intervenire in base allo scenario.

Scenario A: GRUB mancante su BIOS/MBR

Se usi BIOS tradizionale (MBR) e GRUB è stato sovrascritto (ad esempio da installazione Windows), procedi così:

# da Live USB, dopo chroot come sopra
grub-install /dev/sda
update-grub

Nota: /dev/sda è il device del disco (non una partizione).

Scenario B: Ripristinare GRUB su UEFI

Per sistemi UEFI, assicurati che la partizione EFI sia montata su /boot/efi nel chroot e usa l’opzione --efi-directory:

sudo mount /dev/sda1 /mnt/boot/efi    # EFI (vfat)
sudo chroot /mnt
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck
update-grub

Se usi Secure Boot, potresti dover usare shim-signed e registrare chiavi MOK tramite mokutil, oppure disattivare temporaneamente Secure Boot dal firmware per completare l’installazione di driver non firmati.

Scenario C: GRUB funziona ma mancano voci o il kernel non appare

Prova a rigenerare la configurazione di GRUB:

sudo update-grub

Se certi kernel non compaiono, verifica la directory /boot e assicurati che linux-image-... e initrd.img-... esistano. In caso contrario reinstalla il kernel con apt-get install --reinstall linux-image-generic.

Diagnostica avanzata con efibootmgr

sudo efibootmgr -v
# per cambiare l'ordine di boot
sudo efibootmgr -o 0001,0002,0003

Usa efibootmgr con cautela: modificare le variabili di boot può rendere la macchina non avviabile se non sei sicuro di quello che fai.

Riparare apt e dpkg — pacchetti corrotti o dipendenze mancanti

Un sistema con apt o dpkg bloccato può non avviarsi correttamente. Le operazioni seguenti sono da eseguire preferibilmente dopo il chroot.

Passi consigliati

sudo apt-get update
sudo apt-get install --reinstall ubuntu-desktop   # oppure il meta-package che usi
sudo dpkg --configure -a
sudo apt-get -f install
sudo apt-get upgrade

Se apt è rotto in modo critico, puoi scaricare manualmente i pacchetti .deb da un altro PC, copiarli nella Live USB e installarli con dpkg -i (o usare uno script per installare più .deb in sequenza).

Forzare reinstallazioni di pacchetti critici

sudo apt-get install --reinstall systemd dpkg apt libc6

Attenzione: reinstallare libc6 o altri pacchetti fondamentali può essere rischioso; assicurati di avere una Live USB pronta e i backup nel caso qualcosa vada storto.

Kernel, driver grafici e problemi con X/Wayland

Se il sistema si avvia fino alla schermata di login o mostra uno schermo nero, il problema potrebbe essere nel kernel, nei driver grafici (NVIDIA/AMD) o nella configurazione di Xorg/Wayland.

Controllo log

journalctl -b -p err --no-pager
systemctl status display-manager
cat /var/log/Xorg.0.log | tail -n 100

Reinstallare kernel e headers

sudo apt-get install --reinstall linux-image-generic linux-headers-generic
sudo update-grub

Driver proprietari (es. NVIDIA)

Se usi driver proprietari e hai appena aggiornato il kernel, potresti dover reinstallare i driver NVIDIA (o AMD) per il nuovo kernel:

sudo apt-get purge '^nvidia-.*'
sudo apt-get install nvidia-driver-xxx    # sostituisci con la versione necessaria

Per driver installati manualmente (es. file .run di NVIDIA), rimuovili e usa i pacchetti ufficiali del repository quando possibile.

Ripristinare Xorg

sudo apt-get install --reinstall xserver-xorg-core xserver-xorg-video-all
sudo dpkg-reconfigure xserver-xorg

Filesystem: controllo e riparazione (fsck) e gestione dello spazio

Un filesystem corrotto può portare alla modalità read-only o a fallimenti di avvio. Usa fsck esclusivamente su partizioni non montate o da Live USB.

Eseguire fsck in sicurezza

sudo umount /dev/sda2
sudo fsck -f -y /dev/sda2

L’opzione -f forza il controllo e -y accetta automaticamente le riparazioni. Se la partizione è LVM o cifrata, aprila/attivala prima.

Analizzare spazio disco

df -h
du -sh /var/log/*
sudo journalctl --vacuum-time=3d   # pulire i log più vecchi

Se il disco è pieno, svuota cache pacchetti (sudo apt-get clean) e rimuovi file temporanei prima di eseguire altre operazioni.

LVM e LUKS: procedure per volumi logici e dischi cifrati

Molti utenti usano LVM per la flessibilità delle partizioni e LUKS per cifrare il disco. In questi casi il ripristino richiede passi aggiuntivi: aprire il contenitore cifrato e attivare i volumi LVM.

Aprire una partizione LUKS

sudo cryptsetup luksOpen /dev/sda3 cryptroot
sudo vgscan --mknodes
sudo vgchange -ay

Montare i volumi LVM

sudo lvdisplay
sudo mount /dev/mapper/vgubuntu-root /mnt

Procedi poi con i passaggi di chroot: bind dei pseudo-file system, copia di /etc/resolv.conf e chroot /mnt. Dopo il chroot puoi aggiornare initramfs e grub come su un sistema non cifrato.

Ricostruire initramfs con LUKS

sudo update-initramfs -u -k all

Assicurati che i pacchetti necessari per criptare all’avvio siano presenti nel sistema chrootato (cryptsetup, initramfs-tools).

Recupero dati: come salvare /home e file essenziali

Se l’obiettivo principale è recuperare i file utente, la priorità è montare la partizione e copiare i dati su un disco esterno. Usa rsync per mantenere permessi e attributi.

sudo mount /dev/sda2 /mnt
sudo rsync -aAXv --progress /mnt/home/tuoutente /media/backup/

Opzioni chiave di rsync:

  • -a archive (preserva permessi, link simbolici e timestamp)
  • -A ACL
  • -X attributi estesi

Recuperare file cancellati

Per ext4 puoi provare extundelete (funziona solo se il filesystem non è stato riscritto). Per file binari multipli photorec può essere utile ma richiede tempo e non garantisce struttura delle cartelle.

Esempi pratici estesi

Esempio A — Ripristino completo GRUB su UEFI (caso reale)

Sintesi del problema: dopo installazione di Windows, la macchina non mostra più GRUB e avvia Windows. Obiettivo: ripristinare GRUB e far tornare l’avvio di Ubuntu.

  1. Avvia da Live USB di Ubuntu.
  2. Apri terminale ed esegui sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL,UUID per identificare la root (es. /dev/sda2) e la EFI (es. /dev/sda1).
  3. Montare le partizioni:
sudo mount /dev/sda2 /mnt
sudo mkdir -p /mnt/boot/efi
sudo mount /dev/sda1 /mnt/boot/efi

Quindi bind dei pseudo filesystem e chroot:

for d in /dev /dev/pts /proc /sys /run; do sudo mount --bind $d /mnt$d; done
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf
sudo chroot /mnt /bin/bash

Dentro il chroot:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck
update-grub
exit

Smonta e riavvia. GRUB dovrebbe tornare con le opzioni per Ubuntu e Windows.

Esempio B — Ripristino initramfs e reinstallazione kernel

Sintesi del problema: il sistema mostra kernel panic per mancanza di initramfs aggiornato dopo aggiornamento o cambio di hardware.

sudo chroot /mnt
update-initramfs -c -k all
apt-get install --reinstall linux-image-generic
update-grub
exit

Esempio C — Sistema non avvia per spazio disco esaurito

Se il disco è pieno il sistema può non avviarsi correttamente. Accedi via Recovery o Live USB, libera spazio e poi riavvia:

df -h
sudo journalctl --vacuum-size=200M
sudo apt-get clean
sudo rm -rf /var/cache/apt/archives/*

Script e automazione per il ripristino: esempi pratici

Gli script possono velocizzare operazioni ripetitive come montare dispositivi e entrare in chroot. Ecco uno script di esempio: modificalo prima di eseguirlo per adattare i device al tuo sistema.

#!/bin/bash
# mount-and-chroot.sh - helper per Live USB
ROOT_DEV=/dev/sda2
EFI_DEV=/dev/sda1
MNT=/mnt/restore

set -e
sudo mkdir -p $MNT
sudo mount $ROOT_DEV $MNT
if [ -b "$EFI_DEV" ]; then
  sudo mkdir -p $MNT/boot/efi
  sudo mount $EFI_DEV $MNT/boot/efi
fi
for d in /dev /dev/pts /proc /sys /run; do sudo mount --bind $d $MNT$d; done
sudo cp /etc/resolv.conf $MNT/etc/resolv.conf
sudo chroot $MNT /bin/bash
# Dopo l'uso: exit e smonta con lo script smonta-mnt.sh

Uno script di smontaggio:

#!/bin/bash
MNT=/mnt/restore
set -e
sudo umount -l $MNT/run || true
sudo umount -l $MNT/sys || true
sudo umount -l $MNT/proc || true
sudo umount -l $MNT/dev/pts || true
sudo umount -l $MNT/dev || true
sudo umount -l $MNT/boot/efi || true
sudo umount -l $MNT || true

Checklist rapida (stampabile) — procedura per ripristinare Ubuntu da terminale

  1. Preparare Live USB e disco esterno per backup.
  2. Annotare layout dischi: lsblk, blkid, fdisk -l.
  3. Montare partizione root e (se necessario) EFI.
  4. Bind di /dev /proc /sys /run e chroot.
  5. Reinstallare GRUB (grub-install) e aggiornare configurazione (update-grub).
  6. Reinstallare kernel/initramfs se necessario (update-initramfs, apt --reinstall).
  7. Controllare filesystem con fsck su partizioni non montate.
  8. Recuperare dati con rsync -aAX su disco esterno.
  9. Smontare correttamente e riavviare per testare il sistema.

FAQ estesa — domande frequenti su ripristinare Ubuntu da terminale

È pericoloso usare grub-install?
Se eseguito sul dispositivo corretto (es. /dev/sda) non è pericoloso. Il rischio principale è installare il bootloader sul disco sbagliato o su una partizione invece che sul device. Verifica sempre con lsblk quale sia il nome corretto del disco.
Posso ripristinare Ubuntu senza Live USB?
Se il sistema è ancora avviabile via recovery mode o SSH, potresti risolvere molti problemi senza Live USB. Tuttavia, per operazioni su filesystem non montati, per fsck o per correggere GRUB completamente, la Live USB è raccomandata.
Cosa faccio se il disco è cifrato e non vedo la root?
Apri la partizione LUKS con cryptsetup luksOpen /dev/sdXN nome, poi attiva i volumi LVM con vgchange -ay. Solo dopo monta i logical volume come root e procedi con chroot.
Devo disabilitare Secure Boot per ripristinare GRUB?
Non sempre. Se il pacchetto shim-signed è presente e configurato correttamente, puoi installare GRUB con Secure Boot abilitato. In caso di problemi, disattivare temporaneamente Secure Boot nel firmware è una via rapida per escludere la firma come causa.
Come recupero le vecchie versioni dei file di configurazione?
Controlla se ci sono snapshot (Timeshift, snapshots LVM) o backup manuali in /etc. In mancanza di backup, potresti dover creare manualmente le configurazioni o ripristinare da un’installazione identica su un altro sistema.
È possibile automatizzare il ripristino?
Sì: script possono aiutare a montare, chrootare e lanciare comandi ripetitivi. Tuttavia, non automatizzare operazioni distruttive come il ridimensionamento delle partizioni senza conferma umana.

Conclusioni e raccomandazioni finali

Abbiamo visto un set esteso di tecniche per ripristinare Ubuntu da terminale, dalle più semplici (reinstallare GRUB) alle più complesse (LVM e LUKS). Il terminale offre il controllo e la precisione necessari per intervenire quando l’interfaccia grafica non è disponibile, ma richiede attenzione: verifica sempre i device e fai backup prima di operazioni invasive.

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *