在 Ubunutu 14.0.4 中通过 mtpfs 连接的 Android 手机文件系统的“dd”权限被拒绝

在 Ubunutu 14.0.4 中通过 mtpfs 连接的 Android 手机文件系统的“dd”权限被拒绝

我已使用 将已 root 的 Mi3 Android 手机连接到 Ubuntu 14.0.4 jmtpfs。我将~/Desktop/phone其用作挂载点。我能够使用 浏览 Android 设备Nautilus

现在我想从手机中恢复文件,因为我已恢复出厂设置。我正在使用 dd 命令克隆手机的存储。当我尝试执行此操作时,出现以下错误:

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

是不是因为手机有root权限?

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

我也尝试过使用 Foremost 来恢复文件,但运行起来非常慢。我的手机上有重要文件。需要尽快帮助。

这是输出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

我在 Mac OSX Yosemite 上使用 VirtualBox 运行 Ubuntu。

编辑: 这个问题已经在 android.stackexchange.com 上得到解答关联

我将 @solsTiCe 给出的答案标记为正确答案,因为它包含有关 MTP 协议和 dd 命令的重要信息。它还提供了使用 Android 终端将系统映像 dd 到 SD 卡/笔式驱动器(通过 USB OTG 电缆连接到手机)的替代方案。还没有尝试过。

答案1

您只能dd从设备或文件进行,而不能从目录中进行。

这也可能会失败,因为你使用中期计划。MTP 是文件系统之上的一层,仅显示文件。它是一种协议,而不是真正的文件系统。

但即使有文件系统,这也行不通。您需要在设备上执行此操作。一般示例是

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

这在这里行不通

如果您可以使用 MSC 又名 USB 大容量存储来安装它,那么您应该能够做到这一点。

编辑:另一种方法是安装终端应用程序在 android 上(使用 busybox?)并在该终端内执行dd。将其转储到您的 SD 卡上。

查看输出mount并查找您的设备。这里我将 /system 目录转储到 SD 卡。

mount
[...]
/emmc@android /system ....
[...]
su -
dd if=/emmc@android of=/storage/sdcard1/mydump.bin

相关内容