Como isso avisa, você não deve ativar a troca na partição errada ou pode destruir seu telefone:
OK antes de prosseguirmos! telefones anteriores tinham um layout de partição em que mmcblck0 era o cartão SD (externo); nosso telefone usa mmcblck1 para o sd externo. Isso é importante porque, se você usar um aplicativo, pode ser predefinido o uso de mmcblck0 como partição de swap. O uso dessa configuração fará com que você use o sbl2 ou sbl3 como partição de swap.
Portanto, a partição swap pode ser /dev/block/mmcblk0p3
se eu tiver 3 partições (fat32, sdext, swap) no meu cartão SD ou /dev/block/mmcblk0p2
se eu tiver 2 partições (fat43 e swap) ou /dev/block/mmcblk1p?
se você tiver um telefone diferente etc. e a escolha errada puder ocorrer. seu telefone.
Como você descobre qual partição é qual? Deve ser a única partição em qualquer unidade do telefone com o swap
sistema de arquivos.
fdisk -l
faz isso no Ubuntu , mas não produz nada no Androidblkid
não mostra a partição de trocacat /proc/partitions
lista muitas partições, mas não indica qual é a trocacat /proc/swaps
lista apenas trocas que já estão sendo usadascat /proc/mtd
só dizdev: size erasesize name
e nada maisls /dev/block/vold
lista algumas partições como179:64 179:65 179:66
, mas não indica o que são?- A recuperação 4ext mostrará na tabela de partições (
swap swap 129 MiB
), mas não diz o nome do desenvolvedor - ...
Mesmo se não houver ferramenta de linha de comando para imprimi-lo diretamente, certamente há uma maneira de deduzi-lo de outras informações?
fonte
/proc/swaps
?cat /proc/swaps
só mostra o swapfile criado por swapper 2, não a partição no cartão SDmount
(sem parâmetros) para encontrar o dispositivo de bloco correspondente (/dev/block/*
) e verificar isso na lista de/proc/partitions
(ou/proc/mtd
)? Se você não tiver mais nenhuma partição no seu cartão, sua partição de troca deve ser "a outra terminando com um dígito", a menos que sejamount
apontadavold
apenas. Nesse caso, comparar tamanhos (ou remover temporariamente o cartão para um "diff") pode ajudar.Respostas:
Instalei o aplicativo Disk Info e, nas opções, ativei o modo Expert e partições desmontadas . Ele não diz "swap", mas mostra claramente que é a única outra partição no cartão SD e o tamanho certo, por isso
/dev/block/mmcblk1p2
deve ser a única:O Swapper 2 está configurado para usar
/dev/block/mmcblk0p3
por padrão, por isso estou feliz por não ter seguido o padrão.fonte
fdisk -l
funciona se você passar o nome completo do dispositivo de disco explicitamente (por exemplo,fdisk -l /dev/block/mmcblk1
); o que não funciona é a descoberta automática de dispositivos de bloco (aparentemente porque o Android coloca arquivos de dispositivo de bloco no/dev/block
diretório, masfdisk
espera ver esses arquivos diretamente/dev
). Portanto uma opção é recolher a lista de dispositivos de disco inteiros (/dev/block/mmcblk0
,/dev/block/mmcblk1
...) e olhar para as suas tabelas de partição usando . Esses dispositivos de disco inteiro são listados antes das partições correspondentes.fdisk -l <device>
/proc/partitions
O
blkid
utilitário não olha para a tabela de partições - ele abre todos os dispositivos de bloco conhecidos pelo sistema e detecta o tipo de sistema de arquivos dos dados reais desses dispositivos; portantoblkid
, não mostrará as informações corretas para a partição de swap até que essa partição seja inicializada pormkswap
. Isso significa queblkid
é inútil para sua tarefa atual (encontrar para qual partição deve ser passadamkswap
).mount
normalmente mostra os dispositivos abaixo/dev/block/vold
, que são nomeados de acordo com seus números maiores e menores. Para obter o nome normal do dispositivo, procure/proc/partitions
uma linha contendo os mesmos números nas duas primeiras colunas. Em seguida, você pode remover a parte do final do nome do dispositivo, adicionar no início e passar o nome resultante para ver a tabela de partição do dispositivo correspondente.p<number>
/dev/block/
fdisk -l
Lembre-se de que, se você observar a
fdisk -l
saída do flash interno do eMMC, poderá encontrar muitas partições com tipos estranhos, especialmente em dispositivos baseados na Qualcomm. Por exemplo, consulte a tabela de partições para o Samsung Galaxy W (GT-I8150):Os códigos de tipo de partição estão perigosamente errados, porque
/dev/block/mmcblk0p1
, o que é declaradoWin95 FAT32 (LBA)
, na verdade contém alguns dados do sistema (incluindo locais e hashes MD5 de várias partes da ROM); no entanto,/dev/block/mmcblk0p28
que é o "armazenamento interno de dados" no formato FAT16, tem um tipo que parece completamente falso. Nesse caso, o fabricante não reutilizou o0x82
código de tipo (troca Linux) para seus próprios fins, mas não tenho certeza de que tais colisões nunca ocorram, portanto, você não deve tentar usar cegamente qualquer partição que se pareça com troca - verifique primeiro se o tamanho do dispositivo e o layout da partição são o que você espera ver no seu cartão SD./proc/mtd
nunca é útil para encontrar uma partição de troca no cartão SD (os drivers MTD são usados para acessar os chips flash brutos diretamente conectados, eles não podem funcionar com cartões SD externos).fonte
fdisk -l /dev/block/mmcblk1
diz/dev/block/mmcblk1p2 30637 31152 132096 82 Linux swap