Rooteé mi dispositivo, lo puse en modo de recuperación y lo vinculé a la PC mediante adb shell .
¿Cómo puedo ver la lista de dispositivos de almacenamiento y particiones?
Nota: fdisk
no funciona.
Creo que quieres: cat /proc/mtd
.
También útil: mount
.
cat /proc/partitions
muestra una lista de todas las particiones también. Creo que se mount
correlaciona con cat /proc/mounts
. Ah, buen viejo/proc
dev: size erasesize name
si corro como su o no. android.stackexchange.com/q/53225/693/proc/mtd
no está disponible en todos los dispositivos, aunque /proc/partitions
debería estarlo.Usualmente uso una combinación de los siguientes 4 comandos y los relaciono, ya que cada uno de estos comandos brinda una parte de la información que podría ser necesaria.
En resumen:
Usando df
enumera el alias de la ruta del sistema de archivos y la información de tamaño como se ve a continuación (tamaño total, usado, libre y tamaño de bloque)
Salida de ejemplo:
root@ks01lte:/sdcard # df
df
Filesystem Size Used Free Blksize
/dev 910.0M 92.0K 909.9M 4.0K
/firmware 64.0M 8.7M 55.2M 16.0K
/firmware-modem 64.0M 49.2M 14.8M 16.0K
/system 2.2G 2.2G 62.7M 4.0K
/data 11.9G 3.0G 8.9G 4.0K
/cache 31.5M 4.1M 27.4M 4.0K
/persist 7.9M 4.0M 3.8M 4.0K
/efs 13.8M 4.4M 9.3M 4.0K
/storage/emulated 910.0M 0.0K 910.0M 4.0K
/storage/emulated/0 11.9G 3.0G 8.9G 4.0K
/storage/emulated/0/Android/obb 11.9G 3.0G 8.9G 4.0K
/storage/emulated/legacy 11.9G 3.0G 8.9G 4.0K
/storage/emulated/legacy/Android/obb 11.9G 3.0G 8.9G 4.0K
/mnt/media_rw/extSdCard 29.7G 251.8M 29.5G 32.0K
/storage/extSdCard 29.7G 251.8M 29.5G 32.0K
(... cortado por razones de espacio)
El uso cat /proc/mounts
muestra la ruta del archivo de partición, el alias, el tipo de sistema de archivos, el inodo de inicio, la cantidad de bloques, el estado de lectura/escritura (y otros parámetros de la partición individual de los que no estoy completamente seguro)
cat /proc/mounts
puede ser un poco desordenada, pero si la lee línea por línea (entrada por entrada) con atención, obtendrá la información.Salida de ejemplo:
root@ks01lte:/sdcard # cat /proc/mounts
cat /proc/mounts
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,size=931840k,nr_inodes=124673,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
none /sys/fs/cgroup tmpfs rw,seclabel,relatime,size=931840k,nr_inodes=124673,mode=750,gid=1000 0 0
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,errors=panic,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/efs /efs ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 0 0
(... cortado por razones de espacio)
Usando cat /proc/partitions
obtendrá el identificador de nombre de partición real y la cantidad de bloques en la partición.
Salida de ejemplo:
root@ks01lte:/sdcard # cat /proc/partitions
cat /proc/partitions
major minor #blocks name
253 0 1048576 vnswap0
179 0 15388672 mmcblk0
179 1 15360 mmcblk0p1
179 2 58816 mmcblk0p2
179 3 512 mmcblk0p3
179 4 32 mmcblk0p4
179 5 32 mmcblk0p5
179 6 2048 mmcblk0p6
179 7 512 mmcblk0p7
179 8 512 mmcblk0p8
179 9 10240 mmcblk0p9
179 10 10240 mmcblk0p10
179 11 14336 mmcblk0p11
179 12 3072 mmcblk0p12
179 13 3072 mmcblk0p13
179 14 20480 mmcblk0p14
179 15 20480 mmcblk0p15
179 16 10240 mmcblk0p16
179 17 7159 mmcblk0p17
179 18 3072 mmcblk0p18
(... cortado por razones de espacio)
Al usar ls -al /dev/block/platform/msm_sdcc.1/by-name
, obtiene la asignación entre el alias de la partición y la ruta del archivo de partición real (también obtiene el propietario, su grupo de usuarios, etc.)
Salida de ejemplo:
root@ks01lte:/sdcard # ls -al /dev/block/platform/msm_sdcc.1/by-name
ls -al /dev/block/platform/msm_sdcc.1/by-name
lrwxrwxrwx root root 2014-01-20 11:29 aboot -> /dev/block/mmcblk0p6
lrwxrwxrwx root root 2014-01-20 11:29 apnhlos -> /dev/block/mmcblk0p1
lrwxrwxrwx root root 2014-01-20 11:29 backup -> /dev/block/mmcblk0p17
lrwxrwxrwx root root 2014-01-20 11:29 boot -> /dev/block/mmcblk0p14
lrwxrwxrwx root root 2014-01-20 11:29 hidden -> /dev/block/mmcblk0p25
lrwxrwxrwx root root 2014-01-20 11:29 modem -> /dev/block/mmcblk0p2
lrwxrwxrwx root root 2014-01-20 11:29 persdata -> /dev/block/mmcblk0p22
lrwxrwxrwx root root 2014-01-20 11:29 persist -> /dev/block/mmcblk0p21
lrwxrwxrwx root root 2014-01-20 11:29 recovery -> /dev/block/mmcblk0p15
lrwxrwxrwx root root 2014-01-20 11:29 system -> /dev/block/mmcblk0p23
lrwxrwxrwx root root 2014-01-20 11:29 tz -> /dev/block/mmcblk0p8
lrwxrwxrwx root root 2014-01-20 11:29 userdata -> /dev/block/mmcblk0p26
(... cortado por razones de espacio)
/dev/block/platform/xxx/by-name
tengo Did have /proc/emmc
, que es similar, pero no enumera las particiones de arranque. Tampoco tiene cat /proc/mounts
, pero se usa mount
en su lugar.vbmeta partition
tamaño y la ubicación. Donde es esoHilo antiguo pero encontré algo que nadie más ha mencionado... en caso de que alguien lo encuentre útil.
ls -la /dev/block/bootdevice/by-name
El directorio contiene enlaces simbólicos con nombre a todas las particiones.
ls -l $(find /dev/block -name by-name)
esto cubrirá todas las rutas posibles (que, por supuesto, varía para otros dispositivos)Se puede obtener información aún más útil de parted
. Un ejemplo cuando el dispositivo de bloque es /dev/block/mmcblk0
:
~ # parted /dev/block/mmcblk0 print
Model: MMC SEM04G (sd/mmc)
Disk /dev/block/mmcblk0: 3959MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
10 524kB 1573kB 1049kB PIT
6 1573kB 3146kB 1573kB CSPSA FS
7 4194kB 14.7MB 10.5MB ext4 EFS
2 14.7MB 31.5MB 16.8MB ext4 Modem FS
14 32.5MB 34.6MB 2097kB SBL
16 34.6MB 36.7MB 2097kB SBL_2
1 36.7MB 53.5MB 16.8MB PARAM
12 53.5MB 55.6MB 2097kB IPL Modem
13 55.6MB 72.4MB 16.8MB Modem
15 72.4MB 89.1MB 16.8MB Kernel
17 89.1MB 106MB 16.8MB Kernel2
3 106MB 748MB 642MB ext4 SYSTEM
5 748MB 2056MB 1309MB ext4 DATAFS
4 2056MB 2377MB 321MB ext4 CACHEFS
9 2377MB 2713MB 336MB ext4 HIDDEN
11 2713MB 2765MB 52.4MB Fota
8 2765MB 3949MB 1184MB UMS
~ #
Puedes usar fdisk a través de busybox en un droide. Entonces, asumiendo que tienes el binario busybox en tu rom, y está en tu camino, el comando sería simplemente:
busybox fdisk [the various fdisk options...]
Salida de ejemplo de un i9305 con recuperación TWRP en ejecución ( v3.5.0_9-0
):
~ # busybox fdisk -l /dev/block/mmcblk0
Found valid GPT with protective MBR; using GPT
Disk /dev/block/mmcblk0: 30777344 sectors, 2740M
Logical sector size: 512
Disk identifier (GUID): 52444e41-494f-2044-4d4d-43204449534b
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 30777310
Number Start (sector) End (sector) Size Code Name
1 8192 16383 4096K 0700 BOTA0
2 16384 24575 4096K 0700 BOTA1
3 24576 65535 20.0M 0700 EFS
4 65536 73727 4096K 0700 m9kefs1
5 73728 81919 4096K 0700 m9kefs2
6 81920 90111 4096K 0700 m9kefs3
7 90112 106495 8192K 0700 PARAM
8 106496 122879 8192K 0700 BOOT
9 122880 139263 8192K 0700 RECOVERY
10 139264 319487 88.0M 0700 RADIO
11 319488 843775 256M 0700 TOMBSTONES
12 843776 2940927 1024M 0700 CACHE
13 2940928 6086655 1536M 0700 SYSTEM
14 6086656 7233535 560M 0700 HIDDEN
15 7233536 7249919 8192K 0700 OTA
16 7249920 30769151 11.2G 0700 USERDATA
Puede ver los tamaños y las estadísticas de uso de todas las particiones montadas simplemente usando este comando:
df
Tenga en cuenta que el típico df -h
no funciona aquí y no es necesario porque la salida ya está en megabytes. El comando funciona dentro adb shell
del emulador de terminal de Android, pero no en el modo de recuperación de la terminal porque no hay nada montado en ese punto.
Solo para almacenamiento interno, puede instalar DiskInfo . Pero no muestra el sistema de archivos de mi tarjeta SD.
para listar particiones mmcblk0:
gato /proc/dumchar_info
Part_Name Size StartAddr Type MapTo
preloader 0x0000000000600000 0x0000000000000000 2 /dev/misc-sd
mbr 0x0000000000080000 0x0000000000000000 2 /dev/block/mmcblk0
ebr1 0x0000000000080000 0x0000000000080000 2 /dev/block/mmcblk0p1
pro_info 0x0000000000300000 0x0000000000100000 2 /dev/block/mmcblk0
nvram 0x0000000000500000 0x0000000000400000 2 /dev/block/mmcblk0
protect_f 0x0000000000a00000 0x0000000000900000 2 /dev/block/mmcblk0p2
protect_s 0x0000000000a00000 0x0000000001300000 2 /dev/block/mmcblk0p3
seccfg 0x0000000000020000 0x0000000001d00000 2 /dev/block/mmcblk0
uboot 0x0000000000060000 0x0000000001d20000 2 /dev/block/mmcblk0
bootimg 0x0000000000600000 0x0000000001d80000 2 /dev/block/mmcblk0
recovery 0x0000000000600000 0x0000000002380000 2 /dev/block/mmcblk0
sec_ro 0x0000000000600000 0x0000000002980000 2 /dev/block/mmcblk0p4
misc 0x0000000000080000 0x0000000002f80000 2 /dev/block/mmcblk0
logo 0x0000000000300000 0x0000000003000000 2 /dev/block/mmcblk0
expdb 0x0000000000080000 0x0000000003300000 2 /dev/block/mmcblk0
android 0x0000000000a00000 0x0000000003380000 2 /dev/block/mmcblk0p5
cache 0x000000002bc00000 0x0000000003d80000 2 /dev/block/mmcblk0p6
usrdata 0x00000000b6ca0000 0x000000002f980000 2 /dev/block/mmcblk0p7
bmtpool 0x0000000000000000 0x0000000037780000 2 /dev/block/mmcblk0
Part_Name:Partition name you should open;
Size:size of partition
StartAddr:Start Address of partition;
Type:Type of partition(MTD=1,EMMC=2)
MapTo:actual device you operate
/proc/diskstats
con información similar, aunque no tan bonita. (Recuperación TWRP)Prueba esto en el camino -
dev/block/platform/******/by-name # ls -al
probar todo el directorio dentro de dev/block/platform/**/byname
endolito
fdisk -l /dev/block/mmcblk0