Saltar para conteúdo


Mensagem Importante

O androidPT irá ficar indisponível a partir das 18h para manutenção

Foto
- - - - -

O que fazer quando perdemos o conteúdo do sdcard? ( Nexus 7 e Nexus 7 3G )


  • Por favor inicie sessão para responder
5 respostas a este tópico

#1 on.one

on.one

    Mestre de Android

  • Former Staff
  • PipPipPipPipPipPip
  • 5169 mensagens
  • LocalizaçãoAlfragide

Mensagem publicada 03 February 2013 - 14:35

O que fazer quando perdemos o conteúdo do sdcard?

Depois de ler um artigo interessante sobre como recuperar informação do nosso telefone/tablet quando, por exemplo, o sdcard é apagado ao fazer o unlock do bootloader, por acidente ou até porque o sistema de ficheiros ficou corrompido, decidi contactar o autor e relatar algumas modificações ( #37, #39, #41, #42 ) que fiz ao método que apresentou.
Assim aqui fica a combinação dos dois procedimentos que podem ser muito úteis quando surge um imprevisto e a informação do sdcard é apagada ou fica indisponível por falha do sistema de ficheiros.

Requisitos:

TWRP – Team Win Recovery Project ( grouper - Nexus 7 / tilapia - Nexus 7 3G )
Cygwin – pv, util-linux
Netcat
Android SDK
Photorec

Instalação dos requisitos em Windows:

Cygwin:

A instalação do Cygwin é linear, apenas há que ter o cuidado de instalar os utilitários pv e util-linux dos repositórios.
Para facilidade de utilização vamos definir a instalação do Cygwin em c:\cygwin.

Imagem colocada

Netcat:

Extrair o conteúdo da pasta bin do ficheiro Netcat para a pasta c:\cygwin\bin.

Android SDK:

A instalação do Android SDK em ambiente Windows pode ser consultada neste tópico.

Instalação dos requisitos em Linux ( ubuntu ):

Instalação de utilitários:

A instalação dos utilitários pv, util-linux e netcat pode ser feita com o seguinte comando:

- sudo apt-get install pv util-linux netcat-openbsd

Android SDK:

A instalação do Android SDK em ambiente Linux pode ser consultada neste tópico.
Adicionalmente é necessário editar o ficheiro /etc/udev/rules.d/51-android.rules

Ficheiro /etc/udev/rules.d/51-android.rules
# fastboot protocol on grouper (Nexus 7) TWRP & CWM
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0600", OWNER="username"
Substituir username pelo username do utilizador

O procedimento:

Logo que surge um imprevisto dos que falamos anteriormente, quanto mais rápido pararmos o sistema, maior são as probabilidades de recuperar a informação. Assim o telefone deve ser de imediato desligado. Por esse motivo vamos usar TWRP porque possibilita o acesso necessário sem que o sistema esteja a ser executado e possa rescrever ficheiros por cima dos dados que desejamos recuperar.
A partição onde se encontra montado o sdcard ( UDA ) é a partição /dev/block/mmcblk0p10, no entanto vamos fazer o dump de toda a memória interna do equipamento, ou seja, do dispositivo /dev/block/mmcblk0.
Para referencia, fica abaixo a lista de todas as partições disponíveis no nosso equipamento:

	 APP -> /dev/block/mmcblk0p3 -> /system
	 CAC -> /dev/block/mmcblk0p5 -> /cache
	 LNX -> /dev/block/mmcblk0p2
	 MDA -> /dev/block/mmcblk0p9
	 MSC -> /dev/block/mmcblk0p6
	 PER -> /dev/block/mmcblk0p8
	 RDO -> /dev/block/mmcblk0p4
	 SOS -> /dev/block/mmcblk0p1
	 UDA -> /dev/block/mmcblk0p10 -> /data & /sdcard
	 USP -> /dev/block/mmcblk0p7

O primeiro passo é colocar o equipamento em modo fastboot, pressionando as teclas VolumeDown+Power.

De seguida executar a TWRP no equipamento com o comando:

Nexus 7 ( grouper )

- # fastboot boot openrecovery-twrp-2.4.1.0-grouper.img

Nexus 7 3G ( tilapia )

- # fastboot boot openrecovery-twrp-2.4.1.0-tilapia.img

Depois temos que estabelecer a ligação adb com o equipamento. Com o recurso a uma linha de comando ( em windows é necessário usar o Terminal Cygwin ).

- # adb forward tcp:5555 tcp:5555
- # adb shell
- # busybox nc -l -p 5555 -e busybox dd if=/dev/block/mmcblk0 bs=1024

Numa outra linha de comando, executamos os seguintes comandos:

- # adb forward tcp:5555 tcp:5555
- # nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0.img

Esta sequência de comandos inicia a transferência do dispositivo /dev/block/mmcblk0, correspondente a toda a memória interna do equipamento e mostra o progresso da mesma. Este procedimento é um processo demorado e que varia mediante a capacidade do equipamento ( 16GB ou 32GB ). No meu caso particular, Nexus 7 3G de 32 GB, o procedimento gerou um ficheiro de 31.3GB.

Depois de terminado o procedimento anterior é altura de utilizar os utilitários Photorec e Testdisk. O download deve ser efectuado de acordo com o ambiente usado. Em Linux ( ubuntu ), os respectivos utilitários podem ser instalados com o comando:

- sudo apt-get install testdisk

Utilitário testdisk:

O utilitário testdisk serve, entre muitas outras coisas, para fazer undelete de ficheiros apagados.
Depois de executar o comando:

- testdisk mmcblk0.img ou ./testdisk mmcblk0.img

Seguir o exemplo dado pela documentação do utilitário testdisk.

Deixo também aqui um exemplo pessoal da imagem do meu equipamento

testdisk_proceed.png testdisk-none.png testdisk-analise.png testdisk-partitions.png testdisk-files.png

Os ficheiros ou pastas a vermelho representam os ficheiros ou pastas apagadas.

Utilitário photorec:

O utilitário photorec serve, entre muitas outras coisas, para procurar no espaço livre, ou em toda, a partição ficheiros que foram apagados.
Se apenas se pretende recuperar todos os ficheiros que foram apagados devemos, quando solicitado, escolher procurar no espaço livre. Se por outro lado, a partição foi formatada ou ficou corrompida, devemos escolher procurar em toda a partição.

Depois de executar o comando:

- photorec mmcblk0.img ou ./photorec mmcblk0.img

Seguir o exemplo dado pela documentação do utilitário photorec.

photorec-proceed.png photorec-search.png photorec-ext4.png photorec-continue.png

A titulo de exemplo, foram recuperados 26011 ficheiros da imagem efectuada a partir do meu equipamento. Atenção que irão apareceu muitos ficheiros que não terão interesse algum. Terminado o procedimento ainda fica a faltar o processo moroso de escolher os ficheiros de interesse.

Imagem colocada

Faço votos que este tutorial nunca vós faça falta, mas se fizer boa sorte para todo o procedimento.

Agradecimentos:

- Wartickler- [GUIDE] Internal Memory Data Recovery - Yes We Can!
- scandiun- [GUIDE] How to make a nandroid backup directly to your computer without using sdcard

Editado por on.one, 03 February 2013 - 14:54.

  • martini_man69, Hugo Tender e Dark_Sorcerer gosta disto

Nexus 6 - Stock Android 6.0.1 (MMB29K), no userdata encription, display @ 1080p.


#2 Dark_Sorcerer

Dark_Sorcerer

    Mestre de Android

  • Former Staff
  • PipPipPipPipPipPip
  • 2765 mensagens
  • hammerhead

Mensagem publicada 03 February 2013 - 14:54

Alo,

on.one, muito obrigado por tudo o que tens dado a esta comunidade. Este tutorial é ouro.

Um abraço,
  • on.one gosta disto
Chat do fórum: http://l.androidpt.com/chat

#3 on.one

on.one

    Mestre de Android

  • Former Staff
  • PipPipPipPipPipPip
  • 5169 mensagens
  • LocalizaçãoAlfragide

Mensagem publicada 03 February 2013 - 14:57

Alo,

on.one, muito obrigado por tudo o que tens dado a esta comunidade. Este tutorial é ouro.

Um abraço,

Boa tarde amigo,

Obrigado pelas tuas palavras amigas.
Espero que nunca nenhum utilizador faça uso deste tutorial, mas se algum percalço suceder, pelo menos há alguma esperança na recuperação da informação perdida.

Um abraço.
  • kazum e Dark_Sorcerer gosta disto

Nexus 6 - Stock Android 6.0.1 (MMB29K), no userdata encription, display @ 1080p.


#4 herpez

herpez

    Membro

  • Membros
  • PipPip
  • 21 mensagens

Mensagem publicada 24 December 2013 - 04:06

Amigos, eu tive que recorrer a este topico.

Apaguei uma pasta e perdi todos os ficheiros da particao sdcard do galaxy nexus. Na altura fui ao xda ao topico aqui citado.

Acabei por fazer recovery APENAS da "particao/bloco" userdata -> /dev/block/mmcblk0p12.

 

Ou seja, tenho +- 14Gb de um ficheiro raw que consegui recuperar alguma coisa (usando o topico do xda). Mas ao ver este método, quis tentar. O que acontece é que o testdisk não me consegue ajudar a fazer o undelete. 

 

Acham que me podem ajudar?



#5 anfisi

anfisi

    Novato

  • Membros
  • Pip
  • 1 mensagens
  • nexus 7

Mensagem publicada 15 July 2014 - 03:13

Boas rapaziada, 

ao tentar mudar o sistema do meu nexus 7 apaguei o sistema original do dispositivo e nao consegui instalar sequer o que queria, portanto nao tenho qualquer sistema no tablet, o SDcard estara vazio, so tem mesmo e recovery  mode atraves do fastboot mode, isto tutorial poderá me ajudar? 

 

Obrigado.



#6 on.one

on.one

    Mestre de Android

  • Former Staff
  • PipPipPipPipPipPip
  • 5169 mensagens
  • LocalizaçãoAlfragide

Mensagem publicada 15 July 2014 - 21:33

Boas rapaziada, 

ao tentar mudar o sistema do meu nexus 7 apaguei o sistema original do dispositivo e nao consegui instalar sequer o que queria, portanto nao tenho qualquer sistema no tablet, o SDcard estara vazio, so tem mesmo e recovery  mode atraves do fastboot mode, isto tutorial poderá me ajudar? 

 

Obrigado.

 

Boa noite,

 

Este tutorial tem em vista a recuperação de dados.

O tópico que devias dar uma olhada é este : 

Actualizar Nexus 7 e Nexus 7 3G Para Android KitKat 4.4.3 KTU84L [17/06]

 

Um abraço.


  • batuco gosta disto

Nexus 6 - Stock Android 6.0.1 (MMB29K), no userdata encription, display @ 1080p.