Як я можу відновити видалений файл на Android?


34

Щойно я видалив файл із свого Nexus S, який мені дуже потрібен. (Насправді це було частиною програми, що використовує базу даних sqlite, яка робила крапкову таблицю під час оновлення до нової версії.)

Імовірно, мені потрібно спочатку запустити телефон (що, як я чую, це легко на Nexus телефонах), але я тут в лові-22? А саме, чи означає вкорінення телефону означає витирання / перезапис розділу, де живуть дані?

Якщо ні, що ви рекомендуєте для інструментів відновлення даних? Імовірно, файл був просто від’єднаний і не активно перезаписаний (як правило, при "видаленні" файлу), тому технічно дані повинні бути там ...


Я не можу опублікувати відповідь, система йде проти мене. Гірше для них ... Найпростіший спосіб, коли у вас є система Linux і ваш пристрій з відновленням TWRP. 0. Перш за все! Зупиніть створювати нові файли, закрийте всі програми. Якщо вам потрібно буде щось запустити, краще ЗАБУДУЙТЕ спочатку кілька непотрібних файлів, наскільки це можливо, щоб звільнити більше місця та отримати більше шансів зберегти видалені файли недоторканими. Звичайно, ви повинні знати, який розділ вам потрібно звільнити. Висока ймовірність того, що він встановлений як /data(ваші локальні та видалені файли /data/mediaчи щось подібне).
midenok

1. У TWRP відновлення скопіюйте свій розділ ddна мікро SD карту на 4Gb шматочки: `` `dd if = / dev / dm-0 of = / sdcard / x1 ... n bs = 1048576 count = 4095 пропустити = ... `` `Ну, у вас є можливість встановити зовнішній накопичувач OTG (хоч знайти якесь зовнішнє джерело живлення). Але моє не вийшло, тому мені довелося покласти шматки на мікро-SD. У skipпараметр ви поставите: 0, 4095, 8190, 16380 тощо
midenok

2. Перемістіть усі шматки до системи Linux, з'єднайтеся з cat.
midenok

3. Використовуйте testdiskдля відновлення. Це найбільш універсальний інструмент для відновлення файлів exfs. Це дозволяє скасувати з певного каталогу та видаляти навіть пошкоджені файли та працює дуже швидко (крім евристичних сканерів). Тож ви будете впевнені, що все, що можливо, відмінено чи перезаписано.
midenok

Або: завжди встановлюйте testdiskяк частину пакету зайнятих і зберігайте його на своєму телефоні.
midenok

Відповіді:


35

Ручний спосіб

На щастя відновлення даних на Android не відрізняється від будь-якого іншого ПК / Linux із флеш-накопичувачем. Спочатку вам потрібні кореневі та ddдвійкові файли на вашому пристрої, щоб зробити повну резервну копію блокового пристрою зберігання даних, на якому був видалений файл. ddіноді вже встановлено у вашій системі.

Тоді це лише 3 кроки, щоб дізнатися, чи можна відновити файл:

  1. Дізнайтеся, на якому блоковому пристрої знаходився файл. Віаmount
  2. Придбайте та зображення цього блокового пристрою з dd: dd if=/dev/<blockdevice> of=/sdcard/image bs=4096
  3. Отримайте інструмент криміналістики відновлення даних і дозвольте йому шукати /sdcard/imageзагублений файл. Можна, звичайно, спробувати запустити кілька інструментів на зображенні. Найперше і Скальпель - хороший старт.

Додаток "Скасувати"

Існує новий додаток під назвою "Undelete Beta", який може відновлювати файли з внутрішньої пам’яті та SD-карти. Додаток є бета-версією та має деякі обмеження.

Якщо файл дійсно важливий, я б завжди вибирав "Ручний шлях" .


Потік, дуже дякую; чудова відповідь! Зараз я відчуваю себе менш зневіреним. :) Я хоч трохи заляканий вкоріненням. Чи знаєте ви щось про вкорінення Nexus S? Чи втрачу я будь-які дані чи програми чи щось таке? Чи потрібно мені знімати його, щоб отримати автоматичні оновлення ОС у майбутньому? Знищення тексту також просте?
дерев

Для вкорінення див. Це питання . У мене немає Nexus S, але я б сказав: Ні, ні і іноді.
Потік

1
@ Flow: a) Я дійсно більше не зачіпатимуть постраждалий розділ, але розблокуйте Nexus та "fastboot bow cwm.img" для відновлення tmp. b) Переважно використовувати adb на льоту для передачі даних про розділи з телефону (без переривчастого зберігання на / sdcard) за допомогою stdout + gzip + uuencode c) carving: sqlite3 не має колонтитула, а заголовка "Формат SQLite 3". Використовуючи головне, найкраще визначити максимальний розмір, а може бути, і «NEXT» (із зазначенням EOF, якщо знайдеться інший новий заголовок). Гаразд, якщо я редагую?
ce4

1
+1 для "скальпеля"! Не знав раніше. BTW: Photorec Testdisk також дуже корисний (для стандартних типів файлів, таких як .jpg ans such)
ce4

що робити, якщо пристрій для резервного копіювання перевищує 4 Гб?
Девід В.

10

Що стосується Android 4.3+ та впровадження TRIM, зараз відновити видалені файли з внутрішньої пам'яті надзвичайно важко.

Деякі із запропонованих рішень, ймовірно, не будуть корисними, якщо після видалення ви не зможете дуже швидко просканувати пам'ять для видалених файлів.

Більше того, у випадку відновлення після скидання на заводські налаштування, як для Android 4.0+, скидання на заводські налаштування закінчується безпечним стиранням (або подібною операцією), так що всі дані безповоротно втрачаються.

Довідка:


Я припускаю, що це правильна відповідь у 2019 році?
ripper234

7

Нова версія Undelete Beta тут може бути корисною, якщо ви не хочете використовувати ПК. Будь-який час, коли ви пишете у сховище, ви ризикуєте перезаписати видалений файл, але вкорінення не повинно стиратися.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.