GNU/Linux >> Linux Esercitazione >  >> Linux

Android - Come trovare il percorso della partizione di swap sulla scheda SD?

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).


Linux
  1. Come scoprire se il disco è SSD o HDD in Linux

  2. Come trovare l'offset di un filesystem Ext4?

  3. Come scoprire se la carta supporta la modalità infrastruttura?

  4. Come gestire una partizione di scambio in Linux

  5. Come trovo la dimensione massima dello stack?

Come trovare la versione di Redhat Linux installata

Come trovare il numero di porta di un servizio in Linux

Come trovare l'indirizzo IP di una macchina virtuale KVM

Come posso cambiare la partizione di swap in Linux?

Quanto deve essere grande la partizione di swap?

Come aumentare la dimensione dello scambio?