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.