Di recente ho avuto la sfortuna di eseguire lo script python seguente:
python -c 'import shutil; [shutil.rmtree(p, True) for p in ("build", "dist", "docs/_build")]'
che, espanso, è equivalente a:
import shutil
shutil.rmtree(p, True) for p in ("build", "dist", "docs/_build")
Il problema è che, con la fretta di riutilizzare lo script, ho fatto il terribile errore di non aggiungere una virgola dopo una tupla con un solo elemento.
import shutil
shutil.rmtree(p, True) for p in ("docs/_build")
il che significa che lo script cercherà di eliminare i file d
, o
, c
, s
, /
, _
, B
, u
, i
, l
, d
.
Ma, come i più attenti avranno notato, il quinto “file”, /
, è in realtà la directory root.
Tutti i file non protetti da permessi elevati sarebbero stati eliminati.
La mia reazione è stata troppo lenta, e mi sono ritrovato con più buchi nel sistema di un formaggio svizzero, e con la necessità di un reinstallazione completa.
Per lo meno la maggior parte del mio lavoro era salvato su Github, GitLab o Google Drive.
Accesso al menu Grub
Su alcuni sistemi, il menu Grub è la prima cosa che si vede all’avvio del computer.
Ma su altri, bisogna utilizzare una combinazione di tasti all’avvio.
Il metodo che ho trovato funzionare nel mio caso è stato premere Esc
più volte durante il processo di avvio.
Ho anche letto che premere Del
o F2
potrebbe funzionare.
Grub protetto da password
Raggiunto il menu Grub, mi è stata richiesta una password.
Provando le credenziali del mio utente non ho ottenuto risultati.
Dopo un po’ di indagini, ho scoperto che la password era impostata nel file /etc/grub.d/10_linux
.
set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF
Non avendo voglia di recuperare la password, ho deciso di cambiarla in qualcosa di più semplice (e molto meno sicuro)
set superusers="root"
password root root
Dopo aver salvato il file, ho eseguito sudo update-grub
e riavviato il sistema.
Reinstallazione di Ubuntu
Dopo aver riavviato il sistema, mi è stato presentato il menu Grub.
Il mio obiettivo era utilizzare la chiavetta USB con l’iso di Ubuntu 24.04 per reinstallare il sistema.
Utilizzando il tasto c
, ho accesso alla linea di comando di Grub e ho eseguito i seguenti comandi:
ls # Per elencare i drive disponibili
set root=(hd0) # Per impostare il drive root alla chiavetta USB
find / # Per assicurarmi di aver selezionato il drive giusto
chainloader /EFI/boot/bootx64.efi # Per avviare il sistema dalla chiavetta USB
boot # Per effettuare il boot
Da lì, sono stato in grado di seguire il processo di installazione di Ubuntu e recuperare il mio sistema.