Когда вы думаете о 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
- Включите отладку по USB на устройстве для подключения с помощью adb. Подключите устройство Android к компьютеру Linux с помощью USB-кабеля. Затем откройте терминал на компьютере Linux и перейдите в каталог
sdk/platform-tools
директории Android SDK, где находится adb.
- Используйте
оболочку adb
для подключения к телефону:
$ ./adb shell
Примечание: Если команда, приведенная выше, не срабатывает, возможно, сначала потребуется вызвать adb start-server от имени root.
Теперь мы можем использовать команду mount, чтобы определить, в каком разделе содержатся данные SD-карты, и сбросить этот раздел или выгрузить все содержимое памяти, чтобы избежать сбоя.
- Ищем блочный инструмент под названием
/dev/block/mmcblk0.
Мы видим несколько разделов внутриmmcblk0
, но управление разделами мы оставим TestDisk на потом. Выйдите из оболочки, чтобы вернуться в каталог Android SDK sdk/platform-tool на компьютере. - Теперь выполним дамп содержимого
/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.
- Для начала восстановите таблицу разделов GPT. В интерфейсе TestDisk выберите
mmcblk0.raw
и нажмите кнопку Proceed.

- Выберите карту разделов EFI GPT.

- Затем, чтобы TestDisk нашел разделы, выберите Analyse.

- Выберите Быстрый поиск.

- В результате поиска будет получена таблица следующего вида:

- Затем нажмите Enter для продолжения работы.

- Выберите опцию Записать для сохранения новой (восстановленной) таблицы разделов. Затем нажмите
Y
для подтверждения выбора.

- После этого появится сообщение о необходимости перезагрузки. Однако в данной ситуации такого требования нет. Нажмите Enter для продолжения работы. Теперь, когда таблица разделов восстановлена, можно попробовать восстановить файлы.

- Чтобы воспользоваться разделом TestDisk "Утилиты файловой системы", выберите пункт Advanced.

- Выберите раздел, для которого будет выполняться восстановление. В данном примере мы воспользуемся опцией Undelete для восстановления фотографий из раздела FAT32 SD Card:

- Теперь мы можем выполнить поиск в файловой системе файлов, которые можно восстановить:

- В каталоге /DCIM/100ANDRO, где на устройстве Android хранятся фотографии, находится много восстанавливаемых файлов. Выберите его, а затем используйте
C
илиc
для их восстановления в одну из файловых систем компьютера Linux.

- Дополнительно: Для восстановления файлов с раздела ext3/ext4 в TestDisk есть опция Image Creation, которая запишет образ этого раздела под названием image.dd в файл в файловой системе компьютера Linux.

Затем в окне терминала воспользуйтесь программой extundelete для восстановления файлов из образа:
$ extundelete --restore-all image.dd
Помимо TestDisk, на рынке представлено множество бесплатных инструментов для восстановления данных в Linux с открытым исходным кодом. Вот несколько примеров:
- PhotoRec for Linux: Мощный инструмент, позволяющий восстанавливать потерянные разделы, восстанавливать поврежденные файловые системы и удаленные файлы.
- Extundelete: Утилита для восстановления удаленных файлов из файловых систем ext4.
- Ddrescue: Утилита для восстановления данных со сбойных устройств хранения и клонирования устройств хранения с поврежденными секторами.
- Foremost: Утилита для восстановления файлов на основе их верхних и нижних колонтитулов.
- Scalpel: Средство восстановления данных в Linux на основе заголовков и структур данных.
Каждый инструмент может иметь различные возможности и ограничения. Рекомендуется попробовать несколько инструментов, чтобы увеличить шансы на успешное восстановление.
Подведение итогов
В этой статье мы перечислили 2 основных этапа восстановления данных с устройства Android с помощью Linux. Во-первых, необходимо получить доступ к файловой системе Android, а затем восстановить потерянные или удаленные данные на устройстве Android с помощью Linux. Однако мы перечислили лучшие программы для восстановления данных в Linux, если вам нужен более удобный способ восстановления файлов. Ознакомьтесь с ними прямо сейчас!