*Вопрос: мне нужна помощь в установке внутренних данных телефона 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
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 , но, поскольку вы хотите получить только все данные (чтение), параметров по умолчанию будет достаточно.
-t jpg
команду mount?Это своего рода сложная ситуация. Поскольку у вас нет root-доступа, вы не сможете смонтировать раздел данных через adb в режиме восстановления. Вы также не сможете: adb backup
.
Единственный возможный способ как-то получить ваши данные может быть следующим:
или используйте навигацию по клавишам в режиме восстановления, чтобы смонтировать данные (обычно есть такая возможность). Вы можете перемещаться с помощью eh vol+ vol- и подтверждать нажатием кнопки питания. Вам просто нужно знать, как выглядит ваше восстановление с устройства с рабочим экраном.
вытащите все из данных и будьте счастливы
Возможно, у вас возникнут проблемы с подключением через adb, так как ваш компьютер не будет авторизован. Это нужно проверить. Если да, вы облажались, если не найдете восстановление, в котором эта функция безопасности отключена.
ОБНОВИТЬ:
Я только что нашел кое-что, что в значительной степени может вам помочь. Это корневое ядро, взятое из стандартного ПЗУ, и включенное восстановление с отключенной безопасностью. Прошивка этого ядра через odin должна помочь вам смонтировать данные или любой раздел, который вы хотите смонтировать, чтобы вернуть свои данные.
Что делать: 1. Загрузите правильный CF-ROOT для вашей версии Android здесь: http://forum.xda-developers.com/showpost.php?p=8238938&postcount=3
Перейдите в режим загрузки с помощью комбинации клавиш (удерживайте кнопку уменьшения громкости, кнопку домой и кнопку питания)
Откройте odin (было бы здорово скачать его раньше)
Теперь вы можете войти в это восстановление, как и раньше, и смонтировать данные через adb, так как у вас должны быть права root.
из оболочки адб
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
пользователь1710096
Питер