Montowanie pamięci wewnętrznej Androida jako pamięci masowej i odzyskiwania danych

Odzyskiwanie danych, usuniętych zdjęć i filmów, dokumentów i innych elementów z pamięci wewnętrznej nowoczesnych telefonów i tabletów z Androidem stało się trudnym zadaniem, ponieważ pamięć wewnętrzna jest połączona za pośrednictwem protokołu MTP, a nie z pamięcią masową (jak pamięć flash USB), a zwykłe programy odzyskiwania danych nie mogą znaleźć i odzyskaj pliki w tym trybie.

Istniejące popularne programy do odzyskiwania danych w systemie Android (patrz Odzyskiwanie danych w systemie Android) starają się ominąć: automatyczne uzyskiwanie dostępu do konta root (lub zezwalanie na to użytkownikowi), a następnie bezpośredni dostęp do pamięci urządzenia, ale to nie działa dla wszystkich urządzenia.

Istnieje jednak sposób na ręczne zamontowanie (podłączenie) wewnętrznej pamięci systemu Android jako dysku flash USB Mass Storage Device za pomocą poleceń ADB, a następnie użycie dowolnego oprogramowania do odzyskiwania danych, które działa z systemem plików ext4 używanym w tym magazynie, takim jak PhotoRec lub R-Studio . Połączenie pamięci wewnętrznej w trybie pamięci masowej i późniejsze odzyskiwanie danych z pamięci wewnętrznej systemu Android, w tym po przywróceniu ustawień fabrycznych (twardy reset), zostanie omówione w tej instrukcji.

Ostrzeżenie: Opisana metoda nie jest przeznaczona dla początkujących. Jeśli uważacie się za ich samych, to niektóre punkty mogą być niezrozumiałe, a wynik działań niekoniecznie będzie oczekiwany (teoretycznie można go pogorszyć). Użyj powyższego tylko na własną odpowiedzialność i z gotowością, że coś pójdzie nie tak i urządzenie z Androidem się nie włączy (ale jeśli zrobisz wszystko, zrozumienie procesu i bez błędów, to nie powinno się zdarzyć).

Przygotowanie do podłączenia pamięci wewnętrznej

Wszystkie opisane poniżej kroki można wykonać w systemach Windows, Mac OS i Linux. W moim przypadku użyłem systemu Windows 10 z podsystemem Windows dla zainstalowanego systemu Linux i Ubuntu Shell ze sklepu z aplikacjami. Instalacja komponentów systemu Linux nie jest konieczna, wszystkie akcje można wykonywać z wiersza poleceń (i nie będą się różnić), ale ja preferowałem tę opcję, ponieważ podczas korzystania z powłoki ADB w linii poleceń wystąpiły problemy z wyświetlaniem znaków specjalnych, które nie mają wpływu na działanie metody, ale reprezentowanie niedogodności.

Przed rozpoczęciem podłączania pamięci wewnętrznej systemu Android jako dysku flash USB w systemie Windows wykonaj następujące kroki:

  1. Pobierz i rozpakuj Narzędzia platformy Android SDK do folderu na komputerze. Pobierz dostępny na oficjalnej stronie internetowej. https://developer.android.com/studio/releases/platform-tools.html
  2. Otwórz parametry zmiennych systemowych środowiska (na przykład, rozpoczynając wprowadzanie "zmiennych" w wyszukiwarce systemu Windows, a następnie kliknij "Zmienne środowiskowe" w oknie właściwości systemu, które zostanie otwarte. Drugi sposób: otwórz Panel sterowania - System - Zaawansowane ustawienia systemu - zakładka "Zmienne środowiskowe" Opcjonalne ").
  3. Wybierz zmienną PATH (bez względu na system lub użytkownika) i kliknij "Edytuj".
  4. W następnym oknie kliknij "Utwórz" i określ ścieżkę do folderu za pomocą narzędzi platformy od 1 kroku i zastosuj zmiany.

Jeśli wykonasz te czynności w systemie Linux lub MacOS, poszukaj w Internecie, jak dodać folder z Android Platform Tools do PATH w tych systemach operacyjnych.

Łączenie pamięci wewnętrznej Androida jako urządzenia pamięci masowej

Teraz przechodzimy do głównej części tego podręcznika - bezpośrednio podłączając wewnętrzną pamięć systemu Android jako pamięć flash do komputera.

  1. Uruchom ponownie telefon lub tablet w trybie odzyskiwania. Zwykle trzeba wyłączyć telefon, a następnie przytrzymać przycisk zasilania i "zmniejszanie głośności" przez pewien czas (5-6) sekund, a po wyświetleniu ekranu szybkiego uruchamiania wybrać tryb odzyskiwania za pomocą przycisków głośności i uruchomić go, potwierdzając wybór krótkim naciśnięciem przycisk zasilania. W przypadku niektórych urządzeń metoda może się różnić, ale jest łatwo dostępna w Internecie na żądanie: "tryb odzyskiwania modelu urządzenia"
  2. Podłącz urządzenie do komputera przez USB i odczekaj chwilę, aż zostanie skonfigurowane. Jeśli urządzenie wyświetla się z błędem po konfiguracji w Menedżerze urządzeń systemu Windows, znajdź i zainstaluj sterownik ADB dla swojego modelu urządzenia.
  3. Uruchom Ubuntu Shell (w moim przykładzie, jest to Ubuntu pod Windows 10), wiersz poleceń lub terminal Mac i wprowadź Urządzenia adb.exe (Uwaga: używam adb dla systemu Windows spod systemu Ubuntu na Windows 10. Mogę zainstalować adb dla systemu Linux, ale wtedy nie "zobaczy" podłączonych urządzeń - ograniczając funkcje podsystemu Windows dla systemu Linux).
  4. Jeśli w wyniku wykonania polecenia zobaczysz podłączone urządzenie na liście, możesz kontynuować. Jeśli nie, wprowadź polecenie fastboot.exe urządzeń
  5. Jeśli w tym przypadku urządzenie jest wyświetlane, to wszystko jest poprawnie podłączone, ale odtwarzanie nie pozwala na użycie poleceń ADB. Może być konieczne zainstalowanie niestandardowego odzyskiwania (zalecam znalezienie TWRP dla Twojego modelu telefonu). Przeczytaj więcej: Instalowanie niestandardowego odzyskiwania systemu Android.
  6. Po zainstalowaniu niestandardowego odzyskiwania przejdź do niego i powtórz polecenie adb.exe - jeśli urządzenie stało się widoczne, możesz kontynuować.
  7. Wprowadź polecenie powłoka adb.exe i naciśnij Enter.

W powłoce ADB wykonujemy następujące polecenia w kolejności.

mount | grep / data

W rezultacie otrzymujemy nazwę bloku urządzeń, który będzie używany dalej (nie zapomnij o nim, zapamiętaj).

Następne polecenie odłączy sekcję danych w telefonie, aby móc połączyć ją jako pamięć masową.

umount / data

Następnie znajdź indeks jednostki LUN żądanej partycji odpowiadający urządzeniu pamięci masowej.

znajdź / sys -name lun *

Wyświetli się kilka linii, jesteśmy zainteresowani tymi, które są w drodze. f_mass_storageale nie wiemy jeszcze, który z nich (zwykle kończy się w lun lub lun0)

W następnym poleceniu używamy nazwy urządzenia od pierwszego kroku i jednej ze ścieżek z f_mass_storage (jedna z nich odpowiada pamięci wewnętrznej). Jeśli zostanie wprowadzona niewłaściwa, pojawi się komunikat o błędzie, a następnie spróbuj następnej.

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

Następnym krokiem jest utworzenie skryptu, który łączy pamięć wewnętrzną z systemem głównym (wszystko poniżej to jedna długa linia).

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

Uruchom skrypt

sh enable_mass_storage_android.sh

W tym momencie sesja Shell ADB zostanie zamknięta, a nowy dysk ("flash drive"), który jest wewnętrzną pamięcią Android, zostanie podłączony do systemu.

W takim przypadku, w przypadku systemu Windows, możesz zostać poproszony o sformatowanie dysku - nie rób tego (Windows po prostu nie wie, jak pracować z systemem plików ext3 / 4, ale wiele programów do odzyskiwania danych jest w stanie).

Odzyskiwanie danych z podłączonego wewnętrznego magazynu systemu Android

Teraz, gdy pamięć wewnętrzna jest podłączona jako zwykły napęd, możemy użyć dowolnego oprogramowania do odzyskiwania danych, które może współpracować z partycjami Linuksa, na przykład wolnym PhotoRec (dostępnym dla wszystkich popularnych systemów operacyjnych) lub płatnym oprogramowaniem R-Studio.

Próbuję wykonywać akcje za pomocą PhotoRec:

  1. Pobierz i rozpakuj PhotoRec z oficjalnej strony https://www.cgsecurity.org/wiki/TestDisk_Download
  2. Uruchom program dla Windows i uruchom program w trybie graficznym, uruchom plik qphotorec_win.exe (więcej: odzyskiwanie danych w PhotoRec).
  3. W głównym oknie programu u góry wybierz urządzenie Linux (nowy dysk, który podłączyliśmy). Poniżej wskazujemy folder do odzyskiwania danych, a także wybierz typ systemu plików ext2 / ext3 / ext .Jeśli potrzebujesz tylko plików określonego typu, polecam ich ręczne (przycisk "Formaty plików"), aby proces działał szybciej.
  4. Ponownie sprawdź, czy wybrany jest właściwy system plików (czasami sam się przełącza).
  5. Rozpocznij wyszukiwanie pliku (zaczną one w drugim przebiegu, pierwszy będzie szukał nagłówków plików). Po znalezieniu zostaną one automatycznie przywrócone do określonego folderu.

W moim eksperymencie, z 30 zdjęć usuniętych z pamięci wewnętrznej w idealnym stanie, 10 zostało przywróconych (lepiej niż nic), dla reszty - znaleziono tylko miniatury, png screeny wykonane przed twardym resetem. R-Studio pokazało o tym samym wyniku.

Ale, w każdym razie, nie jest to problem sposobu działania, ale problem skuteczności odzyskiwania danych per se w niektórych scenariuszach. Zauważyłem również, że Photo Recovery DiskDigger (w trybie głębokiego skanowania z root) i Wondershare Dr. Fone dla Androida wykazało bardzo słabe wyniki na tym samym urządzeniu. Oczywiście możesz wypróbować dowolne inne narzędzia, które pozwolą ci odzyskać pliki z partycji w systemie plików Linux.

Po zakończeniu procesu odzyskiwania wyjmij podłączone urządzenie USB (używając odpowiednich metod systemu operacyjnego).

Następnie możesz po prostu ponownie uruchomić telefon, wybierając odpowiedni element w menu odzyskiwania.