Saltar para conteúdo


Foto
- - - - -

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


  • 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 27 November 2012 - 22:19

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

Depois de ler um artigo interessante sobre como recuperar informação do nosso telefone 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
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.

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 correspondente ao sdcard ( userdata ) é a partição /dev/block/mmcblk0p12, 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:

xloader -> /dev/block/mmcblk0p1
sbl -> /dev/block/mmcblk0p2
efs -> /dev/block/mmcblk0p3
param -> /dev/block/mmcblk0p4
misc -> /dev/block/mmcblk0p5
dgs -> /dev/block/mmcblk0p6
boot -> /dev/block/mmcblk0p7
recovery -> /dev/block/mmcblk0p8
radio -> /dev/block/mmcblk0p9
system -> /dev/block/mmcblk0p10
cache -> /dev/block/mmcblk0p11
userdata -> /dev/block/mmcblk0p12
metadata -> /dev/block/mmcblk0p13

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

De seguida executar a TWRP no equipamento com o comando:

- fastboot boot openrecovery-twrp-2.3.2.1-maguro.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=512

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, Galaxy Nexus de 16GB, demorou aproximadamente 01h05m e gerou um ficheiro de 14.7GB.

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

Imagem colocada

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.

A titulo de exemplo, em menos de um minuto foram recuperado 490 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.

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, 28 November 2012 - 09:18.

  • bellamy, Dark_Sorcerer, mavatar e 2 outros gostam 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
  • 2767 mensagens
  • hammerhead

Mensagem publicada 28 November 2012 - 09:13

Alo,

Bem, isto sim é informação do mais valioso que há.

Obrigado, on.one, pela partilha.

Abraço,
  • mavatar e Lder gosta disto
Chat do fórum: http://l.androidpt.com/chat

#3 herpez

herpez

    Membro

  • Membros
  • PipPip
  • 21 mensagens

Mensagem publicada 24 December 2013 - 11:34

Ola. Escrevi isto no topico errado. Agora sim, no correcto

 

"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?"


Editado por herpez, 24 December 2013 - 11:34.


#4 on.one

on.one

    Mestre de Android

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

Mensagem publicada 24 December 2013 - 11:41

 

Ola. Escrevi isto no topico errado. Agora sim, no correcto

 

"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?"

 

 

Bom dia,

 

O método que descreve neste tópico é um pouco diferente do tópico do XDA. Com o método do ficheiro RAW do XDA nunca obtive grandes resultados.

Tenta fazer o dump de todo o dispositivo ( mmcblk0 ) até porque assim obténs todo o esquema de partições do aparelho.

 

Deixa feedback.

 

Um abraço.


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


#5 herpez

herpez

    Membro

  • Membros
  • PipPip
  • 21 mensagens

Mensagem publicada 27 December 2013 - 21:00

Bom dia,

 

O método que descreve neste tópico é um pouco diferente do tópico do XDA. Com o método do ficheiro RAW do XDA nunca obtive grandes resultados.

Tenta fazer o dump de todo o dispositivo ( mmcblk0 ) até porque assim obténs todo o esquema de partições do aparelho.

 

Deixa feedback.

 

Um abraço.

 

Obrigado. Apos fazer o dump em raw, voltei a usar a memoria e ja a ocupei quase toda e foi há >1mes. Logo, a possibilidade de apanhar o que quer que seja deve ser quase nula pois já foi tudo escrito :s

Penso que nem vale a pena tentar um novo dump...

Que achas?



#6 pcmasterbr

pcmasterbr

    Novato

  • Membros
  • Pip
  • 1 mensagens
  • Silva

Mensagem publicada 27 July 2016 - 20:41

Pra mim aparece uma imagem raw de 0 bits o que pode ser?


Editado por pcmasterbr, 19 August 2016 - 18:21.