如何从计算机备份整个设备并在Linux中安装任何Bakup分区? -- adb 领域 和 backup 领域 和 shell 领域 android 相关 的问题

How to backup the entire device from a computer and mount any of the bakup partitions in Linux?


简体版||繁體版
-1
vote

问题

中文

我正在寻找一些教程或帮助能够直接在我的电脑上备份所有Android分区,并能够从Linux安装每个android分区以查看它们。

english

I am looking for some tutorial or help to be able to make a backup of all Android partitions directly on my computer and be able to mount each of them from Linux to view them.

        
 
 

回答列表

0
 
vote

我不知道它是否适用于您的特定设备和操作系统,但我认为这个脚本是直截了当的,您将能够得到一般的想法并相应地修改。

首先列出/ dev / block / platform / [xxxxx] / by-name目录的内容(与设备不同),然后通过内容文件循环,在这种情况下是特定设备的分区名称。在每个迭代中,它修剪0x0d(运输返回" r" )在每个文件名结束时添加的字符,然后它使用 cat 将分区打印到终端的stdout但我们还必须处理0x0d(运输返回" r" )字节在打印前添加,然后它计算输出文件的MD5SUM,您可以与设备中的分区的MD5SUM进行比较以确定没有腐败。

  #!/bin/bash BY_NAME_DIR="/dev/block/platform/sprd-sdhci.3/by-name" for partition in $(adb shell ls $BY_NAME_DIR) do             partition=$(tr -d ' '<<<$partition)             echo Backing up $partition partition             adb shell "su -c cat $BY_NAME_DIR/$partition 2> /dev/null"|sed 's/ $//' > ${partition}.img             echo Calculating md5sum              md5sum ${partition}.img > ${partition}.md5             echo Done backing up ${partition} done   

您还可以参考这个问题可以处理添加的" r" (0x0d)字符

 

I don't know if it will work for your particular device and OS but I think this script is straight forward and you will be able to get the general idea and modify accordingly.

It first lists the content of /dev/block/platform/[xxxxx]/by-name directory (differs from device to device) then loops through the content files which in this case are partition names of your particular device. In each iteration it trims the 0x0d (carriage-return "\r") character that is added at the end of each file name, then it uses cat to print the partition to stdout of your terminal but we must also handle 0x0d (carriage-return "\r") byte that is added before newline(0x0a) before printing, then it calculates the md5sum of the output file which you can compare to the md5sum of the partition in your device to be sure there is no corruption.

#!/bin/bash BY_NAME_DIR="/dev/block/platform/sprd-sdhci.3/by-name" for partition in $(adb shell ls $BY_NAME_DIR) do             partition=$(tr -d '\r'<<<$partition)             echo Backing up $partition partition             adb shell "su -c cat $BY_NAME_DIR/$partition 2> /dev/null"|sed 's/\r$//' > ${partition}.img             echo Calculating md5sum              md5sum ${partition}.img > ${partition}.md5             echo Done backing up ${partition} done 

You can also refer to this question to see how you can handle the added "\r"(0x0d) characters

 
 
 
 

相关问题

3  如何为rooted设备安装其他终端命令的捆绑?  ( How to install bundles of additional terminal commands for rooted devices ) 
我最近扎根了HTC野火S设备并闪过Android 4.1.2 AOKP果冻豆类自定义ROM。一个好处是我现在可以使用终端。 我有点习惯于在台式机上使用终端仿真器,但从中从未在Android设备上做过。我注意到没有找到一些命令,例如: $ tree /system/bin/sh: tree: not found ...

3  我可以在Android挂载LoopDevice吗?  ( Can i mount loopdevice in android ) 
我扎根了我的Android手机并获得shell thr adb。我想在Android中挂载一个ROM图像。但我总是失败: mount -o循环/sdcard/myimage.img / mnt 挂载:无法设置循环设备:没有这样的文件或目录 ...

-1  联想S6000 - 连接充电器后自动开机[复制]  ( Lenovo s6000 auto power on after connecting charger ) 
这个问题已经在这里有答案: 充电器连接时自动电源启动Android (7个答案) ...

1  使用flash_image flash update.img  ( Flash update img using flash image ) 
我想使用shell刷新一个新rom。 (以后需要这个应用程序,所以没有比Shell的其他方式)。这是我尝试的 connected to 192.168.1.9:5555 Pauls-MacBook-Pro:~$ adb shell root@android:/ # su root@android:/ # flas...

0  我如何在没有USB的情况下将所有文件从手机上完成  ( How can i get all my files off my phone without usb ) 
我有一个"必需的" Android手机植根,拥有终端和超级安装,但不会承认它已插入计算机而不是交流充电站。 lsusb 在主机上找不到它。 在设置下,"USB调试" 为ON。这似乎并没有帮助。 外壳存在并在手机本身上与终端一起使用。 curl 存在。 ssh 和 sshd 不是。我有无线。我如何从手机上获取我的...

54  如何在启动时运行脚本?  ( How can i run a script on boot ) 
我习惯于在Linux的启动时运行脚本,但我不确定如何在Android中执行此操作。我想在开始时开始我的SSH守护程序,所以我将永远能够连接。如何在Android启动时运行任意脚本?在dalvik之外做这一点是优选的。 ...

1  如何在Termux上键入“Control”?  ( How to type control on termux ) 
有一个很好的应用程序"termux" ,可以提供强大的shell环境,而无需获得root权限。但是,触摸屏键盘不包括"控制" 和"ALT" 按钮。但是一些互动程序(例如,Nano,Emacs)需要这些按钮。 是否有任何方法可以添加此按钮,或使用其他方法来替换此按钮? ...

3  adb shell命令可以测试mls / spc代码? [关闭]  ( Adb shell command that can test mls spc codes ) 
这个问题不太可能帮助任何未来的访客;它仅与小地理区域,特定时刻及时的特定时刻或非常狭窄的情况,这些情况通常不适用于互联网的全球观众。有关帮助提出这个问题更广泛适用,请访问帮助中心。 ...

1  如何在Android shell中进行数学操作?  ( How to do math operations in android shell ) 
要在Linux shell中进行数学操作,可以使用BC语言。例如, echo `echo "scale=4;sqrt(400)"|bc -l` 这将使输出为20.0000 不幸的是,BC在Android上不可用。我的问题是 1)如何在Android shell中进行数学操作? 2)如果必须使用BC,那...

8  从终端仿真器运行应用程序[已关闭]  ( Running applications from a terminal emulator ) 
关闭。这个问题是 off-topic 。它目前不接受答案。 想要改进这个问题?更新这个问题,所以它是关于android爱好者堆栈交换的主题。 关闭 ...




© 2022 it.wenda123.org All Rights Reserved. 问答之家 版权所有