Uno dei casi più difficili di recupero è quando un file viene salvato con delle modifiche non desiderate; in questo caso nella directory non esiste il vecchio file, in quanto il nome esiste ancora, ma punta ad una catena di inode diversa. In tal caso le utility del tipo extundelete non riescono a trovare la vecchia versione del file. Anche tool come ext4magic, che pure utilizzano le informazioni del journal per facilitare il recupero, non hanno dato i risultati desiderato.
È necessario utilizzare tool che scansionano lo spazio inutilizzato del disco. I due più famosi sono foremost (nel pacchetto Debian omonimo) e photorec (nel pacchetto Debian testdisk).
In questo caso abbiamo utilizzato foremost, tuttavia non bisogna farsi trarre in inganno dal nome; photorec è in grado di recuperare non solo immagini, ma anche documenti ZIP, Office, PDF, ecc.
Appena possibile montare il filesystem in read-only (nel nostro esempio è /dev/sda4
), in modo da evitare ulteriori scritture su di esso che potrebbero sovrascrivere lo spazio disco usato in precedenza dal file e aggiungono informazioni al journal allungando l'operazione di recupero.
Quindi si crea una directory per i file recuperati e si utilizza foremost:
mkdir /root/undelete foremost -v -i /dev/sda4 -t zip -o /root/undelete
I file salvati da LibreOffice sono in effetti file .zip, che è possibile ispezionare con normali programmi archivio (es. anche con Midnight Commander).
Per chi lavora con LibreOffice è opportuno attivare l'opzione Strumenti ⇒ Opzioni ⇒ Carica/Salva ⇒ Salva informazioni di ripristino ogni X minuti e Crea sempre copie di sicurezza.
L'ozione Crea sempre copie di sicurezza salva una copia della versione precedente del file prima di sovrascriverlo, cioè si avrà come sicurezza solo la penultima versione del file. Il file viene salvato in $HOME/.config/libreoffice/4/user/backup/.