Ripristino di file cancellati accidentalmente


79

Ho cancellato accidentalmente un file dal mio laptop. Sto usando Fedora. È possibile recuperare il file?


9
qual è il tuo filesystem?
echox,

Risposte:


94

Vorrei sconsigliare di installare immediatamente qualche utilità. Fondamentalmente il tuo più grande nemico qui sono le scritture su disco. Vuoi evitarli a tutti i costi in questo momento.

La tua scommessa migliore è un backup automatico creato dal tuo editor - se esiste. Altrimenti, proverei il seguente trucco usando grep se ricordi una stringa univoca nel tuo file .tex:

$sudo grep -i -a -B100 -A100 'string' /dev/sda1 > file.txt

Sostituisci /dev/sda1con il dispositivo su cui si trovava il file e sostituisci 'string'con la stringa univoca nel tuo file. Questo potrebbe richiedere del tempo. Ma fondamentalmente, ciò che fa è cercare la stringa sul dispositivo e quindi restituisce 100 righe prima e dopo quella linea e la inserisce file.txt. Se hai bisogno di più righe restituite, regola le opzioni -Be -Acome appropriato. Potresti ottenere un sacco di rifiuti extra restituiti, ma dovresti essere in grado di recuperare il tuo testo.

In bocca al lupo.


8
Qualcuno mi ha mostrato questo un paio di settimane dopo essere passato a Linux, quando ho ucciso un documento di testo di cui avevo davvero bisogno - mi ha fatto quasi impazzire
Michael Mrozek

18
A proposito, -B100 -A100può essere sostituito da equivalente -C100(C per "contesto"). E sicuramente non lo userei -ise fosse possibile, ma -Fal suo posto.
rozcietrzewiacz,

Probabilmente non sorprende - presumo che gli stessi blocchi del disco siano stati riutilizzati - questo metodo non ha funzionato per un file che ho accidentalmente sovrascritto, non cancellato accidentalmente.
ntc2,

Sì, sulla maggior parte dei file system, gli stessi blocchi vengono riutilizzati quando un file viene semplicemente sovrascritto. Si noti che alcune applicazioni "aggirano questo" in un certo senso scrivendo prima un file temporaneo (che lo rende una scrittura separata), quindi rinominando quel file sopra il vecchio file (che sostituisce i dati dal punto di vista dell'utente). Questo viene fatto per una serie di ragioni diverse. I sistemi di archiviazione (inclusi i file system) che lo fanno in ogni momento sono chiamati copia in scrittura .
un CVn

ti serve / dev / sda1 ?? Puoi semplicemente andare al direttore in cui si trovava il file ed eseguire senza / dev / sda1?
coolcool1994,

22

È possibile, sarà solo una seccatura.

AGGIORNAMENTO: prima di provare questo metodo, dai un'occhiata alla risposta di Steven .

Avrai bisogno del pacchetto testdisk , molto spazio su disco e molto tempo.

PhotoRec, una parte di TestDisk, può recuperare file da quasi tutti i dischi. PhotoRec supporta la ricerca di .texfile.


Innanzitutto, installa testdisk eseguendo

yum install testdisk

nota: avrai bisogno di molto spazio libero su un'altra unità, dove puoi salvare i file recuperati.

Ripristina tutti i file eliminati sul disco eseguendo photoreclo spazio libero sul disco.

sudo photorec

e segui le istruzioni ... (ricorda di non salvare i file sullo stesso disco da cui stai recuperando)

Al termine del processo, tutti i file recuperati devono trovarsi in una directory, dove è necessario eseguire:

find -name '*.tex' > filelist

Verrà visualizzato un elenco di file che potrebbero essere quelli persi. Dovrai controllarli tutti, poiché i nomi dei file andranno persi.


11
photorec è un buon programma di utilità, sarei solo preoccupato per le scritture del disco che accadranno durante l'installazione. Esiste un modo per ottenere questo come eseguibile autonomo che può essere eseguito da supporti esterni?
Steven D,

1
Sì, hai ragione. Non conosco un eseguibile autonomo, ma si potrebbe provare a usare un cd live?
Stefan,

2
per ridurre i file recuperati con Photorec, nella terza schermata verrà visualizzato [File Opt] selezionare questo. Da un elenco è possibile selezionare quali tipi di file si desidera o non si desidera recuperare.
Steve Burdine,

13

Molti editor di testo mantengono i file di backup. Se sei davvero fortunato, potrebbe esserci qualcosa come yourfile.tex ~ inclusa una versione precedente del tuo file.



4

In ogni caso smetterei di lavorare sul dispositivo in uso il più presto possibile per evitare qualsiasi scrittura sul disco e avviare un sistema operativo di recupero dedicato, come SystemRescueCd , che è un Live-CD in modo da poter montare il disco in sola lettura in al fine di prevenire ulteriori perdite di dati.

Queste distro includono molti strumenti di recupero menzionati da altri e puoi installarne la maggior parte mancante.

Tendo sempre ad avere un CD con una versione recente di SystemRescueCd nel mio lettore USB esterno, per ogni evenienza.


3

NOTA: ho aggiunto questa risposta per quanto riguarda qualche altra domanda sui file di database eliminati (server MySQL) che è stata chiusa e indicata a questa. Credo che possa essere utile anche in altre situazioni simili (per quanto alcuni processi mantengano ancora aperti i descrittori di file).

Se il processo è ancora in esecuzione, è possibile trovare i file /proc/<pid>fd/e copiarli. Invia SIGSTOPprima al gruppo di processi. Copia i file. Crea una nuova istanza sul lato e mantieni ferma questa oppure kill -9rimetti i file al loro posto. InnoDB si ripristinerà da solo quando eseguito, ma se c'era un po 'di MyISAM di quello che dovresti fare manualmente.


2

Ho accidentalmente cancellato il mio file db sqlite.

Quello che ho fatto per scoprire il file è stato,

Ha aperto la posizione /proc/in un browser di file e ha cercato il file db sqlite eliminato lì.

Ho scoperto quel file in un risultato di ricerca. Ho copiato quel file da lì al mio vecchio posto.


0

Ho avuto lo stesso problema due anni fa e ho provato molti programmi, come debugfs, photorec, ext3grep ed extundelete. ext3grep era il miglior programma per recuperare file. La sintassi è molto semplice:

ext3grep image.img --restore-all

o:

ext3grep /dev/sda3 --restore-all --after date -d '2015-01-01 00:00:00' '+%s' --before `date -d ‘2015-01-02 00:00:00’ ‘+%s’

Questo video è un mini tutorial che può aiutarti.


0

Se non si dispone di alcun backup, uno strumento di ripristino del disco di terze parti potrebbe recuperare alcuni o tutti i dati, ma è necessario interrompere l'utilizzo della macchina ora. I file nel cestino sono ora disponibili per il tuo sistema per sovrascriverli. Una volta sovrascritti, è proibitivo recuperare i dati. Ho avuto successo usando uflysoft data recovery (ci sono altre applicazioni di recupero dati per Mac OS) - devi avere una "unità di recupero" (non la tua unità principale o da cui stai effettuando uno scavenging) su cui salvare i dati recuperati. Si avvia dal disco di recupero dati (sistema)

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.