Come posso recuperare un file cancellato su Android?


34

Ho appena eliminato un file sul mio Nexus S di cui ho davvero bisogno. (In realtà faceva parte di un'app che utilizzava un database sqlite che eseguiva una tabella di rilascio durante l'aggiornamento a una nuova versione.)

Presumibilmente devo prima effettuare il root del telefono (cosa che sento facile sui telefoni Nexus) ma sono in un fermo qui? Vale a dire, il root del telefono significa cancellare / sovrascrivere la partizione in cui vivono i dati?

In caso contrario, cosa mi consiglia per gli strumenti di recupero dati? Presumibilmente il file era appena scollegato e non sovrascritto attivamente (come al solito quando si "cancella" un file), quindi tecnicamente i dati devono essere lì ...


Non riesco a postare una risposta, il sistema va contro di me. Peggio ancora per loro ... Il modo più semplice quando hai un sistema Linux e il tuo dispositivo con recupero TWRP è. 0. Prima di tutto! Smetti di creare nuovi file, chiudi tutte le app. Se è necessario eseguire qualcosa, meglio ELIMINARE prima alcuni file inutili il più possibile per liberare più spazio e ottenere più possibilità di mantenere intatti i file eliminati. Ovviamente dovrai sapere quale partizione devi liberare. È molto probabile che sia quello montato come /data(i tuoi file locali ed eliminati si trovano /data/mediao qualcosa del genere).
midenok

1. Nel recupero TWRP copia la tua partizione con ddsu una micro SD da pezzi da 4Gb: `` dd if = / dev / dm-0 of = / sdcard / x1 ... n bs = 1048576 count = 4095 skip = ... `` Bene, hai un'opzione per montare un'unità OTG esterna (trova comunque una fonte di alimentazione esterna). Ma il mio non ha funzionato, quindi ho dovuto mettere i pezzi in micro-SD. Nel skipparametro
inserirai

2. Spostare tutti i pezzi sul sistema Linux, concatenarli con cat.
midenok

3. Utilizzare testdiskper recuperare. Questo è lo strumento più versatile per ripristinare gli extfs. Permette di annullare la rimozione da directory specifiche e di eliminare anche i file rotti e funziona molto velocemente (a parte gli scanner euristici). Quindi sarai sicuro che tutto ciò che è possibile sarà cancellato o sovrascritto.
midenok

Oppure: installa sempre testdiskcome parte del bundle busybox e tienilo sul tuo telefono.
midenok

Risposte:


35

Modo manuale

Fortunatamente il recupero dei dati su Android non è diverso da qualsiasi altro PC / Linux con un dispositivo di archiviazione flash. Per prima cosa è necessario root e il file ddbinario sul dispositivo per eseguire un backup completo del dispositivo di archiviazione a blocchi su cui si trovava il file eliminato. dda volte è già installato nel tuo sistema.

Quindi sono solo 3 passaggi per scoprire se il file potrebbe essere recuperato:

  1. Scopri su quale dispositivo a blocchi si trovava il file. attraversomount
  2. Acquisisci e l'immagine di quel dispositivo a blocchi con dd: dd if=/dev/<blockdevice> of=/sdcard/image bs=4096
  3. Ottieni uno strumento di analisi forense per il recupero dei dati e lascia che cerchi /sdcard/imageil file perso. Ovviamente puoi provare a eseguire più strumenti sull'immagine. Foremost e Scalpel sono un buon inizio.

App "Undelete"

Esiste una nuova app chiamata "Undelete Beta" in grado di recuperare file sulla memoria interna e sulla scheda SD. L'app è beta e presenta alcune restrizioni.

Se il file è davvero importante, sceglierei sempre il "Modo manuale" .


Flow, grazie mille; Bella risposta! Mi sento meno scoraggiato ora. :) Però sono leggermente intimidito dal radicamento. Sai qualcosa sul root del Nexus S? Perderò dati o applicazioni o altro? Dovrò sbloccarlo per ottenere aggiornamenti automatici del sistema operativo in futuro? Anche lo sradicamento è semplice?
Dreeves,

Per il root vedi questa domanda . Non ho Nexus S, ma direi: no, no e a volte.
Flusso

1
@Flow: a) Non toccherei più la partizione interessata ma sbloccare Nexus e 'fastboot boot cwm.img' per un ripristino tmp. b) Utilizzare preferibilmente adb al volo per trasmettere i dati della partizione dal telefono (nessuna memorizzazione intermittente su / sdcard) usando stdout + gzip + uuencode c) intaglio: sqlite3 non ha piè di pagina, ma un'intestazione "Formato SQLite 3". Usando soprattutto è meglio definire una dimensione massima e forse 'SUCCESSIVO' (indicando EOF se viene trovata un'altra nuova intestazione). OK se modifico?
Ce4,

1
+1 per "bisturi"! Non l'ho mai saputo prima. A proposito: il photorec di Testdisk è anche abbastanza utile (per tipi di file standard come .jpg e simili)
ce4

cosa succede se il dispositivo per il backup è più grande di 4 GB?
David V.,

10

A partire da Android 4.3+ e l'implementazione di TRIM è ora incredibilmente difficile recuperare i file cancellati nella memoria interna.

Alcune delle soluzioni suggerite probabilmente non saranno utili a meno che non si riesca a scansionare la memoria per i file cancellati molto rapidamente dopo l'eliminazione.

Inoltre, in caso di ripristino dopo un ripristino delle impostazioni di fabbrica, a partire da Android 4.0+, un ripristino delle impostazioni di fabbrica termina ora con una cancellazione sicura (o un'operazione simile) in modo che tutti i dati vengano irrevocabilmente cancellati.

Riferimento:


Presumo che questa sia la risposta corretta nel 2019?
ripper234,

7

La nuova Undelete Beta può essere utile qui se non vuoi coinvolgere un PC. Ogni volta che scrivi nello spazio di archiviazione rischi di sovrascrivere il file eliminato, ma il rooting non dovrebbe essere cancellato.

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.