Quiero averiguar todas las particiones en mi dispositivo junto con su resp. puntos de montaje o etiquetas (es decir, saber qué partición está sosteniendo system
, recovery
, boot
, etc.). Esto debe ser independiente del dispositivo (ya que tengo varios dispositivos). El objetivo es para dd
ellos y saber qué imagen es qué.
¿He visto Comando para enumerar los puntos de montaje de la partición? - Sin embargo, el objetivo era solo una lista de particiones montadas. Los necesito a todos y, por ejemplo, /recovery
no está montado cuando arranco en "modo de trabajo normal".
Hasta ahora, mi recherche ha traído un montón de enfoques, pero ninguno de ellos funciona en ninguno de los dispositivos que he probado:
cat /proc/mtd
: esto está vacío o no existecat /proc/emmc
: esto está vacío o no existecat /proc/dumchar_info
: no existente (MTK / MediaTek)ls -al /dev/block/platform/*/by-name
: no existe o no tiene los detalles deseados
¿Alguna idea de lo que podría haber perdido? Por supuesto, podría caminar todos los /dev/block/mmcblk0p*
dispositivos, volcarlos y clasificarlos más tarde, pero luego tuve que repetir esa investigación para cada uno de mis dispositivos (y nuevamente cuando alguien aparece con otro), así que no hay solución.
EDITAR: tenga en cuenta la etiqueta de línea de comandos para esta pregunta. Tendré que acceder a esa información a través de ADB, y no quiero instalar alguna aplicación en un dispositivo que se me entregó para su investigación. Considérelo "antecedentes forenses" (sin cambios en el dispositivo), aunque eso no es exactamente cierto;)
También me disculpo por mi error de redacción inicial: los "puntos de montaje" solo son interesantes en la medida en que revelan el propósito de la partición. No quiero montarlos / volverlos a montar :)
Respuestas:
Como las respuestas existentes ya muestran, parece que no hay una "forma única" de lograrlo. Así que comencé a combinar ideas de allover, uniéndolas en una secuencia de comandos (o más bien una "biblioteca de secuencias de comandos") para que se verificaran secuencialmente (hasta que se hizo un buen éxito), e integré eso en mi "Herramienta de documentación del dispositivo" llamada Adebar . Los interesados pueden encontrarlo en el
lib/partitions.lib
archivo. Como Adebar es de código abierto (GPLv2), siéntase libre de copiarlo y usarlo, o bifurcar el proyecto y mejorarlo.La solución completa es un poco larga para publicar aquí (como se dijo, puede obtenerla en Github), pero como nuestra política es incluir al menos la parte general en la publicación, esto es lo que hace:
Las diferentes fuentes proporcionan diferentes conjuntos de detalles, por lo que primero prueba los "mejores", y luego recurre hasta que se encuentre al menos algo.
/proc/dumchar_info
proporciona la mayoría de los detalles, por lo que esto se intenta primero Los usuarios felices de MTK obtendrán esto./proc/mtd
Es la segunda mejor fuente./proc/emmc
debería tener casi tanto como los candidatos anteriores, pero es un poco difícil de usar/dev/block/platform/*/by-name
, verificado con .../proc/partitions
verificado con/proc/mounts
nos da al menos las particiones montadasEntonces, el script que he construido básicamente recorre las fuentes en este orden, deteniéndose tan pronto como pudo recopilar detalles (por ejemplo, si
/proc/dumchar_info
se encontró, no es necesario analizar todos los demás). Todos ellos se ponen en funciones separadas, devolviendo datos usando la misma estructura, uno podría incluso combinar resultados de todos ellos.Si alguien puede encontrar una solución mejor, por supuesto, siempre estoy abierto a la idea :)
fuente
Me topé con esta pregunta. Me gusta el reto...
Herramientas que utilicé: BusyBox
He creado 3 comandos (uno que enumeraste) para dar información sobre las particiones.
Salida:Salida:
Salida:
fuente
busybox
(que desafortunadamente no está disponible en "los dispositivos de algunos amigos" que me entregan).blkid
no revela qué partición es (arranque, recuperación, etc.), y*/by-name/*
no existe en todos los dispositivos (y cuando lo hace, los nombres a veces son bastante crípticos, por ejemplo, en mi LG Optimus 4X, los nombres son todos 3- caracteres solamente y no necesariamente "hablar").df
solo enumera los dispositivos montados, por lo que no mostrará, por ejemplo, la recuperación cuando se ejecuta en "modo normal", por lo que aquí es más fácil de usar/proc/mounts
./proc/mtd
, pero desafortunadamente, eso ya no parece estar lleno de dispositivos actuales. En algunos dispositivos, incluso he encontrado.fstab
archivos, pero de nuevo, a) no en todos, yb) incluso si no parecían confiables (algunas partes definitivamente estaban mal allí).KPARTX
El comando kpartx lee tablas de particiones y asigna particiones a archivos de dispositivo. Funciona en dispositivos e imágenes de disco. Esto significa que podemos asignar particiones HFS en una imagen de disco a un archivo de dispositivo de bloque especial y montar esas particiones direccionando ese archivo de dispositivo de bloque como si fuera parte de un dispositivo conectado.
http://linuxsleuthing.blogspot.com/2012/10/christmas-come-early-hfshfs-mounting.html
Los ejemplos en el enlace son enemigos del MacBook Pro, pero diferentes imágenes de disco deberían funcionar bien siempre que se presenten a GNU Linux en RAW. (xmount - ver abajo)
usage : kpartx [-a|-d|-l] [-f] [-v] wholedisk
xmount
xmount le permite convertir sobre la marcha entre múltiples tipos de imagen de disco duro de entrada y salida. xmount crea un sistema de archivos virtual usando FUSE (Sistema de archivos en el espacio de usuario) que contiene una representación virtual de la imagen de entrada. La representación virtual puede estar en formato DD, DMG, VHD sin formato, en el disco virtual de VirtualBox o en el formato de archivo VMDK de VmWare. Las imágenes de entrada pueden ser archivos DD, EWF (formato de compresión de testigos expertos) o AFF (formato forense avanzado) sin formato. Además, xmount también admite acceso de escritura virtual a los archivos de salida que se redirige a un archivo de caché. Esto permite iniciar imágenes de disco duro adquiridas utilizando QEMU, KVM, VirtualBox, VmWare o similares.
https://www.pinguin.lu/xmount
Puedo proporcionar detalles e información adicionales si es necesario o necesario.
fuente
/recovery
partición de un dispositivo en ejecución. Eso no está montado en modo normal. ¿Cómo calculo qué partición elegir? Con lo anterior, tuve que elegirlos todos y averiguarlo más tarde. Produce demasiados datos y lleva demasiado tiempo.DiskInfo será la aplicación que quieras. Mostrará todos los puntos de montaje, además de todas las particiones desmontadas y temporales.
Esta es solo una interfaz gráfica, sin ninguna otra funcionalidad real. Perfecto para tu necesidad. Esto requiere ser utilizado en un dispositivo totalmente arrancado. La raíz no es necesaria.
Captura de pantalla (haga clic para una variante más grande)
fuente
command-line
etiqueta :) Supongo que será mejor que lo escriba explícitamente. Conozco varias aplicaciones que muestran estos detalles, pero necesito acceder / recopilarlas a través deadb shell
, y sin la ayuda de una aplicación adicional (no siempre puedo instalarla primero en un dispositivo que se me entregó).