J'ai installé l'application Disk Info et dans les options, j'ai activé le mode expert et Partitions non montées . Il ne dit pas "swap", mais cela montre clairement que c'est la seule autre partition sur la carte SD et qu'elle est de la bonne taille, donc /dev/block/mmcblk1p2
doit être celui-là :
Swapper 2 est configuré pour utiliser /dev/block/mmcblk0p3
par défaut, donc je suis content de ne pas avoir opté pour la valeur par défaut.
fdisk -l
fonctionne si vous transmettez explicitement le nom complet du périphérique de disque (par exemple, fdisk -l /dev/block/mmcblk1
); ce qui ne fonctionne pas, c'est la découverte automatique des périphériques de blocage (apparemment parce qu'Android place les fichiers de périphérique de blocage sous le /dev/block
répertoire, mais fdisk
s'attend à voir ces fichiers directement dans /dev
). Par conséquent, une option consiste à collecter la liste des périphériques de disque entiers (/dev/block/mmcblk0
, /dev/block/mmcblk1
, …) et regardez leurs tables de partition en utilisant fdisk -l <device>
. Ces périphériques de disque entiers sont répertoriés dans /proc/partitions
avant les partitions correspondantes.
Le blkid
l'utilitaire ne regarde pas du tout la table de partition - il ouvre tous les périphériques de bloc connus par le système et détecte le type de système de fichiers à partir des données réelles sur ces périphériques ; donc blkid
n'affichera pas les informations correctes pour la partition d'échange jusqu'à ce que cette partition soit initialisée par mkswap
. Cela signifie que blkid
est inutile pour votre tâche en cours (trouver quelle partition doit être passée à mkswap
).
mount
affiche généralement les appareils sous /dev/block/vold
, qui sont nommés selon leurs numéros majeurs et mineurs. Pour obtenir le nom habituel de l'appareil, vous pouvez regarder dans /proc/partitions
pour trouver une ligne contenant les mêmes nombres dans les deux premières colonnes. Ensuite, vous pouvez supprimer le p<number>
partie de la fin du nom de l'appareil, ajoutez /dev/block/
au début et passez le nom résultant à fdisk -l
pour voir la table de partition du périphérique correspondant.
Attention, si vous regardez le fdisk -l
sortie pour le flash eMMC interne, vous pouvez trouver de nombreuses partitions avec des types étranges, en particulier sur les appareils basés sur Qualcomm. Par exemple, consultez la table de partition pour Samsung Galaxy W (GT-I8150) :
# fdisk -lu /dev/block/mmcblk0
Disk /dev/block/mmcblk0: 3959 MB, 3959422976 bytes
1 heads, 16 sectors/track, 483328 cylinders, total 7733248 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 1 212991 106495+ c Win95 FAT32 (LBA)
Partition 1 does not end on cylinder boundary
/dev/block/mmcblk0p2 * 212992 213991 500 4d Unknown
Partition 2 does not end on cylinder boundary
/dev/block/mmcblk0p3 213992 221183 3596 46 Unknown
Partition 3 does not end on cylinder boundary
/dev/block/mmcblk0p4 221184 7733247 3756032 5 Extended
Partition 4 does not end on cylinder boundary
/dev/block/mmcblk0p5 229376 239615 5120 47 Unknown
/dev/block/mmcblk0p6 245760 285759 20000 49 Unknown
/dev/block/mmcblk0p7 286720 292863 3072 58 Unknown
/dev/block/mmcblk0p8 294912 306175 5632 48 Unknown
/dev/block/mmcblk0p9 311296 324271 6488 50 Unknown
/dev/block/mmcblk0p10 327680 333823 3072 4a Unknown
/dev/block/mmcblk0p11 335872 342015 3072 4b Unknown
/dev/block/mmcblk0p12 344064 360447 8192 90 Unknown
/dev/block/mmcblk0p13 360448 375807 7680 91 Unknown
/dev/block/mmcblk0p14 376832 387071 5120 92 Unknown
/dev/block/mmcblk0p15 393216 1488895 547840 93 Unknown
/dev/block/mmcblk0p16 1490944 1613823 61440 94 Unknown
/dev/block/mmcblk0p17 1613824 3887103 1136640 95 Unknown
/dev/block/mmcblk0p18 3891200 3993599 51200 96 Unknown
/dev/block/mmcblk0p19 3997696 3998695 500 97 Unknown
/dev/block/mmcblk0p20 4005888 4013079 3596 98 Unknown
/dev/block/mmcblk0p21 4014080 4024319 5120 99 Unknown
/dev/block/mmcblk0p22 4030464 4070463 20000 9a Unknown
/dev/block/mmcblk0p23 4071424 4081663 5120 9b Unknown
/dev/block/mmcblk0p24 4087808 4101807 7000 9c Unknown
/dev/block/mmcblk0p25 4104192 4114431 5120 9d Unknown
/dev/block/mmcblk0p26 4120576 4130815 5120 9e Unknown
/dev/block/mmcblk0p27 4136960 4147199 5120 9f BSD/OS
/dev/block/mmcblk0p28 4153344 7733247 1789952 a0 Thinkpad hibernation
Les codes de type de partition y sont même dangereusement erronés, car /dev/block/mmcblk0p1
, qui est déclaré Win95 FAT32 (LBA)
, contient en fait certaines données système (y compris les emplacements et les hachages MD5 de diverses parties de la ROM); cependant, /dev/block/mmcblk0p28
, qui est le "stockage de données interne" au format FAT16, a un type qui semble complètement faux. Dans ce cas le fabricant n'a pas réutilisé le 0x82
(swap Linux) pour leurs propres besoins, mais je ne suis pas sûr que de telles collisions ne se produisent jamais, vous ne devriez donc pas essayer aveuglément d'utiliser une partition qui ressemble à un swap - vérifiez d'abord que la taille du périphérique et la disposition de la partition sont ce que vous attendez-vous à voir sur votre carte SD.
/proc/mtd
n'est jamais utile pour trouver une partition d'échange sur la carte SD (les pilotes MTD sont utilisés pour accéder aux puces flash brutes directement attachées, ils ne peuvent pas fonctionner avec des cartes SD externes).