Установка восстановления оболочки Android ADB

*Вопрос: мне нужна помощь в установке внутренних данных телефона Android с помощью Android ADB Shell, когда устройство подключено через USB и находится в режиме восстановления. Как сформировать правильную команду монтирования? См. ниже более подробную информацию.

*К вашему сведению: у меня есть опыт разработки с помощью Android SDK с использованием Java/XML. Я нашел небольшую документацию для Android ADB Shell для моей цели.

У меня есть Android-телефон Samsung GT-i9000 с разбитым экраном. Экран черный, на прикосновения не реагирует. В телефоне не включена отладка USB или автоматическое подключение USB. Я не могу просто подключить телефон через USB для доступа к нужным файлам (фотографии и другие внутренние данные). К сожалению, я не могу подтвердить версию ОС. В телефоне нет SD-карты, все нужные данные находятся на внутренней плате. Телефон не рутирован.

* Что я пробовал: проведя небольшое исследование, я загрузил телефон в режим восстановления, используя метод трех кнопок (VolUP + Home + Power), и мне удалось получить доступ к устройству с помощью команды «adb devices» на моем компьютере с Win 7. Он отображается как «восстановление». Это единственный способ заставить компьютер распознать устройство через USB. Я пробовал Kies и androidscreencast безуспешно.

Я смог использовать команду «pull» для доступа ко всем системным файлам Android с телефона. Я предполагаю, что это связано с тем, что в режиме восстановления монтируются только необходимые системные файлы для обновлений/восстановления и не затрагиваются внутренние данные. Используя команду mount, я могу увидеть, что я считаю путями к файлам, которые я ищу:

$ mount
mount
rootfs / rootfs rw 0 0
tmpfs /dev tmpfs rw,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
nodev /tmp tmpfs rw,relatime 0 0
/dev/block/stl6 /mnt/.lfs j4fs rw,relatime 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/stl9 /system rfs rw,relatime,vfat,llw,check=no,gid/uid/rwx,iocharset=
utf8 0 0
/dev/block/stl3 /efs rfs rw,nosuid,nodev,relatime,vfat,llw,check=no,gid/uid/rwx,
iocharset=utf8 0 0
/dev/block/stl11 /cache rfs rw,relatime,vfat,llw,check=no,gid/uid/rwx,iocharset=
utf8 0 0

Все мои попытки смонтировать терпят неудачу, обычно с предложением использования:

$ mount rootfs / /mnt/ rw 0 0
mount rootfs / /mnt/ rw 0 0
Usage: mount [-r] [-w] [-o options] [-t type] device directory
Есть ли возможность включить настройку USB через XML, используя системные файлы, которые я приобрел?
цель смонтировать раздел /data для извлечения файлов с помощью adb?

Ответы (6)

ls -l /dev/block/platform/dw_mmc/by-name/ 

чтобы найти путь к разделу данных пользователя. Затем

mount -t ext4 /dev/block/mmcblk0p10 /data

Проверьте правильный тип файловой системы, а также mmcblkXpXXиз первой команды.

В случае успеха /dataдолжен быть установлен правильно

Все мои команды монтирования приводят к mount: Operation not permitted. Кажется, я нашел то, о чем вы говорите, хотя они (mmcblk0p2, mmcblk0p1) существуют в каталоге блоков. Каталог платформы не существует.
ваш ответ правильный, но он заявил, что его устройство не рутировано, поэтому это не поможет.

Разделы Samsung Galaxy S2 с полезными данными есть /dataи /sdcard(внутренняя память) или /emmcв зависимости от рекавери.

Чтобы смонтировать раздел, введите следующую команду: mount <partition> <mount_point>или mount <mount_point>, если точка монтирования уже определена. Для /dataили /sdcardвы можете попробовать с mount /dataи mount /sdcard.

Если точка монтирования еще не определена, вам придется использовать раздел: mount /dev/block/mmcblk0p10 /data. Параметр -oопределяет параметры при вызове mount , но, поскольку вы хотите получить только все данные (чтение), параметров по умолчанию будет достаточно.

Спасибо за перенос на нужный форум. Единственная правильная команда монтирования, которую я мог запустить, была mount -t jpg /dev/block/mmcblk0p1 /sdcard -operation not Allowed. Я использовал mmcblk0p1, потому что указанное вами местоположение не существует.
Почему вы используете -t jpgкоманду mount?

Это своего рода сложная ситуация. Поскольку у вас нет root-доступа, вы не сможете смонтировать раздел данных через adb в режиме восстановления. Вы также не сможете: adb backup.

Единственный возможный способ как-то получить ваши данные может быть следующим:

  1. прошить кастомное рекавери через odin ( http://forum.xda-developers.com/showthread.php?t=2204700 возможно)
  2. зайти в рекавери как раньше
  3. смонтировать данные через adb, если у вас есть root-права с этим рекавери
  4. или используйте навигацию по клавишам в режиме восстановления, чтобы смонтировать данные (обычно есть такая возможность). Вы можете перемещаться с помощью eh vol+ vol- и подтверждать нажатием кнопки питания. Вам просто нужно знать, как выглядит ваше восстановление с устройства с рабочим экраном.

  5. вытащите все из данных и будьте счастливы

Возможно, у вас возникнут проблемы с подключением через adb, так как ваш компьютер не будет авторизован. Это нужно проверить. Если да, вы облажались, если не найдете восстановление, в котором эта функция безопасности отключена.

ОБНОВИТЬ:

Я только что нашел кое-что, что в значительной степени может вам помочь. Это корневое ядро, взятое из стандартного ПЗУ, и включенное восстановление с отключенной безопасностью. Прошивка этого ядра через odin должна помочь вам смонтировать данные или любой раздел, который вы хотите смонтировать, чтобы вернуть свои данные.

Что делать: 1. Загрузите правильный CF-ROOT для вашей версии Android здесь: http://forum.xda-developers.com/showpost.php?p=8238938&postcount=3

  1. Перейдите в режим загрузки с помощью комбинации клавиш (удерживайте кнопку уменьшения громкости, кнопку домой и кнопку питания)

  2. Откройте odin (было бы здорово скачать его раньше)

  3. Нажмите кнопку PDA и выберите CF-Root-xxx-vX.X.tar.
  4. Подключить телефон к компьютеру
  5. Убедитесь, что перераспределение НЕ проверено
  6. Нажмите кнопку СТАРТ
  7. Подождите, пока телефон перезагрузится

Теперь вы можете войти в это восстановление, как и раньше, и смонтировать данные через adb, так как у вас должны быть права root.

Спасибо за ваш вклад в эту старую тему. Я сделаю все возможное, чтобы попробовать ваше решение на следующей неделе и свяжусь с вами как можно скорее.
Посмотрим, поможет ли это. Итак, мое предположение верно, что у вас установлено стоковое ПЗУ?
Вы также можете попробовать использовать heimdall вместо Odin в зависимости от того, какую ОС вы используете. Возможно, установите восстановление TWRP2 с вашего компьютера на телефон. Затем загрузитесь в режим восстановления, и в этот момент у вас должен быть root, что дает вам варианты, включая ручное монтирование, как это предлагается, затем adb pulling нужные вам файлы, или вы можете вытащить весь раздел на свой компьютер, затем смонтировать локально и восстановить таким образом.

из оболочки адб

cat /etc/fstab

или

cat /fstab.qcom

~ # cat fstab.qcom
# Android fstab file.
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK

#<src>                                              <mnt_point>  <type>   <mnt_flags and options>                                                                           <fs_mgr_flags>
/dev/block/mmcblk0p8                                /boot        emmc     defaults                                                                                          defaults
/dev/block/mmcblk0p13                               /recovery    emmc     defaults                                                                                          defaults
/dev/block/mmcblk0p17                               /system      ext4     ro,errors=panic                                                                                   wait
/dev/block/mmcblk0p15                               /cache       ext4     noatime,nosuid,nodev,noauto_da_alloc,journal_async_commit,errors=panic,barrier=1                  wait,check
/dev/block/mmcblk0p28                               /data        ext4     noatime,nosuid,nodev,data=ordered,noauto_da_alloc,journal_async_commit,errors=panic               wait,check,encryptable=footer,length=-16384
/dev/block/mmcblk0p28                               /data        f2fs     rw,discard,nosuid,nodev,noatime,nodiratime,inline_xattr                                           wait,check,encryptable=footer,length=-16384

# zRAM
/dev/block/zram0                                    none         swap     defaults                                                                                          zramsize=201326592

# vold managed volumes
/devices/platform/msm_sdcc.4/mmc_host               auto         auto     defaults                                                                                          voldmanaged=sdcard1:auto,noemulatedsd
/devices/platform/msm_hsusb_host.0                  auto         auto     defaults                                                                                          voldmanaged=usbdisk:auto
~ # 

должен дать вам имя раздела, которое вы ищете.

Устройство: SG-i9001 — Samsung Galaxy S Plus

У меня была такая же проблема раньше. Основная причина, по которой вы не можете перемонтировать файловую систему и другие разделы вашего Android-устройства, заключается в том, что вы не используете оболочку adb в режиме root. Вот что я делал раньше:

$ adb shell 
$ su 
# mount -o rw, remount /system

Это должно решить ваши проблемы. Конечно, в моем случае я запускаю это на Android-устройстве с root-правами (сборка LineageOS Android 7.1.2). В вашем случае может быть по-другому, но суть та же.

Попробуй это:

$ adb shell
$ su
# mount -o rw,remount /system
су: не найдено. Команда mount не работает даже при использовании метода #.
Если телефон не рутирован, он не сможет запустить su (или как root)