Bagaimana saya bisa memulihkan file yang dihapus di Android?

34

Saya baru saja menghapus file pada Nexus S saya yang benar-benar saya butuhkan kembali. (Itu sebenarnya bagian dari aplikasi menggunakan database sqlite yang melakukan drop table ketika meningkatkan ke versi baru.)

Mungkin saya perlu me-root ponsel terlebih dahulu (yang saya dengar mudah di ponsel Nexus) tetapi apakah saya berada di catch-22 di sini? Yaitu, apakah me-rooting ponsel berarti menghapus / menimpa partisi tempat data tinggal?

Jika tidak, apa yang Anda rekomendasikan untuk alat pemulihan data? Agaknya file itu baru saja dihapus tautannya dan tidak ditimpa secara aktif (seperti biasanya ketika "menghapus" file) sehingga secara teknis data harus ada di sana ...

Dreeves
sumber
Saya tidak dapat memposting jawaban, sistemnya bertentangan dengan saya. Lebih buruk bagi mereka ... Cara paling mudah ketika Anda memiliki sistem Linux dan perangkat Anda dengan pemulihan TWRP adalah. 0. Pertama-tama! Berhenti membuat file baru, tutup semua aplikasi. Jika Anda perlu menjalankan sesuatu, lebih baik HAPUS terlebih dahulu beberapa file yang tidak perlu sebanyak mungkin untuk mengosongkan lebih banyak ruang dan dapatkan lebih banyak peluang untuk menjaga file yang dihapus tetap utuh. Tentu saja Anda harus tahu partisi apa yang perlu Anda bebaskan. Peluang tinggi adalah salah satu yang di-mount sebagai /data(file lokal dan dihapus Anda berada di /data/mediaatau sesuatu seperti itu)
midenok
1. Dalam pemulihan TWRP salin partisi Anda ddke kartu micro SD dengan potongan 4Gb: `` `dd if = / dev / dm-0 of = / sdcard / x1 ... n bs = 1048576 count = 4095 lewati = ... `` `Nah, Anda memiliki opsi untuk memasang drive OTG eksternal (temukan beberapa sumber daya eksternal). Tapi milikku tidak berfungsi, jadi aku harus memasukkan potongan ke micro-SD. Pada skipparameter Anda akan memasukkan: 0, 4095, 8190, 16380, dll.
midenok
2. Pindahkan semua bagian ke sistem linux, digabungkan dengan cat.
midenok
3. Gunakan testdiskuntuk memulihkan. Ini adalah alat yang paling serbaguna untuk ekstensi yang dihapus. Hal ini memungkinkan untuk membatalkan dari direktori tertentu dan membatalkan bahkan file yang rusak dan bekerja sangat cepat (terlepas dari pemindai heuristik). Jadi, Anda akan yakin bahwa segala sesuatu yang mungkin tidak terhapus atau ditimpa.
midenok
Atau: selalu instal testdisksebagai bagian dari bundel busybox dan simpan di ponsel Anda.
midenok

Jawaban:

35

Cara manual

Untungnya pemulihan data di Android tidak berbeda dari PC / Linux lain dengan perangkat penyimpanan flash. Pertama-tama Anda perlu root dan ddbiner pada perangkat Anda untuk membuat cadangan penuh dari perangkat penyimpanan blok tempat Anda menghapus file tersebut. ddterkadang sudah diinstal di sistem Anda.

Maka itu hanya 3 langkah untuk mengetahui apakah file tersebut dapat dipulihkan:

  1. Cari tahu di perangkat blok mana file itu berada. Melaluimount
  2. Dapatkan dan gambar perangkat blok itu dengan dd: dd if=/dev/<blockdevice> of=/sdcard/image bs=4096
  3. Dapatkan alat forensik pemulihan data dan biarkan mencari /sdcard/imagefile yang hilang. Tentu saja Anda dapat mencoba menjalankan beberapa alat pada gambar. Yang terpenting dan pisau bedah adalah awal yang baik.

Aplikasi "Undelete"

Ada Aplikasi baru yang disebut "Undelete Beta" yang dapat memulihkan file pada penyimpanan internal dan kartu SD. Aplikasi ini beta dan memiliki beberapa batasan.

Jika file tersebut sangat penting, saya akan selalu memilih "Cara Manual" .

Mengalir
sumber
Flow, terima kasih banyak; jawaban bagus! Saya merasa kurang sedih sekarang. :) Saya sedikit terintimidasi oleh rooting. Apakah Anda tahu sesuatu tentang rooting Nexus S? Apakah saya akan kehilangan data atau aplikasi atau apa pun? Apakah saya harus membatalkan root untuk mendapatkan pembaruan OS otomatis di masa depan? Apakah unrooting juga sederhana?
Dreeves
Untuk rooting, lihat pertanyaan ini . Saya tidak memiliki Nexus S, tetapi saya akan mengatakan: Tidak, tidak, dan kadang-kadang.
Aliran
1
@Flow: a) Saya benar-benar tidak akan menyentuh partisi yang terpengaruh lebih jauh tetapi membuka Nexus dan 'fastboot boot cwm.img' untuk pemulihan tmp. b) Lebih disukai gunakan adb on the fly untuk mengirimkan data partisi dari telepon (tidak ada penyimpanan intermiten di / sdcard) menggunakan stdout + gzip + uuencode c) ukiran: sqlite3 tidak memiliki catatan kaki, tetapi header "format SQLite 3". Menggunakan terdepan yang terbaik adalah untuk menentukan ukuran-max dan mungkin 'BERIKUTNYA' (menunjukkan EOF jika ada header baru lainnya ditemukan). OK jika saya mengedit?
ce4
1
+1 untuk 'pisau bedah'! Belum tahu sebelumnya. BTW: Testotor photorec juga cukup berguna (untuk tipe file standar seperti .jpg ans like)
ce4
bagaimana jika perangkat yang akan dibackup lebih besar dari 4gb?
David V.
10

Pada Android 4.3+ dan implementasi TRIM sekarang sangat sulit untuk memulihkan file yang dihapus pada memori internal.

Beberapa solusi yang disarankan mungkin tidak akan bermanfaat kecuali Anda dapat memindai memori untuk file yang dihapus dengan sangat cepat setelah penghapusan.

Selain itu, dalam hal pemulihan setelah reset pabrik, pada Android 4.0+ reset pabrik sekarang berakhir dengan melakukan penghapusan aman (atau operasi serupa) sehingga semua data hilang tanpa dapat dibatalkan.

Referensi:

Andreas J.
sumber
Saya menganggap ini adalah jawaban yang benar di 2019?
ripper234
7

Baru Undelete Beta dapat membantu di sini jika Anda tidak ingin melibatkan PC. Setiap kali Anda menulis ke penyimpanan, Anda berisiko menimpa file yang dihapus, tetapi rooting seharusnya tidak dihapus.

Matius Baca
sumber