Como restaurar o layout da partição do cartão SD interno danificado? Tentei de tudo

8

Eu tenho o Samsung S 3 mini.

Fiz algo muito ruim no layout da minha partição INTERNA INTERNA CARD. Como me lembro corretamente, tentei reparticionar meu cartão SD externo via fdisk no Android via 'adb shell'. E eu excluo a partição existente (havia apenas uma que eu me lembre) na mmcblk0 (que parece não ser uma Externa, mas Interna =)

Agora eu tenho:

~ # cat / proc / partições
nome principal #blocks menor
 179 0 7634944 mmcblk0
 179 64 2048 mmcblk0boot1
 179 32 2048 mmcblk0boot0
 179 96 3866624 mmcblk1
 179 97 3862528 mmcblk1p1
~ # ls -la / dev / block / mmcblk *
brw ------- 1 raiz da raiz 179, 0 1 de janeiro 10:30 / dev / block / mmcblk0
brw ------- 1 raiz da raiz 179, 32 de janeiro 1 09:28 / dev / block / mmcblk0boot0
brw ------- 1 raiz da raiz 179, 64 1 de janeiro 09:28 / dev / block / mmcblk0boot1
-rw-rw-rw- 1 raiz raiz 16777216 1 de janeiro 10:07 / dev / block / mmcblk0p20
-rw-r - r-- 1 raiz raiz 0 1 de janeiro 10:07 / dev / block / mmcblk0p22
brw ------- 1 raiz da raiz 179, 96 1 de janeiro 09:28 / dev / block / mmcblk1
brw ------- 1 raiz da raiz 179, 97 1 de janeiro 09:28 / dev / block / mmcblk1p1
~ # df
Sistema de arquivos 1K-block Usado Disponível Use% Montado em
tmpfs 411756 16452 395304 4% / dev
/ dev / block / mmcblk1p1 3858432 1473472 2384960 38% / external_sd
~ # mount
rootfs em / digite rootfs (rw)
tmpfs no tipo / dev tmpfs (rw, nosuid, relatime, mode = 755)
devpts em / dev / pts tipo devpts (rw, relatime, mode = 600)
proc on / proc tipo proc (rw, relacionime)
sysfs no / sys tipo sysfs (rw, relatime)
/ dev / block / mmcblk1p1 on / external_sd tipo vfat (rw, nodev, noatime, nodiratime, fmask = 0000, dmask = 0000, allow_utime = 0022, página de códigos = cp437, iocharset = iso8859-1, nome curto = misto, erros = remontagem- ro)
~ # tail ./etc/recovery.fstab
/ system ext4 / dev / block / mmcblk0p22
/ cache ext4 / dev / block / mmcblk0p23
/ data ext4 / dev / block / mmcblk0p25 length = -16384
/ efs ext4 / dev / block / mmcblk0p11
/ boot emmc / dev / block / mmcblk0p20
/ recovery emmc / dev / block / mmcblk0p21
/ preload ext4 / dev / block / mmcblk0p24
/ modem ext4 / dev / block / mmcblk0p12
/ sdcard datamedia / dev / null
/ external_sd vfat / dev / block / mmcblk1p1
~ # tail ./etc/fstab
/ dev / block / mmcblk0p23 / cache ext4 rw
/ dev / block / mmcblk0p25 / data ext4 rw
/ dev / block / mmcblk0p22 / system ext4 rw
/ dev / null / sdcard datamedia rw
~ # parted / dev / block / mmcblk0
GNU Parted 1.8.8.1.179-aef3
Usando / dev / block / mmcblk0
Bem-vindo ao GNU Parted! Digite 'help' para visualizar uma lista de comandos.
impressão (separada)
impressão
Aviso: / dev / block / mmcblk0 contém assinaturas GPT, indicando que possui uma
Tabela GPT. No entanto, ele não possui uma tabela de partição msdos falsa válida, pois
devemos. Talvez tenha sido corrompido - possivelmente por um programa que não funciona
entender as tabelas de partição GPT. Ou talvez você tenha excluído a tabela GPT e esteja
agora usando uma tabela de partição msdos. Esta é uma tabela de partição GPT?
Sim não?

Minha ferramenta de recuperação ClockWorkMod não pode montar nada (/ cache, / system, nothing). É isso que recebo no CWM:

- Limpando cache ...
Formatação / cache ...
Precisa do tamanho do sistema de arquivos
E: format_volume: make_extf4fs falhou em / dev / block / mmcblk0p23
Limpeza do cache concluída.
W: falha ao montar / dev / block / mmcblk0p23 (é necessário um dispositivo de bloco)
E: Não é possível montar / armazenar em cache / recuperação / log
E: Não é possível abrir / cache / recuperação / log
W: falha ao montar / dev / block / mmcblk0p23 (é necessário um dispositivo de bloco)
E: Não é possível montar / cache / recovery / last_log
E: Não é possível abrir / cache / recovery / last_log
W: falha ao montar / dev / block / mmcblk0p23 (é necessário um dispositivo de bloco)
W: Não é possível desvincular / cache / recovery / command
Formatando dados...
aviso: get_file_size: tamanho do sistema de arquivos computado menor que 0
Precisa do tamanho do sistema de arquivos
E: format_volume: make_extf4fs falhou em / dev / block / mmcblk0p25
Erro de formatação / dados!
W: falha ao montar / dev / block / mmcblk0p23 (é necessário um dispositivo de bloco)
E: Não é possível montar / armazenar em cache / recuperação / log
E: Não é possível abrir / cache / recuperação / log
Como você pode ver, não há partições para / system, / cache e outras coisas que deveriam estar lá. (mas as pastas / system e / cache estão presentes na listagem de diretórios)

Eu realmente fiz tudo que pude. Tentei: restaurar a partir do backup (eu tenho um, feito com a ferramenta de recuperação), instalar a nova ROM (com a ferramenta de recuperação), instalar o firmware e o kernel no modo ODIN. Eu até tentei algum arquivo PIT: nada fez absolutamente nada ao meu status.

Sinceramente, sinto falta de uma parte importante na compreensão do sistema de arquivos, partições, imagens, o que é ROM, o que é o estoque do kernel, como essas 22, 23 25 partições são criadas etc.

O que devo fazer?

ATUALIZAR!

Ah, parece que tenho tudo no buffer do console (histórico completo de ações de distração)

No começo eu tinha isso:

cat / proc / partitions
nome principal #blocks menor

   7 0 2111 loop0
 179 0 7634944 mmcblk0
 179 1 128 mmcblk0p1
 179 2 384 mmcblk0p2
 179 3 1024 mmcblk0p3
 179 4 1024 mmcblk0p4
 179 5 512 mmcblk0p5
 179 6 512 mmcblk0p6
 179 7 512 mmcblk0p7
 179 8 512 mmcblk0p8
 179 9 1024 mmcblk0p9
 179 10 1024 mmcblk0p10
 179 11 16384 mmcblk0p11
 179 12 16384 mmcblk0p12
 179 13 16384 mmcblk0p13
 179 14 51200 mmcblk0p14
 179 15 64 mmcblk0p15
 179 16 14336 mmcblk0p16
 179 17 2048 mmcblk0p17
 179 18 2048 mmcblk0p18
 179 19 16384 mmcblk0p19
 179 20 16384 mmcblk0p20
 179 21 16384 mmcblk0p21
 179 22 1228800 mmcblk0p22
 179 23 860160 mmcblk0p23
 179 24 327680 mmcblk0p24
 179 25 4945920 mmcblk0p25
 179 64 2048 mmcblk0boot1
 179 32 2048 mmcblk0boot0
 179 96 3872256 mmcblk1
 179 97 3868160 mmcblk1p1
 254 0 2110 dm-0
/ $ df
Tamanho do sistema de arquivos usado em tamanho livre
/ dev 402.1M 84K 402M 4096
/ mnt / asec 402.1M 0K 402.1M 4096
/ mnt / obb 402.1M 0K 402.1M 4096
/ dev / shm 402.1M 0K 402.1M 4096
/ sistema 1.2G 414.5M 766.6M 4096
/ modemfs 15.7M 4.3M 11.4M 4096
/ cache 826.8M 84.8M 742M 4096
/ efs 15.7M 4.5M 11.2M 4096
/ pré-carga 315M 64,2M 250,8M 4096
/ dados 4.6G 4G 699.2M 4096
/mnt/.lfs: função não implementada
/ armazenamento / sdcard0 4.6G 4G 699.2M 4096
/mnt/asec/com.spruds.transport.pro.tallin-1 2M 888K 1,1M 4096
/ armazenamento / sdcard1 3.7G 905.7M 2.8G 32768

Mesmo antes de tudo dar errado, tentei usar o comando parted e obtive um erro

~ # parted / dev / block / mmcblk0
GNU Parted 1.8.8.1.179-aef3
Usando / dev / block / mmcblk0
Bem-vindo ao GNU Parted! Digite 'help' para visualizar uma lista de comandos.
lista (separada)
Lista
  marque NUMBER faça uma verificação simples no sistema de arquivos
  cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copiar o sistema de arquivos para outra partição
.....
.....
        informações sobre direitos autorais do GNU Parted
impressão (separada)
impressão
Erro: Não foi possível satisfazer todas as restrições na partição.

Esta é a impressão do fdisk antes do desastre

~ # fdisk / dev / block / mmcblk0

O número de cilindros para este disco está definido como 954368.
Não há nada de errado nisso, mas é maior que 1024,
e, em determinadas configurações, pode causar problemas com:
1) software que é executado no momento da inicialização (por exemplo, versões antigas do LILO)
2) software de inicialização e particionamento de outros sistemas operacionais
   (por exemplo, DOS FDISK, OS / 2 FDISK)

Comando (m para obter ajuda): p

Disco / dev / block / mmcblk0: 7818 MB, 7818182656 bytes
1 cabeças, 16 setores / pista, 954368 cilindros
Unidades = cilindros de 16 * 512 = 8192 bytes

              Sistema de identificação de blocos finais de inicialização do dispositivo
/ dev / block / mmcblk0p1 1 954368 7634943+ ee GPE EFI
A partição 1 não termina no limite do cilindro

E então eu apaguei

~ # fdisk / dev / block / mmcblk0

O número de cilindros para este disco está definido como 954368.
Não há nada de errado nisso, mas é maior que 1024,
e, em determinadas configurações, pode causar problemas com:
1) software que é executado no momento da inicialização (por exemplo, versões antigas do LILO)
2) software de inicialização e particionamento de outros sistemas operacionais
   (por exemplo, DOS FDISK, OS / 2 FDISK)

Comando (m para obter ajuda): p

Disco / dev / block / mmcblk0: 7818 MB, 7818182656 bytes
1 cabeças, 16 setores / pista, 954368 cilindros
Unidades = cilindros de 16 * 512 = 8192 bytes

              Sistema de identificação de blocos finais de inicialização do dispositivo
/ dev / block / mmcblk0p1 1 954368 7634943+ ee GPE EFI
A partição 1 não termina no limite do cilindro

Comando (m para obter ajuda): d
Partição selecionada 1

Comando (m para obter ajuda): w
A tabela de partição foi alterada.
Chamando ioctl () para reler a tabela de partição
fdisk: AVISO: falha na leitura da tabela de partição, o kernel ainda usa a tabela antiga: Dispositivo ou recurso ocupado

ATUALIZAÇÃO 2

Eu posso ver a diferença do estado inicial. Agora eu tenho 4 cabeças em vez de 1 e, portanto, 238592 cilindros em vez de 954368. Como altero o número de cabeças?

Aleksandr Motsjonov
fonte
Não usei o fdisk no Android e também não o tocaria com um mastro! As partições NAND internos são definidos pela fábrica, seja fdisk é mis-Reporting número de cabeças / cilindros de um interno partição ... é um chip NAND depois de tudo ...
t0mm13b

Respostas:

6

Eu encontrei!

A resposta estava no arquivo PIT, porque como diz aqui :

você só precisará usá-lo se uma atualização de firmware precisar alterar o layout da sua partição (muito improvável) ou se você estragar sua tabela de partições (você não deseja fazer isso)

Esse é definitivamente o meu caso.

Então, tentei que o GT-I8190N e o GT-I8190 devessem ser usados ​​com arquivos PIT diferentes (tentei usar o GT-I8190). Então eu encontrei uma longa lista de arquivos PIT aqui .

Aleksandr Motsjonov
fonte
11
Como você aplicou o arquivo PIT ao seu dispositivo? Mesmo aqui, tentei com odin e obtendo a re-partição falhou erro constantemente. Também tentei reparticionar com e sem um firmware, arquivo CDS e arquivo PIT sozinho. Nada mudou.
Edigu
0

RECUPERANDO UM DISPOSITIVO ANDROID COM BOOTLOOP OU EMPILHADO NO LOGOTIPO

Compilação por: Julian Lopez 2017-05 (maio) -08

Eu tive problemas semelhantes, mas a memória interna do meu telefone GT-i9003 está com defeito. Eu usei todos os poços sem sucesso. Talvez este procedimento o ajude, alguns deles são complexos, mas seguros:

Requisitos:

  • Um dispositivo Android preso no logotipo (mas com o SO totalmente iniciado), para funcionar com o ADB e o CWM-Recovery, melhor se as opções de desenvolvedor do Android estivessem ativas e a conexão USB no modo de comunicação (também conhecido como kies, MTP, depuração, etc.) não no modo de dados usb
  • Cabo de dados USB Pc com porta USB de alta velocidade disponível
  • Drivers de dispositivo atualizados
  • Ferramentas da plataforma ADB e fastboot (windows) para backup e restauração manuais ... Fontes de informação do ADBD: obrigado por compartilhar o conhecimento com o Rotohammer [ADB Roto backup - backup manual] e com o Amalautpavathas [dicas para Android do ADB]
  • Outro dispositivo operacional e idêntico (muito conveniente)
  • Um bom + original de 16 GB e acima da Class10 (esqueça a classe4 ) MicroSDCard (eu tive alguns problemas com 32 GB genéricos e maiores), preparado com uma partição fat32 padrão, que é limitada a um máximo de 4 GB para cada arquivo, mas funciona para fazer backup. É muito importante criar na raiz do microSDcard um arquivo de texto vazio chamado DO-NOT-INSTALL-THIS.zip apenas para referência e identificação a partir do Recovery). O usb ota geralmente não é reconhecido e exigimos conexão USB permanente com o PC.

Extrair :

Se o dispositivo estiver no bootloop ou no logotipo, mas ativo pelo ADB, após as opções lógicas e básicas, siga este procedimento para clonar e restaurar manualmente (via comando dd) a partição com defeito:

Advertências

  • Descarte todas as responsabilidades sobre o uso e abuso dessas informações
  • Leia os tutoriais sobre o ADB e o android
  • Não limpe com o MicroSDcard, você pode perder todos os dados sem aviso prévio, todas as ações de reinicialização / alteração de odin / montagem e armazenamento em CMW, podem alterar o ponto de montagem do sdcard
  • Ao trabalhar no ADB; sair do shell e usar remontar com freqüência.
  • Quando você não pode acessar os arquivos, obtenha acesso root (CMW - opção root / unroot).
  • Mantenha uma lista de arquivos e pontos de montagem antes de continuar, depois de cada cópia, observe a capacidade disponível com o df -kcomando em Kbytes e o dfcomando em blocos, com o ls -alcomando para que você tenha um registro de permissões no formato xrwxrwxrw(um limite inicial ou - para o tipo, x execute , r leia, escreva, em 3 camadas - usuário - grupo - outros. Use chmodpara alterar o comando) e os proprietários dos arquivos. Esta dica evita 50% dos erros ao copiar arquivos ou alterar arquivos no dispositivo. Obtenha informações completas sobre o dispositivo (imei, macs, versões de software, fw, atualizações, aplicativo especial, registre versões completas e data de instalação, especialmente software de backup)

Ações

1.-Sem memória externa (saída de MicroSDcard, porque alguns kernels e ferramentas trocam a memória externa com interna sem orientação) salvam um layout das partições. Informação importante é; bloco inicial, bloco final, tipo de sistema de arquivos, nome do dispositivo do bloco, ordem e ponto de montagem (caminho). Sim, usando o ADB fdisk, mas sem alterar nada.

2.- Para fazer um backup manual de todas as partições (e especialmente, backup individual da pasta /efs, onde estão os endereços imei e mac para wifi, BT, etc) no dispositivo defeituoso com o ADB e o comando "dd" (tenha cuidado com o espaço disponível após cada backup), repita o mesmo procedimento em um bom dispositivo idêntico. transfira esse backup para o seu PC e para um microSDcard (sim ambos) ... Não insira no dispositivo. Isso requer:

  • Pasta no Windows Explorer com \ ADB e FastBoot-platform-tools-latest-windows \ platform-tools , (nenhuma instalação é necessária)

  • O dispositivo deve estar conectado ao PC via cabo USB e detectado com os drivers corretos)

  • Precisamos escrever (sim, ouvi você, com o teclado) em uma CLI (Command Line Interface) conhecida na Microsoft como CMD (Command line); vá para o Windows Explorer, abra a caixa preta selecionando a opção CMD com uma combinação simultânea de teclas à esquerda [SHIFT] do teclado e clique com o botão direito do mouse em um espaço vazio dentro da pasta. Para obter a opção CMD no menu, evite selecionar ou marcar qualquer coisa dentro do windows explorer. Use este manual até a seção Restaurar Roto, backup Rotohammer ADB Roto - backup manual

3.- Para criar com (ADB) fdisk as partições ausentes, correspondentes a todas as características originais (bloco inicial, final, tamanho do número do bloco, tipo fs).

4.- Com o dispositivo desligado (bateria descarregada), insira MicroSD

5.- Inicie o seu dispositivo no modo de recuperação (CWM), vá para Install ZIP from SDCARD se você puder ver o arquivo de texto com extensão .ZIP preparado no último ponto de requisitos ( DO-NOT-INSTALL-THIS.zip ), você pode reinicie o dispositivo. De qualquer outra maneira, vá para - montar e armazenar - desmonte tudo e monte o MicroSDcard preparado , repita com Sdcard interno, emmc, usb até ver o arquivo zip. Reinicie o dispositivo no modo normal (talvez apenas o logotipo esteja visível).

6.- Conecte o dispositivo ao PC, via usb, e ative o CMD do ADB para copiar o backup da partição para o sistema de arquivos de um dispositivo interno do MicroSDCard. desligue o dispositivo, extraia a bateria, extraia o microSDcard e ligue o dispositivo. Continue com uma destas alternativas para restaurar

6a.- Da maneira mais fácil, à prova de garantia, use a restauração de software de emergência da marca original, KIES e ODIN para samsung, MTP para marca chinesa, etc.

6b.- Da maneira mais fácil, se você tiver apenas um bootloop, inicie o dispositivo com outro MicroSDcard bom testado, ocorrerão falhas na memória externa e travamentos do aplicativo se forem movidos para o microSDcard com defeito. Se isso não funcionar, comece com nenhum cartão MicroSD no modo de recuperação, limpe os dados / redefinição de fábrica e limpe o cache. Ainda com falha?, Siga em frente com o guia ..

6c.- Como esse método funciona com uma imagem de partição em qualquer android, qualquer dispositivo e marca, isso o torna independente de configurações (tipos e atribuições especiais de sistemas de arquivos, ponto de montagem, vold.fstab, fota.rc, init.goldfish.rc , arquivos init.d, corrupção de memória interna, falhas em aplicativos como link2SD e vírus). Comece a criar uma imagem da partição defeituosa (via comando ADB + dd) e todas elas por congruência, faça outra a partir da imagem de um bom dispositivo e, se a partição afetadaes /system ou /, faça uma cópia da /efspasta original (isso pode ser importante mais tarde, caso o imei e o MAC não correspondam ao hardware, consulte sua marca para obter o local do imei). Solução Por: Rotohammer (mesmo link), etc ... Salve-o no PC, no MicroSDcard e na nuvem.

6d.- O seu dispositivo ainda está em garantia pelo fornecedor ou pelo cartão de crédito? (uma garantia disponível, não do tipo Plutão durante a garantia de um eclipse), não hesite, vá em frente ... O backup manterá seus dados seguros e você poderá enviá-los para a RMA após uma limpeza profunda e limpeza ...

6e.-For Easy solution [Ferramenta de verificação e reparo do sistema de arquivos flashable | HTC Desire - XDA] [3] ... Com ADB você pode instalar e executar APK, ou correr /sbin/fsck, /sbin/fsck,/sbin/fsck.ext4 . Nota: alguns sistemas de arquivos raiz mantêm o tipo mais antigo (raiser, ext2, etc)

6f.- Restaurar a partir do backup CWM ou do seu aplicativo favorito

6g.- Use seu software original de restauração de emergência, Kies, mtp, etc.

7.- Reinicie, aguardando pela primeira vez a verificação automática do sistema de arquivos e pela segunda vez para verificar a operação.

8.- No caso de erros de inicialização, inicialize no modo de download, use as versões corretas do programa de atualização de firmware (como ODIN e MTP da Samsung) para aplicar o PIT (tabela de informações da partição) correto com a repartição marcada. Se a falha persistir, aplique a STOCK ROM original completa para verificar.

9.- No caso de erros de IMEI, continue com as soluções: (forum.samdroid.ne t /attachments/f28/2082d1281453181-complete-imei-restore-how-bml10.img.zip)

10.- para erros de memória interna, verifique isto [2]: http://amalautpavathas.blogspot.com/2013/08/

aviso Legal

Esta é uma compilação individual e pessoal, portanto, espero sinceramente que esse extrato ajude alguém, em algum momento, em algum lugar, mas ... Eu mesmo e ninguém assumimos a responsabilidade por quaisquer ações que você execute usando essas instruções ou aplicativos. ROM piscando pode anular sua garantia e deve ser a última opção. Por favor, proceda com cautela e por sua própria conta e risco. O piscar apaga completamente a memória do seu dispositivo. Faça um backup de tudo o que você precisa, para esse objetivo, apresento mais de 3 opções de backup, use todas elas. Se você deseja exibir uma ROM preparada, precisa de um SPL corrigido. Como fazer isso é descrito na página principal forum.xda-developers Você também pode atualizar a ROM diretamente do cartão microSD! O guia é encontrado aqui forum.xda-developers

AGRADECIMENTOS ESPECIAIS AO POVO DO CONHECIMENTO

Este é o meu primeiro post, por isso não tenho permissão para incluir mais pessoas e fontes, desculpe-me, meus parceiros invisíveis não incluídos nesta lista:

(forum.xda-developers (amalautpavathas) (samdroid)

Julian Lopez
fonte