Я хочу выяснить все разделы на моем устройстве вместе с их соотв. точки монтирования или метки (т.е. знать , какой раздел держит system
, recovery
, boot
и т.д.). Это должно быть независимым от устройства (так как у меня есть несколько устройств). Цель для dd
них и знать, какой образ есть что.
Я видел команду для перечисления точек монтирования раздела? - однако, целью была просто список разделов подключенных разделов. Мне они все нужны, и, например /recovery
, не монтируется при загрузке в «нормальном режиме работы».
До сих пор мой речерч поднял кучу подходов, но ни один из них не работает ни на одном из протестированных мной устройств:
cat /proc/mtd
: это пусто или не существуетcat /proc/emmc
: это пусто или не существуетcat /proc/dumchar_info
: не существует (MTK / MediaTek)ls -al /dev/block/platform/*/by-name
: либо не существует, либо не имеет требуемых деталей
Есть идеи о том, что я мог пропустить? Конечно, я мог пройтись по всем /dev/block/mmcblk0p*
устройствам, выгрузить их и разобраться с ними позже - но потом мне пришлось повторить это расследование для каждого из моих устройств (и снова, когда кто-то обнаружит другое), так что это не решение.
РЕДАКТИРОВАТЬ: Обратите внимание на тег командной строки на этот вопрос. Мне нужно будет получить доступ к этой информации через АБР, и я не хочу устанавливать какое-либо приложение на устройство, переданное мне для расследования. Считайте, что это «фон судебной экспертизы» (без изменений в устройстве), хотя это не совсем так;)
Также прошу прощения за мое первоначальное неверное выражение: «точки монтирования» интересны только тем, что раскрывают назначение раздела. Я не хочу монтировать / перемонтировать их :)
Ответы:
Как уже показывают существующие ответы, кажется, что нет «уникального способа» достичь этого. Поэтому я начал объединять идеи от allover, объединяя их в сценарий (или, скорее, в «библиотеку сценариев»), чтобы последовательно проверять их (до тех пор, пока не будет достигнут хороший результат), и интегрировал их в мой «Инструмент документирования устройств» под названием Adebar . Желающие могут найти его в
lib/partitions.lib
файле. Поскольку Adebar имеет открытый исходный код (GPLv2), не стесняйтесь копировать и использовать его - или раскошелиться на проект и улучшите его.Полное решение немного длинно, чтобы публиковать здесь (как уже говорилось, вы можете получить его на Github), но поскольку наша политика заключается в том, чтобы включить хотя бы общую часть в пост, вот что он делает:
Разные источники предоставляют разные наборы деталей, поэтому сначала он выбирает «лучшие», а затем повторяет до тех пор, пока по крайней мере что-то не будет найдено.
/proc/dumchar_info
дает большинство деталей, так что это пробуется в первую очередь. Счастливые пользователи MTK получат это./proc/mtd
это второй лучший источник./proc/emmc
должно иметь почти столько же, сколько предыдущие кандидаты, но немного сложнее в использовании/dev/block/platform/*/by-name
, перепроверено с…/proc/partitions
Перепроверено с/proc/mounts
дает нам по крайней мере разделы установленыИтак, скрипт, который я создал, в основном обходит источники в этом порядке, останавливаясь, как только он смог собрать детали (например, если
/proc/dumchar_info
был найден, нет необходимости анализировать все остальные). Все они помещены в отдельные функции, возвращая данные, используя одну и ту же структуру, можно даже объединить результаты из всех них.Если кто-то может предложить лучшее решение, я, конечно, всегда открыт для идеи :)
источник
Я наткнулся на этот вопрос. Мне нравится вызов ...
Инструменты, которые я использовал: BusyBox
Я пришел с 3 командами (одна из которых вы перечислили), чтобы дать некоторую информацию о разделах
Вывод:Вывод:
Вывод:
источник
busybox
(который, к сожалению, недоступен на "устройствах некоторых друзей", которые мне передают).blkid
не показывает, какой это раздел (загрузочный, восстановительный и т. д.), и*/by-name/*
он существует не на всех устройствах (и когда это происходит, названия иногда бывают довольно загадочными - например, на моем LG Optimus 4X имена все 3- только символы и не обязательно "говорящие").df
только перечисляет подключенные устройства, поэтому он не будет отображать, например, восстановление при работе в «нормальном режиме» - так что здесь его проще использовать/proc/mounts
./proc/mtd
- но, к сожалению, кажется, что они больше не заполнены текущими устройствами. На некоторых устройствах я даже нашел.fstab
файлы, но, опять же, а) не на всех, и б) даже если они не казались надежными (некоторые части были определенно ошибочны).KPARTX
Команда kpartx читает таблицы разделов и сопоставляет разделы с файлами устройств. Работает на устройствах и образах дисков. Это означает, что мы можем отобразить разделы HFS в образе диска в специальный файл блочного устройства и смонтировать эти разделы, обратившись к этому файлу блочного устройства, как если бы он был частью подключенного устройства.
http://linuxsleuthing.blogspot.com/2012/10/christmas-come-early-hfshfs-mounting.html
Примеры в ссылке приведены для MacBook Pro, но разные образы дисков должны работать нормально, если они представлены в GNU Linux в RAW. (см. ниже)
usage : kpartx [-a|-d|-l] [-f] [-v] wholedisk
xmount
xmount позволяет на лету конвертировать несколько типов входных и выходных жестких дисков. xmount создает виртуальную файловую систему, используя FUSE (Файловая система в пользовательском пространстве), которая содержит виртуальное представление входного изображения. Виртуальное представление может быть в необработанном формате DD, DMG, VHD, виртуальном диске VirtualBox или в формате VmWare VMDK. Входные изображения могут быть необработанными файлами DD, EWF (формат сжатия Expert Witness Compress) или AFF (Advanced Forensic Format). Кроме того, xmount также поддерживает виртуальный доступ на запись к выходным файлам, которые перенаправляются в файл кэша. Это позволяет загружать полученные образы жесткого диска, используя QEMU, KVM, VirtualBox, VmWare или другие.
https://www.pinguin.lu/xmount
Я могу предоставить дополнительную информацию и информацию, если требуется или необходимо.
источник
/recovery
раздел с работающего устройства. Это не установлено в обычном режиме. Как мне определить, какой раздел выбрать? С учетом вышесказанного мне пришлось их всех собрать и выяснить позже. Создает слишком много данных и занимает слишком много времени.DiskInfo будет приложением, которое вы хотите. Он покажет все точки монтирования, а также все несмонтированные и все временные разделы.
Это просто графический интерфейс, без других реальных функций. Идеально подходит для ваших нужд. Это необходимо использовать на полностью загруженном устройстве. Рут не нужен.
Снимок экрана (нажмите для увеличения)
источник
command-line
тег :) Думаю, я лучше напишу это явно. Я знаю несколько приложений, показывающих эти подробности, но мне нужно получить доступ / собрать их черезadb shell
и без помощи дополнительного приложения (не всегда можно сначала установить его на устройстве, которое мне передали).