ripristinare un file appena eliminato su ext4 con extundelete


54

Esiste una semplice opzione su extundeletecome posso provare a ripristinare un file chiamato /var/tmp/test.isoche ho appena cancellato?

(Non è così importante che inizierei a rimontare l'unità di sola lettura o cose del genere. Posso anche scaricare nuovamente quel file)

Sto cercando un semplice comando con cui posso provare se riesco a recuperarlo rapidamente.

Lo so, è possibile rimontare l'unità in sola lettura : (vedi Come posso semplicemente ripristinare l'unico file su un disco vuoto appena cancellato? )

Ma questo è possibile anche in qualche modo sul disco ancora montato?



L'altra domanda è troppo ampia. Qui sto cercando una soluzione veloce e insicura senza troppi sforzi (e meno possibilità di successo)
— rubo77

Non intendevo implicare la duplicazione, ma potresti voler aggiungere alla domanda perché quella domanda non era sufficiente.
— Ciro Santilli 17 改造 中心 法轮功 六四 事件

Risposte:


36

Guardando la guida all'uso su extundelete sembra che tu ti limiti a rimuovere in qualche modo i file.

Ripristino di tutto

extundelete è progettato per ripristinare i file da una partizione non montata a una partizione separata (montata). extundelete ripristinerà tutti i file trovati in una sottodirectory della directory corrente denominata "RECOVERED_FILES". Per eseguire il programma, digitare "extundelete --help" per vedere le varie opzioni disponibili.

L'utilizzo tipico per ripristinare tutti i file eliminati da una partizione è simile al seguente:

    $ extundelete /dev/sda4 --restore-all

Ripristino di un singolo file

Oltre a questo metodo evidenziato nell'uso della riga di comando:

--restore-file path/to/deleted/file
    Attemps to restore the file which was deleted at the given filename, 
    called as "--restore-file dirname/filename".

Quindi dovresti essere in grado di realizzare ciò che vuoi fare questo:

$ extundelete --restore-file /var/tmp/test.iso /dev/sda4

NOTA: in entrambi i casi è necessario conoscere il dispositivo /dev/sda4per eseguire questo comando. Dovrai rimontare il filesystem in sola lettura. Questa è una delle condizioni d'uso extundeletee non c'è alcun modo per aggirare questo.


2
sì, ma tutto funziona solo se rimonto l'unità di sola lettura
— rubo77

1
@ rubo77 - esatto, non c'è modo di aggirarlo.
— slm

2
Questo in realtà ha funzionato per me un filesystem ext4 senza rimontarlo in sola lettura. Se provi a farlo senza rimontare il r / o, allora ricevi un avvertimento che sembra dirti che la tua probabilità di successo è inferiore se lo fai. Se è davvero molto importante recuperare il file, sembra che dovresti farlo.
— Ben Crowell,

Come @BenCrowell che ho usato senza rimontaggio, ma il programma mi informa sulla corruzione dei dati se continuo ad usare hdd ... è stato un recente annullamento, quindi premo Invio e
— riavvia i

16

Lo scenario di utilizzo tipico quando si deselezionano tutti i file include la necessità di ripristinare tutti i file eliminati /dev/sdX1dall'ultima ora circa:

mount -o remount,ro /dev/sdX1
extundelete --restore-all --after $(date -d "-2 hours" +%s) /dev/sdX1
find RECOVERED_FILES/

Se soddisfatto dei file recuperati:

mount -o remount,rw /dev/sdX1

mount: è necessario specificare il tipo di filesystem

remount prevede il mount point come argomento, non per il dispositivo
— Don't You Worry Child,

@ Don'tYouWorryChild mount -oaccetta dir o device, come daman mount
— sanmai

Invece di sottrarre 2 ore dalla data che puoi fare $(date -d "-2 hours" +%s)e l'output di lsblk -ppuò essere utile per trovare dove si trova quel volume EXT4 memorizzato nella cache LVM crittografato LUKS. ;)
— LiveWireBT il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.