Мантаванне ўнутранай памяці Android як Mass Storage і аднаўленне дадзеных

Аднаўленне дадзеных, аддаленых фота і відэа, дакументаў і іншых элементаў з унутранай памяці сучасных Android тэлефонаў і планшэтаў стала складанай задачай, паколькі ўнутранае сховішча падключаецца па пратаколе MTP, а не Mass Storage (як флэшка) і звыклыя праграмы для аднаўлення дадзеных не могуць знайсці і аднавіць файлы ў гэтым рэжыме.

Існуючыя папулярныя праграмы для аднаўлення дадзеных на Android (гл. Аднаўленне дадзеных на Android) спрабуюць абыйсці гэта: у аўтаматычным рэжыме атрымаць root-доступ (альбо падаючы зрабіць гэта карыстальнiку), а затым - прамы доступ да сховішча прылады, але гэта працуе не для ўсіх прылад.

Аднак, існуе спосаб ўручную змантаваць (падключыць) ўнутранае сховішча 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 ў тэчку на вашым кампутары. Загрузка даступная на афіцыйным сайце //developer.android.com/studio/releases/platform-tools.html
  2. Адкрыйце параметры сістэмных зменных асяроддзі (напрыклад, пачаўшы ў пошуку Windows ўводзіць "зменных", а затым у якое адкрылася акне уласцівасцяў сістэмы націснуўшы "Зменныя асяроддзя". Другі спосаб: адкрыць Панэль кіравання - Сістэма - Дадатковыя параметры сістэмы - "Зменныя асяроддзя" на ўкладцы " дадаткова ").
  3. Выберыце зменную PATH (не важна, сістэмную або карыстацкую) і націсніце "Змяніць".
  4. У наступным акне націсніце "Стварыць" і пакажыце шлях да тэчцы з Platform Tools з 1-га кроку і ўжыеце зробленыя змены.

Калі вы прарабляеце названыя дзеянні ў 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 менавіта для вашай мадэлі прылады.
  3. Запусціце Ubuntu Shell (у маім прыкладзе выкарыстоўваецца менавіта абалонка Ubuntu пад Windows 10), камандны радок або тэрмінал Mac і ўвядзіце adb.exe devices (Заўвага: з-пад Ubuntu у Windows 10 я выкарыстоўваю adb для Windows. Можна было б ўсталяваць adb для Linux, але тады б ён не "бачыў" падлучаных прылад - абмежаванне функцый падсістэмы Windows для Linux).
  4. Калі ў выніку выканання каманды вы бачыце падлучанае прылада ў спісе - можна працягваць. Калі не - увядзіце каманду fastboot.exe devices
  5. Калі ў гэтым выпадку прылада адлюстравалася, значыць усё падлучана правільна, але рекавери не дазваляе выкарыстоўваць каманды ADB. Верагодна, прыйдзецца ўсталяваць кастомный рекавери (рэкамендую знайсці TWRP для вашай мадэлі тэлефона). Чытаць далей: Усталёўка кастомного рекавери на Android.
  6. Пасля ўстаноўкі кастомного рекавери, зайдзіце ў яго і паўторыце каманду adb.exe devices - калі прылада стала бачным, можна працягваць.
  7. увядзіце каманду adb.exe shell і націсніце Enter.

У ADB Shell па парадку выконваем наступныя каманды.

mount | grep / data

У выніку атрымліваем імя прылады block, якое будзе выкарыстоўваць далей (не губляем яго з-пад увагі, запамінаем).

Наступнай каманднай размонтируем раздзел data на тэлефоне, каб мець магчымасць падключыць яго як Mass Storage.

umount / data

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

find / sys -name lun *

Будзе адлюстравана некалькі радкоў, нас цікавяць тыя, якія маюць у шляху f_mass_storage, Але пакуль мы не ведаем, якая менавіта (звычайна, якія сканчаюцца на проста lun або lun0)

У наступнай камандзе выкарыстоўваем імя прылады з першага кроку і адзін з шляхоў з f_mass_storage (адзін з іх адпавядае ўнутранай памяці). Калі будзе ўведзены няправільны, вы атрымаеце паведамленне пра памылку, тады спрабуем наступны.

echo / dev / block / mmcblk0p42> / sys / devices / virtual / android_usb / android0 / f_mass_storage / lun / file

Наступны крок - ствараем скрыпт, які падключаецца ўнутранае сховішча да асноўнай сістэме (усё, што ніжэй - адна доўгая радок).

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

У гэты момант сесія ADB Shell будзе зачынена, а да сістэмы будзе падлучаны новы дыск ( "флешка"), які ўяўляе сабой ўнутраную памяць Android.

Пры гэтым, у выпадку Windows вас могуць папрасіць адфарматаваць назапашвальнік - не рабіце гэтага (проста Windows не ўмее працаваць з файлавай сістэмай ext3 / 4, але многія праграмы для аднаўлення дадзеных ўмеюць).

Аднаўленне дадзеных з падлучанага ўнутранага сховішчы Android

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

Я спрабую выканаць дзеянні з PhotoRec:

  1. Спампоўваем і распакоўваецца PhotoRec з афіцыйнага сайта //www.cgsecurity.org/wiki/TestDisk_Download
  2. Запускаем праграму, для Windows і запуску праграмы ў графічным рэжыме запусціце файл qphotorec_win.exe (падрабязней: аднаўленне дадзеных у PhotoRec).
  3. У галоўным акне праграмы уверсе выбіраем прылада Linux (той новы дыск, які мы падключылі). Ніжэй паказваем тэчку для аднаўлення дадзеных, а таксама выбіраем тып файлавай сістэмы ext2 / ext3 / ext Калі вам патрабуюцца файлы толькі пэўнага тыпу, рэкамендую пазначыць іх уручную (кнопка "Фарматы файлаў"), так працэс пойдзе хутчэй.
  4. Яшчэ раз пераканайцеся, што абраная патрэбная файлавая сістэма (часам перамыкаецца "сама").
  5. Запусціце пошук файлаў (знаходзіцца яны пачнуць на другім праходзе, першы - пошук загалоўкаў файлаў). Пры знаходжанні, яны аўтаматычна будуць адноўлены ў паказаную вамі тэчку.

У маім эксперыменце з 30 аддаленых з унутранай памяці фатаграфій у ідэальным стане было адноўлена 10 (лепш, чым нічога), для астатніх - толькі мініяцюры, таксама былі знойдзеныя скрыншоты png, зробленыя яшчэ да хард-ресета. R-Studio паказала прыкладна той жа вынік.

Але, так ці інакш, гэта не праблема спосабу, які працуе, а праблема эфектыўнасці аднаўлення дадзеных як такой у некаторых сцэнарах. Гэтак жа адзначу, што DiskDigger Photo Recovery (у рэжыме глыбокага сканавання з root) і Wondershare Dr. Fone for Android паказалі моцна горшы вынік на тым жа прыладзе. Вядома, вы можаце паспрабаваць і любыя іншыя сродкі, якія дазваляюць аднаўляць файлы з раздзелаў з файлавай сістэмай Linux.

Па заканчэнні працэсу аднаўлення, дастаньце падлучанае USB прылада (выкарыстоўваючы адпаведныя спосабы вашай аперацыйнай сістэмы).

Затым можна проста перазагрузіць тэлефон, выбраўшы адпаведны пункт у меню рекавери.