Comme cela vous prévient, vous ne devez pas activer l'échange sur la mauvaise partition ou vous pouvez détruire votre téléphone:
OK avant d'aller plus loin! les téléphones précédents avaient une disposition de partition où mmcblck0 était la carte SD (externe) notre téléphone utilise mmcblck1 pour le sd externe. Ceci est important car si vous utilisez une application, il peut être prédéfini pour utiliser mmcblck0 comme partition de swap. En utilisant ce paramètre, vous utiliserez votre sbl2 ou sbl3 comme partition de swap.
Donc, la partition de swap peut être /dev/block/mmcblk0p3
si j'ai 3 partitions (fat32, sdext, swap) sur ma carte SD, ou /dev/block/mmcblk0p2
si j'ai 2 partitions (fat43 et swap) ou /dev/block/mmcblk1p?
si vous avez un téléphone différent, etc. et le mauvais choix peut brique ton téléphone.
Comment savoir quelle partition est laquelle? Ce devrait être la seule partition sur n'importe quel lecteur du téléphone avec le swap
système de fichiers.
fdisk -l
fait cela sur Ubuntu , mais ne produit rien dans Androidblkid
n'affiche pas la partition de swapcat /proc/partitions
répertorie un grand nombre de partitions, mais n'indique pas quel est l'échangecat /proc/swaps
répertorie uniquement les swaps déjà utiliséscat /proc/mtd
dit seulementdev: size erasesize name
et rien d'autrels /dev/block/vold
répertorie certaines partitions en tant que179:64 179:65 179:66
, mais n'indique pas ce qu'elles sont?- La récupération 4ext l'affichera dans le tableau des partitions (
swap swap 129 MiB
), mais ne dit pas le nom du développeur - ...
Même s'il n'y a pas d'outil de ligne de commande pour l'imprimer directement, il y a sûrement un moyen de le déduire d'autres informations ??
la source
/proc/swaps
?cat /proc/swaps
montre juste le fichier d'échange créé par swapper 2, pas la partition sur la carte SDmount
(sans paramètres) pour trouver le périphérique de bloc correspondant (/dev/block/*
) et vérifier cela par rapport à la liste de/proc/partitions
(ou/proc/mtd
)? Si vous avez aucune partition plus sur votre carte, votre partition swap doit être « l'autre se terminant par un chiffre », à moinsmount
pointuvold
que. Dans ce cas, la comparaison des tailles (ou le retrait temporaire de la carte pour un "diff") pourrait aider.Réponses:
J'ai installé l' application Disk Info et dans les options, j'ai activé le mode Expert et les partitions non montées . Il ne dit pas "swap", mais il montre clairement que c'est la seule autre partition sur la carte SD et que c'est la bonne taille, donc ça
/dev/block/mmcblk1p2
doit être celle-ci:Swapper 2 est configuré pour utiliser
/dev/block/mmcblk0p3
par défaut, donc je suis content de ne pas avoir choisi la valeur par défaut.la source
fdisk -l
fonctionne si vous passez explicitement le nom complet du périphérique de disque (par exemple,fdisk -l /dev/block/mmcblk1
); ce qui ne fonctionne pas est la découverte automatique des périphériques bloqués (apparemment parce qu'Android place les fichiers des périphériques bloqués dans le/dev/block
répertoire, maisfdisk
s'attend à voir ces fichiers directement dans/dev
). Par conséquent , une option est de recueillir la liste des périphériques de disques entiers (/dev/block/mmcblk0
,/dev/block/mmcblk1
...) et de regarder leurs tables de partition à l' aide . Ces unités de disque entières sont répertoriées avant les partitions correspondantes.fdisk -l <device>
/proc/partitions
L'
blkid
utilitaire ne regarde pas du tout la table de partition - il ouvre tous les périphériques de bloc connus du système et détecte le type de système de fichiers à partir des données réelles sur ces périphériques;blkid
n'affichera donc pas les informations correctes pour la partition de swap tant que cette partition n'aura pas été initialisée parmkswap
. Cela signifie que celablkid
est inutile pour votre tâche actuelle (trouver la partition à transmettremkswap
).mount
affiche généralement les périphériques sous/dev/block/vold
, qui sont nommés en fonction de leur numéro majeur et mineur. Pour obtenir le nom de périphérique habituel, vous pouvez rechercher/proc/partitions
une ligne contenant les mêmes numéros dans les deux premières colonnes. Ensuite, vous pouvez supprimer la partie de la fin du nom du périphérique, ajouter au début et passer le nom résultant pour voir la table de partition du périphérique correspondant.p<number>
/dev/block/
fdisk -l
Sachez que si vous regardez la
fdisk -l
sortie du 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):Les codes de type de partition 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é le0x82
code de type (échange Linux) à ses propres fins, mais je ne suis pas sûr que de telles collisions ne se produisent jamais, vous ne devez donc pas essayer aveuglément d'utiliser une partition qui ressemble à un échange - vérifiez d'abord que la taille de l'appareil et la disposition des partitions sont ce que vous attendez de voir sur votre carte SD./proc/mtd
n'est jamais utile pour trouver une partition de swap sur la carte SD (les pilotes MTD sont utilisés pour accéder aux puces flash brutes directement connectées, ils ne peuvent pas fonctionner avec des cartes SD externes).la source
fdisk -l /dev/block/mmcblk1
dit/dev/block/mmcblk1p2 30637 31152 132096 82 Linux swap