Восстановление данных: Как восстановить данные на Android с помощью Linux

Как восстановить данные с устройства Android с помощью Linux

Когда вы думаете о Linux, вы, скорее всего, представляете себе компьютерную операционную систему. Восстановление данных - это лишь одно из многих применений Linux, очень адаптируемой операционной системы. Поэтому с помощью Linux можно восстановить потерянные данные с устройства Android. В этой статье мы рассмотрим восстановление данных Android с помощью Linux во внутренней и внешней памяти. Кроме того, с помощью перечисленных здесь программ восстановления данных Android для Linux можно легко восстановить важные файлы.

Можно ли восстановить удаленные файлы с телефона Android с помощью Linux?

Да, пользователи могут восстановить удаленные файлы с телефона Android с помощью Linux. Существует два типа сценариев восстановления:

  • Восстановление из внутренней и внешней памяти Android: Для восстановления удаленных файлов можно использовать "adb", компонент Android SDK, или инструмент "fastboot", который используется для разблокировки загрузчика на телефонах Android, чтобы получить доступ к файловой системе Android с компьютера под управлением Linux.
  • Восстановление с внешней памяти телефона Android (SD-карты): Для восстановления данных с внешней памяти, например с SD-карты, подойдет любая программа для восстановления данных, совместимая с Linux. В качестве примера можно привести TestDisk for Linux и другие программы восстановления данных для Linux.

Второй сценарий легко осуществить, подключив SD-карту к компьютеру с ОС Linux, и уже можно запускать программу восстановления данных. Поэтому в данной статье мы сосредоточимся на первом варианте (восстановление данных из внутренней и внешней памяти Android).

Как восстановить данные с внутренней и внешней памяти Android в Linux?

Инструмент командной строки Android Debug Bridge (ADB) удобен для взаимодействия с устройствами Android. С помощью ADB можно выполнять множество задач на целевом устройстве.

ADB состоит из двух компонентов: настольного клиента и того, который поставляется вместе с Android. С помощью настольного ADB-клиента мы можем посылать устройству Android различные команды, когда оно подключено и включена отладка по USB. В состав Android SDK, доступного для Windows, Linux, macOS и других платформ, входит ADB.

Необходимые условия

  • Агностическая операционная система на базе Linux
  • Разблокированный телефон с ОС Android
  • Установленный BusyBox на Android-устройстве
  • Чтобы получить "adb", установите Android SDK. Скачайте (большой) SDK, распакуйте его и запустите adb изнутри.
  • TestDisk, Pipe Viewer (PV) и, при необходимости, extundelete (для восстановления файлов из файловых систем ext3/4). Если вы используете Debian, выполните следующие действия:

# apt-get install testdisk pv extundelete

Шаг 1: Доступ к файловой системе Android

  1. Включите отладку по USB на устройстве для подключения с помощью adb. Подключите устройство Android к компьютеру Linux с помощью USB-кабеля. Затем откройте терминал на компьютере Linux и перейдите в каталог sdk/platform-tools директории Android SDK, где находится adb.
  1. Используйте оболочку adb для подключения к телефону:

$ ./adb shell

Примечание: Если команда, приведенная выше, не срабатывает, возможно, сначала потребуется вызвать adb start-server от имени root.

Теперь мы можем использовать команду mount, чтобы определить, в каком разделе содержатся данные SD-карты, и сбросить этот раздел или выгрузить все содержимое памяти, чтобы избежать сбоя.

  1. Ищем блочный инструмент под названием /dev/block/mmcblk0. Мы видим несколько разделов внутри mmcblk0, но управление разделами мы оставим TestDisk на потом. Выйдите из оболочки, чтобы вернуться в каталог Android SDK sdk/platform-tool на компьютере.
  2. Теперь выполним дамп содержимого /dev/block/mmcblk0. Используйте оболочку adb shell для перехода в статус суперпользователя и запустите команду cat для дампа содержимого, как показано ниже:

$ ./adb shell su -c "cat /dev/block/mmcblk0" | pv > mmcblk0.raw

Теперь мы можем позволить TestDisk сделать все остальное.

Узнайте больше об инструментах для доступа к Android в Linux с помощью видеоуроков:

Шаг 2: Восстановление данных Android в Linux

После получения доступа к Android-устройству в ОС Linux для восстановления данных с него можно использовать любую утилиту для восстановления данных в Linux, например TestDisk.

  1. Для начала восстановите таблицу разделов GPT. В интерфейсе TestDisk выберите mmcblk0.raw и нажмите кнопку Proceed.
восстановление таблицы разделов gpt
  1. Выберите карту разделов EFI GPT.
Выберите карту разделов efi gpt
  1. Затем, чтобы TestDisk нашел разделы, выберите Analyse.
анализ разделов
  1. Выберите Быстрый поиск.
применить быстрый поиск
  1. В результате поиска будет получена таблица следующего вида:
seach table
  1. Затем нажмите Enter для продолжения работы.
нажмите Enter
  1. Выберите опцию Записать для сохранения новой (восстановленной) таблицы разделов. Затем нажмите Y для подтверждения выбора.
выберите опцию записи
  1. После этого появится сообщение о необходимости перезагрузки. Однако в данной ситуации такого требования нет. Нажмите Enter для продолжения работы. Теперь, когда таблица разделов восстановлена, можно попробовать восстановить файлы.
попробуйте восстановить файлы
  1. Чтобы воспользоваться разделом TestDisk "Утилиты файловой системы", выберите пункт Advanced.
выберите Advanced
  1. Выберите раздел, для которого будет выполняться восстановление. В данном примере мы воспользуемся опцией Undelete для восстановления фотографий из раздела FAT32 SD Card:
использование опции undelete
  1. Теперь мы можем выполнить поиск в файловой системе файлов, которые можно восстановить:
Поиск восстановленных файлов в файловой системе
  1. В каталоге /DCIM/100ANDRO, где на устройстве Android хранятся фотографии, находится много восстанавливаемых файлов. Выберите его, а затем используйте C или c для их восстановления в одну из файловых систем компьютера Linux.
восстановить файлы
  1. Дополнительно: Для восстановления файлов с раздела ext3/ext4 в TestDisk есть опция Image Creation, которая запишет образ этого раздела под названием image.dd в файл в файловой системе компьютера Linux.
восстановление файлов с раздела ext3/ext4

Затем в окне терминала воспользуйтесь программой extundelete для восстановления файлов из образа:

$ extundelete --restore-all image.dd

Помимо TestDisk, на рынке представлено множество бесплатных инструментов для восстановления данных в Linux с открытым исходным кодом. Вот несколько примеров:

  • PhotoRec for Linux: Мощный инструмент, позволяющий восстанавливать потерянные разделы, восстанавливать поврежденные файловые системы и удаленные файлы.
  • Extundelete: Утилита для восстановления удаленных файлов из файловых систем ext4.
  • Ddrescue: Утилита для восстановления данных со сбойных устройств хранения и клонирования устройств хранения с поврежденными секторами.
  • Foremost: Утилита для восстановления файлов на основе их верхних и нижних колонтитулов.
  • Scalpel: Средство восстановления данных в Linux на основе заголовков и структур данных.

Каждый инструмент может иметь различные возможности и ограничения. Рекомендуется попробовать несколько инструментов, чтобы увеличить шансы на успешное восстановление.

Подведение итогов

В этой статье мы перечислили 2 основных этапа восстановления данных с устройства Android с помощью Linux. Во-первых, необходимо получить доступ к файловой системе Android, а затем восстановить потерянные или удаленные данные на устройстве Android с помощью Linux. Однако мы перечислили лучшие программы для восстановления данных в Linux, если вам нужен более удобный способ восстановления файлов. Ознакомьтесь с ними прямо сейчас!

Статьи по теме