Permissão negada por “dd” do sistema de arquivos do telefone Android conectado ao mtpfs no Ubunutu 14.0.4

1

Eu conectei meu telefone Android Mi3 com raiz ao Ubuntu 14.0.4 usando jmtpfs . Eu estou usando ~/Desktop/phone como meu ponto de montagem. Eu posso navegar no dispositivo Android usando Nautilus .

Agora quero recuperar os arquivos do meu telefone porque fiz uma redefinição de fábrica. Eu estou usando o comando dd para fazer um clone do armazenamento do telefone. Quando tento fazer isso, recebo o seguinte erro:

:~/Desktop$ sudo sh -c "dd if=~/Desktop/phone of=/media/sf_phone_recovery/image"
dd: failed to open ‘~/Desktop/phone’: Permission denied

É porque o telefone tem privilégios de root?

:~/Desktop/phone$ ls -l
total 0
drwxr-xr-x 29 root root 0 May 19 4441318 Internal storage

Eu também tentei recuperar arquivos, mas demora uma eternidade para ser executado. Tem arquivos importantes no meu telefone. Ajuda necessária o mais cedo possível.

Esta é a saída de lsblk :

:~$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0  14.2G  0 disk 
├─sda1   8:1    0   8.3G  0 part /
├─sda2   8:2    0     1K  0 part 
└─sda5   8:5    0   5.9G  0 part [SWAP]
sr0     11:0    1  1024M  0 rom

Estou executando o Ubuntu usando o VirtualBox no Mac OSX Yosemite.

EDITAR: Esta questão foi respondida em android.stackexchange.com link .

Eu estou marcando a resposta dada por @solsTiCe como a resposta correta porque contém informações importantes sobre o protocolo MTP e o comando dd. Ele também oferece uma alternativa de usar o terminal Android para dd a imagem do sistema no cartão SD / pen drive (conectado ao seu telefone através de um cabo USB OTG). Ainda não tentei.

    
por user424 25.07.2015 / 11:31

1 resposta

0

Você pode usar dd somente em um dispositivo ou arquivo que não seja de um diretório.

Além disso, isso provavelmente falhará porque você usa MTP . MTP é uma camada acima do sistema de arquivos que expõe apenas arquivos. É um protocolo não é um verdadeiro sistema de arquivos.

Mas mesmo com um sistema de arquivos, isso não funcionará. Você precisa fazer isso no dispositivo. O exemplo geral é

sudo dd if=/dev/mydevice of=mydump.bin

Isso não funcionará aqui

Se você pudesse montá-lo usando o MSC aka. USB Mass Storage, então você deve ser capaz de fazer isso.

Editar : Outra maneira de fazer isso é instalando um aplicativo terminal no android (com o busybox? ) e faça o dd dentro desse terminal. você despeja no seu cartão SD.

Veja a saída de mount e procure seu dispositivo. Aqui eu despejo o diretório / system no cartão SD.

mount
[...]
/emmc@android /system ....
[...]
su -
dd if=/emmc@android of=/storage/sdcard1/mydump.bin
    
por solsTiCe 25.07.2015 / 12:59