Como esto advierte, no debe habilitar el intercambio en la partición incorrecta o puede destruir su teléfono:
OK antes de continuar! los teléfonos anteriores tenían un diseño de partición donde mmcblck0 era la tarjeta SD (externa) que nuestro teléfono usa mmcblck1 para el sd externo. Esto es importante porque si usa una aplicación, puede estar preestablecido para usar mmcblck0 como partición de intercambio. El uso de esta configuración hará que use su sbl2 o sbl3 como partición de intercambio.
Entonces, la partición de intercambio podría ser /dev/block/mmcblk0p3
si tengo 3 particiones (fat32, sdext, swap) en mi tarjeta SD, o /dev/block/mmcblk0p2
si tengo 2 particiones (fat43 y swap) o /dev/block/mmcblk1p?
si tiene un teléfono diferente, etc. y la elección incorrecta puede bloquearse su teléfono.
¿Cómo saber qué partición es cuál? Debe ser la única partición en cualquier unidad del teléfono con el swap
sistema de archivos.
fdisk -l
hace esto en Ubuntu , pero no muestra nada en Androidblkid
no muestra la partición de intercambiocat /proc/partitions
enumera muchas particiones, pero no indica cuál es el intercambiocat /proc/swaps
solo enumera los intercambios que ya se están utilizandocat /proc/mtd
solo dicedev: size erasesize name
y nada masls /dev/block/vold
enumera algunas particiones como179:64 179:65 179:66
, pero no indica cuáles son?- 4ext recovery lo mostrará en la tabla de particiones (
swap swap 129 MiB
), pero no dice el nombre del desarrollador - ...
Incluso si no hay una herramienta de línea de comandos para imprimirlo directamente, ¿seguramente hay una manera de deducirlo de otra información?
fuente
/proc/swaps
?cat /proc/swaps
solo muestra el swapfile creado por swapper 2, no la partición en la tarjeta SDmount
(sin parámetros) para encontrar el dispositivo de bloqueo correspondiente (/dev/block/*
) y compararlo con la lista de/proc/partitions
(o/proc/mtd
)? Si no tiene más particiones en su tarjeta, su partición de intercambio debe ser "la otra que termina con un dígito", a menosmount
quevold
solo se indique . En ese caso, podría ser útil comparar tamaños (o quitar temporalmente la tarjeta para un "diff").Respuestas:
Instalé la aplicación Disk Info y en las opciones, habilité el modo experto y las particiones desmontadas . No dice "intercambiar", pero muestra claramente que es la única otra partición en la tarjeta SD y tiene el tamaño correcto, por lo que
/dev/block/mmcblk1p2
debe ser la única:Swapper 2 está configurado para usar
/dev/block/mmcblk0p3
de manera predeterminada, por lo que me alegro de no haber elegido el predeterminado.fuente
fdisk -l
funciona si pasa el nombre completo del dispositivo de disco explícitamente (por ejemplo,fdisk -l /dev/block/mmcblk1
); lo que no funciona es el descubrimiento automático de dispositivos de bloque (aparentemente porque Android coloca los archivos de dispositivos de bloque en el/dev/block
directorio, perofdisk
espera ver esos archivos directamente/dev
). Por lo tanto, una opción es recoger la lista de discos enteros (/dev/block/mmcblk0
,/dev/block/mmcblk1
, ...) y la mirada en sus tablas de particiones utilizando . Estos dispositivos de disco completos se enumeran antes de las particiones correspondientes.fdisk -l <device>
/proc/partitions
La
blkid
utilidad no mira la tabla de particiones en absoluto: abre todos los dispositivos de bloque conocidos por el sistema y detecta el tipo de sistema de archivos a partir de los datos reales en esos dispositivos; porblkid
lo tanto , no mostrará la información correcta para la partición de intercambio hasta que se inicialice esa particiónmkswap
. Esto significa queblkid
es inútil para su tarea actual (encontrar a qué partición se debe pasarmkswap
).mount
generalmente muestra dispositivos debajo/dev/block/vold
, que se nombran de acuerdo con sus números mayores y menores. Para obtener el nombre habitual del dispositivo, puede buscar/proc/partitions
una fila que contenga los mismos números en las dos primeras columnas. Luego, puede eliminar la parte del final del nombre del dispositivo, agregar al inicio y pasar el nombre resultante para ver la tabla de particiones del dispositivo correspondiente.p<number>
/dev/block/
fdisk -l
Tenga en cuenta que si observa la
fdisk -l
salida del flash eMMC interno, puede encontrar muchas particiones con tipos extraños, especialmente en dispositivos basados en Qualcomm. Por ejemplo, vea la tabla de particiones para Samsung Galaxy W (GT-I8150):Los códigos de tipo de partición incluso son peligrosamente incorrectos porque
/dev/block/mmcblk0p1
, según se declaraWin95 FAT32 (LBA)
, en realidad contiene algunos datos del sistema (incluidas las ubicaciones y los hash MD5 de varias partes de la ROM); sin embargo,/dev/block/mmcblk0p28
que es el "almacenamiento de datos interno" con formato FAT16, tiene un tipo que parece completamente falso. En este caso, el fabricante no reutilizó el0x82
código de tipo (intercambio de Linux) para sus propios fines, pero no estoy seguro de que tales colisiones nunca ocurran, por lo que no debe intentar ciegamente usar ninguna partición que parezca intercambio - primero verifique que el tamaño del dispositivo y el diseño de la partición son lo que espera ver en su tarjeta SD./proc/mtd
nunca es útil para encontrar una partición de intercambio en la tarjeta SD (los controladores MTD se usan para acceder a chips flash crudos conectados directamente, no pueden funcionar con tarjetas SD externas).fuente
fdisk -l /dev/block/mmcblk1
dice/dev/block/mmcblk1p2 30637 31152 132096 82 Linux swap