35 votos

¿Cómo puedo ver la tabla de partición interna de Android?

He rooteado mi dispositivo, lo he puesto en modo de recuperación, y lo he vinculado al PC por adb shell .

¿Cómo puedo ver la lista de dispositivos de almacenamiento y particiones?

Nota: fdisk no funciona.

3 votos

fdisk funciona si le pasas un dispositivo como fdisk -l /dev/block/mmcblk0

40voto

Suelo utilizar un combinación de los siguientes 4 comandos y correlacionarlos, ya que cada uno de estos comandos da una parte de la información que se puede necesitar.

En resumen:

  1. Utilizando df muestra el alias de la ruta del sistema de archivos y la información sobre el tamaño como se ve a continuación (tamaño total, usado, libre y tamaño de bloque)

    • Ejemplo de salida:

      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)

  2. Utilizando cat /proc/mounts muestra la ruta del archivo de la partición, el alias, el tipo de sistema de archivos, el inodo de inicio, el número de bloques, el estado de lectura/escritura (y otros parámetros de la partición individual de los que no estoy del todo seguro)

    • Nota: La salida de cat /proc/mounts puede ser un poco desordenado, pero si lo lees línea por línea (entrada por entrada) cuidadosamente obtendrás la información
    • Ejemplo de salida:

      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)

  1. Utilizando cat /proc/partitions obtendrá el identificador real del nombre de la partición y el número de bloques de la misma.

    • Ejemplo de salida:

      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)

  2. Utilizando ls -al /dev/block/platform/msm_sdcc.1/by-name se obtiene el mapeo entre el alias de la partición y la ruta del archivo real de la partición (también se obtiene el propietario, su grupo de usuarios, etc.)

    • Ejemplo de salida:

      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)

1 votos

No tiene /dev/block/platform/xxx/by-name . Tenía /proc/emmc que es similar, pero no lista las particiones de arranque. Tampoco tiene cat /proc/mounts , pero se utilizó mount en su lugar.

0 votos

Estoy tratando de averiguar vbmeta partition tamaño y ubicación. ¿Dónde está ese

14voto

Jason Puntos 17388

Creo que quieres: cat /proc/mtd .

También es útil: mount .

7 votos

cat /proc/partitions también muestra una lista de todas las particiones. Creo que mount se correlaciona con cat /proc/mounts . Ah, el viejo /proc

0 votos

todo lo que obtengo es dev: size erasesize name ya sea que corra como su o no. Android.stackexchange.com/q/53225/693

7 votos

/proc/mtd no está disponible en todos los dispositivos, mientras que /proc/partitions debería ser.

10voto

Caleb Connolly Puntos 69

Hilo antiguo pero he encontrado algo que nadie ha mencionado... por si alguien lo encuentra útil.

ls -la /dev/block/bootdevice/by-name El directorio contiene enlaces simbólicos con nombre a todas las particiones.

0 votos

Ya ha sido contestada, simplemente no has leído

4 votos

@alecxs aquí nadie ha señalado ese directorio en concreto, en ocasiones puede ser útil cuando otras soluciones no tienen la información que quieres. No veo el objetivo de tu comentario.

0 votos

El camino hace la diferencia

8voto

Michał Rus Puntos 113

Puede obtenerse información aún más útil en parted . Un ejemplo cuando el dispositivo de bloqueo 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

~ #

6 votos

parted no está instalado en mi dispositivo, por lo que presumiblemente no está disponible por defecto.

3 votos

¿cómo se instala el parted?

3 votos

parted no está disponible por defecto en los dispositivos Android, la solución no es viable

8voto

NeoColossus1020 Puntos 21

Puedes usar fdisk a través de busybox en un droide. Así que, asumiendo que tienes el binario de busybox en tu rom, y está en tu ruta, el comando sería simplemente:

busybox fdisk [the various fdisk options...]

Ejemplo de salida de un i9305 con TWRP recovery ejecutado ( 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

0 votos

Una gran pista. Gracias.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X