Ho installato l'app Informazioni disco e nelle opzioni ho abilitato la Modalità esperto e Partizioni smontate . Non dice "scambia", ma mostra chiaramente che è l'unica altra partizione sulla scheda SD ed è della dimensione giusta, quindi /dev/block/mmcblk1p2
deve essere quello:
Swapper 2 è configurato per utilizzare /dev/block/mmcblk0p3
per impostazione predefinita, quindi sono contento di non aver scelto l'impostazione predefinita.
fdisk -l
funziona se passi esplicitamente l'intero nome del dispositivo del disco (ad esempio, fdisk -l /dev/block/mmcblk1
); ciò che non funziona è il rilevamento automatico dei dispositivi a blocchi (apparentemente perché Android inserisce i file dei dispositivi a blocchi sotto /dev/block
directory, ma fdisk
si aspetta di vedere quei file direttamente in /dev
). Pertanto un'opzione è quella di raccogliere l'elenco dei dispositivi a disco intero (/dev/block/mmcblk0
, /dev/block/mmcblk1
, …) e guarda le loro tabelle delle partizioni usando fdisk -l <device>
. Questi interi dispositivi a disco sono elencati in /proc/partitions
prima delle partizioni corrispondenti.
Il blkid
l'utilità non controlla affatto la tabella delle partizioni:apre tutti i dispositivi a blocchi conosciuti dal sistema e rileva il tipo di filesystem dai dati effettivi su tali dispositivi; quindi blkid
non mostrerà le informazioni corrette per la partizione di swap fino a quando quella partizione non sarà inizializzata da mkswap
. Ciò significa che blkid
è inutile per l'attività corrente (trovare quale partizione deve essere passata a mkswap
).
mount
di solito mostra i dispositivi sotto /dev/block/vold
, che sono denominati in base ai loro numeri maggiori e minori. Per ottenere il solito nome del dispositivo, puoi cercare in /proc/partitions
per trovare una riga contenente gli stessi numeri nelle prime due colonne. Quindi puoi rimuovere il p<number>
parte dalla fine del nome del dispositivo, aggiungi /dev/block/
all'inizio e passa il nome risultante a fdisk -l
per vedere la tabella delle partizioni del dispositivo corrispondente.
Fai attenzione se guardi il fdisk -l
output per il flash eMMC interno, potresti trovare molte partizioni con tipi strani, specialmente su dispositivi basati su Qualcomm. Ad esempio, consulta la tabella delle partizioni per 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
I codici del tipo di partizione sono anche pericolosamente sbagliati, perché /dev/block/mmcblk0p1
, che è dichiarato Win95 FAT32 (LBA)
, in realtà contiene alcuni dati di sistema (comprese le posizioni e gli hash MD5 di varie parti della ROM); tuttavia, /dev/block/mmcblk0p28
, che è la "memoria interna dei dati" formattata FAT16, ha un tipo che sembra completamente fasullo. In questo caso il produttore non ha riutilizzato il 0x82
(Linux swap) digitare il codice per i propri scopi, ma non sono sicuro che tali collisioni non si verifichino mai, quindi non dovresti provare ciecamente a utilizzare qualsiasi partizione che assomigli a swap:prima controlla che la dimensione del dispositivo e il layout della partizione siano quelli che desideri aspettati di vedere sulla tua scheda SD.
/proc/mtd
non è mai utile per trovare una partizione di swap su scheda SD (i driver MTD vengono utilizzati per accedere a chip flash raw collegati direttamente, non possono funzionare con schede SD esterne).