Монтування внутрішньої пам’яті Android як Mass Storage та відновлення даних

Відновлення даних, віддалених фото та відео, документів та інших елементів із внутрішньої пам’яті сучасних Android телефонів та планшетів стало складним завданням, оскільки внутрішнє сховище підключається за протоколом MTP, а не Mass Storage (як флешка) та звичні програми для відновлення даних не можуть знайти і відновити файли у цьому режимі.

Існуючі популярні програми для відновлення даних на Android (див. Відновлення даних на Android ) намагаються обійти це: в автоматичному режимі отримати root-доступ (або надаючи зробити це користувачеві), а потім прямий доступ до сховища пристрою, але це працює не для всіх пристроїв.

Однак, існує спосіб вручну змонтувати (підключити) внутрішнє сховище Android як флешку (Mass Storage Device) за допомогою команд ADB, а потім використовувати будь-яку програму відновлення даних, що працює з файловою системою ext4, що використовується на цьому сховищі, наприклад PhotoRec або R-Studio . Про підключення внутрішнього сховища в режимі Mass Storage і подальше відновлення даних із внутрішньої пам’яті Android, у тому числі після скидання на заводські налаштування (хард ресета) і йтиметься в даній інструкції.

Попередження: спосіб, що описується не для початківців. Якщо ви відносите себе до них, то якісь пункти можуть виявитися незрозумілими, а результат дій не обов’язково буде очікуваним (теоретично, можна зробити гіршим). Використовуйте викладене тільки під свою відповідальність і охоче до того, що щось піде не так, а ваш Android пристрій більше не включиться (але, якщо все робити, розуміючи процес і без помилок, цього статися не повинно).

Підготовка до підключення внутрішнього сховища

Всі дії, описані нижче, можна виконати у Windows, Mac OS та Linux. У моєму випадку використовувалась Windows 10 із встановленою в ній підсистемою Windows для Linux та Ubuntu Shell із магазину програм. Установка компонентів Linux не обов’язкова, всі дії можна провести і в командному рядку (і відрізнятися вони не будуть), але я віддав перевагу цьому варіанту, оскільки при використанні ADB Shell у командному рядку виникли проблеми з відображенням спецсимволів, що не впливають на роботу способу, але які становлять незручності.

Перш ніж розпочати підключення внутрішньої пам’яті Android як флешки у Windows, виконайте такі кроки:

  1. Скачайте та розпакуйте Android SDK Platform Tools у папку на вашому комп’ютері. Завантаження доступне на офіційному сайті https://developer.android.com/studio/releases/platform-tools.html
  2. Відкрийте параметри системних змінних середовища (наприклад, почавши в пошуку Windows вводити «змінних», а потім у вікні властивостей системи натиснувши «Змінні середовища». Другий спосіб: відкрити Панель керування — Система — Додаткові параметри системи — «Змінні середовища» на вкладці « Додатково».

 Налаштування змінних середовища у Windows

  1. Виберіть змінну PATH (не важливо, системну або користувальницьку) та натисніть «Змінити».
  2. У наступному вікні натисніть «Створити» та вкажіть шлях до папки з Platform Tools з одного кроку та застосуйте зроблені зміни.

 Додавання Android Platform Tools до Path

Якщо ви робите вказані дії в Linux або MacOS, то пошукайте в Інтернеті, як у цих ОС додати папку з Android Platform Tools до PATH.

Підключення внутрішньої пам’яті Android як Mass Storage Device

Тепер приступаємо до основної частини цього посібника – безпосередньо підключення внутрішньої пам’яті Android як флешки до комп’ютера.

  1. Перезавантажте телефон або планшет у режимі Recovery. Зазвичай для цього потрібно вимкнути телефон, потім затиснути та утримувати кнопку живлення та «гучність вниз» протягом деякого часу (5-6) секунд, а після появи екрану fastboot вибрати Recovery Mode за допомогою кнопок гучності та завантажитись у нього, підтвердивши вибір коротким натисканням кнопки живлення. Для деяких пристроїв спосіб може відрізнятися, але легко знаходиться в Інтернеті на запит: «модель_пристрою recovery mode»
  2. Підключіть пристрій до комп’ютера через USB і зачекайте, поки він не буде налаштований. Якщо по закінченні налаштування в диспетчері пристроїв Windows пристрій з’являється помилково, знайдіть і встановіть ADB Driver саме для вашої моделі пристрою.

 Перевірка драйвера ADB у Windows

  1. Запустіть Ubuntu Shell (у моєму прикладі використовується саме оболонка Ubuntu під Windows 10), командний рядок або термінал Mac і введіть adb.exe devices (Примітка: з-під Ubuntu в Windows 10 я використовую adb для Windows. Можна було б встановити adb для Linux , але тоді він не «бачив» підключених пристроїв — обмеження функцій підсистеми Windows для Linux).

 Список пристроїв ADB

  1. Якщо в результаті виконання команди ви бачите підключений пристрій у списку можна продовжувати. Якщо ні, введіть команду fastboot.exe devices
  2. Якщо в цьому випадку пристрій з’явиться, все під’єднано правильно, але рекавері не дозволяє використовувати команди ADB. Ймовірно, доведеться встановити кастомний рекавер (рекомендую знайти TWRP для вашої моделі телефону). Докладніше: Установка кастомного рекавері на Android.
  3. Після встановлення кастомного рекавері, зайдіть у нього і повторіть команду adb.exe devices – якщо пристрій став видимим, можна продовжувати.
  4. Введіть команду adb.exe shell та натисніть Enter.

В ADB Shell виконуємо наступні команди.

mount | grep /data

В результаті отримуємо ім’я пристрою block, який буде використовувати далі (не втрачаємо його на увазі, запам’ятовуємо).

Перегляд імені пристрою внутрішнього сховища Android

Наступною командною розмонтуємо розділ data на телефоні, щоб мати можливість підключити його як Mass Storage.

umount /data

Далі знаходить індекс LUN потрібного розділу, що відповідає Mass Storage Device

find /sys -name lun*

Буде відображено кілька рядків, нас цікавлять ті, які мають у дорозі f_mass_storage , але поки ми не знаємо, яка саме (зазвичай, що закінчуються просто lun або lun0)

LUN сховища Android (Mass Storage)

У наступній команді використовуємо ім’я пристрою з першого кроку і один зі шляхів f_mass_storage (один з них відповідає внутрішній пам’яті). Якщо буде введено неправильний, ви отримаєте повідомлення про помилку, тоді пробуємо наступний

echo /dev/block/mmcblk0p42 > /sys/devices/virtual/android_usb/android0/f_mass_storage/lun/file
Підключення внутрішнього сховища як Mass Storage

Наступний крок – створюємо скрипт, що включає внутрішнє сховище до основної системи (все, що нижче – один довгий рядок)

echo "echo 0 > /sys/devices/virtual/android_usb/android0/enable && echo \"mass_storage,adb\" > /sys/devices/virtual/android_usb/android0/functions && echo 1 > /sys/devices/virtual/android_usb/android0/enable" > enable_mass_storage_android.sh

Виконуємо скрипт

sh enable_mass_storage_android.sh
Монтування внутрішнього сховища Android як флешки (Mass Storage)

У цей момент сесія ADB Shell буде закрита, а до системи буде підключений новий диск («флешка»), що є внутрішньою пам’яттю Android.

Внутрішнє сховище Android підключено до Windows

При цьому у випадку Windows вас можуть попросити відформатувати накопичувач — не робіть цього (просто Windows не вміє працювати з файловою системою ext3/4, але багато програм для відновлення даних вміють).

Відновлення даних із підключеного внутрішнього сховища Android

Тепер, коли внутрішня пам’ять підключена як звичайний накопичувач, ми можемо використовувати будь-яку програму відновлення даних, яка вміє працювати з розділами Linux, наприклад, безкоштовну PhotoRec (доступну всім поширених ОС) чи платну R-Studio.

Я намагаюся виконати дії з PhotoRec:

  1. Завантажуємо та розпаковуємо PhotoRec з офіційного сайту https://www.cgsecurity.org/wiki/TestDisk_Download
  2. Запускаємо програму, для Windows та запуску програми у графічному режимі запустіть файл qphotorec_win.exe (докладніше: відновлення даних у PhotoRec ).
  3. У головному вікні програми зверху вибираємо пристрій Linux (той новий диск, який ми підключили). Нижче вказуємо папку для відновлення даних, а також вибираємо тип файлової системи ext2/ext3/ext. Якщо вам потрібні файли лише певного типу, рекомендую вказати їх вручну (кнопка «Формати файлів»), так процес піде швидше.

 Відновлення даних із внутрішньої пам'яті Android у PhotoRec

  1. Ще раз переконайтеся, що вибрано потрібну файлову систему (іноді перемикається «сама»).
  2. Запустіть пошук файлів (перебувати вони почнуть на другому проході, перший – пошук заголовків файлів). При знаходженні вони автоматично будуть відновлені у вказану вами папку.

 Процес відновлення даних із внутрішньої пам'яті

У моєму експерименті з 30 віддалених з внутрішньої пам’яті фотографій в ідеальному стані було відновлено 10 (краще, ніж нічого), для решти – тільки мініатюри, також були знайдені скріншоти png, зроблені ще до хард-ресету. R-Studio показала приблизно той самий результат.

Дані, відновлені з внутрішньої пам'яті Android

Але так чи інакше, це не проблема способу, який працює, а проблема ефективності відновлення даних як такої в деяких сценаріях. Також зазначу, що DiskDigger Photo Recovery (в режимі глибокого сканування з root) та Wondershare Dr. Fone for Android показали дуже гірший результат на тому самому пристрої. Звичайно, ви можете спробувати будь-які інші засоби, що дозволяють відновлювати файли з розділів із файловою системою Linux.

Після завершення процесу відновлення витягніть підключений USB-пристрій (використовуючи відповідні способи операційної системи).

Вимкнути внутрішнє сховище Android

Потім можна просто перезавантажити телефон, вибравши відповідний пункт меню рекавері.

Вам також може сподобатися

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *