安卓备份分区----手动查询安卓系统分区信息 导出系统分区的一些基本操作

在玩机搞机过程中。有时候需要手动查看有些分区信息,或者备份分区的操作。那么今天以小米8为例解析下其中的操作步骤

机型:小米8

adb版本:https://developer.android.com/studio/releases/platform-tools

机型芯片:高通骁龙845

手机系统版本:安卓10

机型界面:twrp

机型字库:UFS

查看分区

1---手机进入twrp模式里安装好联机驱动。然后打开adb输入指令

adb shell ls -al /dev/block/bootdevice/by-name/界面如下

C:\Users\Administrator\Desktop\adb>adb shell ls -al /dev/block/bootdevice/by-name/
drwxr-xr-x    2 root     root          1740 Aug 10  1970 .
drwxr-xr-x    3 root     root          1880 Aug 10  1970 ..
lrwxrwxrwx    1 root     root            15 Aug 10  1970 ImageFv -> /dev/block/sdf4
lrwxrwxrwx    1 root     root            16 Aug 10  1970 abl_a -> /dev/block/sde32
lrwxrwxrwx    1 root     root            16 Aug 10  1970 abl_b -> /dev/block/sde33
lrwxrwxrwx    1 root     root            16 Aug 10  1970 aop_a -> /dev/block/sde14
lrwxrwxrwx    1 root     root            16 Aug 10  1970 aop_b -> /dev/block/sde15
lrwxrwxrwx    1 root     root            15 Aug 10  1970 apdp -> /dev/block/sde6
lrwxrwxrwx    1 root     root            15 Aug 10  1970 bk01 -> /dev/block/sda3
lrwxrwxrwx    1 root     root            15 Aug 10  1970 bk02 -> /dev/block/sda4
lrwxrwxrwx    1 root     root            15 Aug 10  1970 bk03 -> /dev/block/sda5
lrwxrwxrwx    1 root     root            15 Aug 10  1970 bk04 -> /dev/block/sda8
lrwxrwxrwx    1 root     root            16 Aug 10  1970 bk05 -> /dev/block/sda13
lrwxrwxrwx    1 root     root            15 Aug 10  1970 bk31 -> /dev/block/sdd1
lrwxrwxrwx    1 root     root            15 Aug 10  1970 bk32 -> /dev/block/sdd3
lrwxrwxrwx    1 root     root            15 Aug 10  1970 bk33 -> /dev/block/sdd5
lrwxrwxrwx    1 root     root            15 Aug 10  1970 bk41 -> /dev/block/sde3
lrwxrwxrwx    1 root     root            15 Aug 10  1970 bk42 -> /dev/block/sde9
lrwxrwxrwx    1 root     root            16 Aug 10  1970 bk43 -> /dev/block/sde16
lrwxrwxrwx    1 root     root            16 Aug 10  1970 bk44 -> /dev/block/sde17
lrwxrwxrwx    1 root     root            16 Aug 10  1970 bk45 -> /dev/block/sde25
lrwxrwxrwx    1 root     root            16 Aug 10  1970 bk46 -> /dev/block/sde29
lrwxrwxrwx    1 root     root            16 Aug 10  1970 bk47 -> /dev/block/sde38
lrwxrwxrwx    1 root     root            16 Aug 10  1970 bk48 -> /dev/block/sde40
lrwxrwxrwx    1 root     root            16 Aug 10  1970 bk49 -> /dev/block/sde41
lrwxrwxrwx    1 root     root            15 Aug 10  1970 bk51 -> /dev/block/sdf2
lrwxrwxrwx    1 root     root            15 Aug 10  1970 bk52 -> /dev/block/sdf3
lrwxrwxrwx    1 root     root            15 Aug 10  1970 bk53 -> /dev/block/sdf5
lrwxrwxrwx    1 root     root            16 Aug 10  1970 bluetooth -> /dev/block/sde24
lrwxrwxrwx    1 root     root            16 Aug 10  1970 boot -> /dev/block/sde45
lrwxrwxrwx    1 root     root            16 Aug 10  1970 cache -> /dev/block/sda20
lrwxrwxrwx    1 root     root            15 Aug 10  1970 cdt -> /dev/block/sdd2
lrwxrwxrwx    1 root     root            16 Aug 10  1970 cmnlib64_a -> /dev/block/sde20
lrwxrwxrwx    1 root     root            16 Aug 10  1970 cmnlib64_b -> /dev/block/sde21
lrwxrwxrwx    1 root     root            16 Aug 10  1970 cmnlib_a -> /dev/block/sde18
lrwxrwxrwx    1 root     root            16 Aug 10  1970 cmnlib_b -> /dev/block/sde19
lrwxrwxrwx    1 root     root            16 Aug 10  1970 cust -> /dev/block/sda18
lrwxrwxrwx    1 root     root            15 Aug 10  1970 ddr -> /dev/block/sdd4
lrwxrwxrwx    1 root     root            16 Aug 10  1970 devcfg_a -> /dev/block/sde12
lrwxrwxrwx    1 root     root            16 Aug 10  1970 devcfg_b -> /dev/block/sde13
lrwxrwxrwx    1 root     root            16 Aug 10  1970 devinfo -> /dev/block/sda12
lrwxrwxrwx    1 root     root            16 Aug 10  1970 dip -> /dev/block/sde28
lrwxrwxrwx    1 root     root            16 Aug 10  1970 dsp -> /dev/block/sde44
lrwxrwxrwx    1 root     root            16 Aug 10  1970 dtbo -> /dev/block/sde37
lrwxrwxrwx    1 root     root            15 Aug 10  1970 frp -> /dev/block/sda7
lrwxrwxrwx    1 root     root            15 Aug 10  1970 fsc -> /dev/block/sdf1
lrwxrwxrwx    1 root     root            16 Aug 10  1970 fsg -> /dev/block/sde36
lrwxrwxrwx    1 root     root            16 Aug 10  1970 hyp_a -> /dev/block/sde26
lrwxrwxrwx    1 root     root            16 Aug 10  1970 hyp_b -> /dev/block/sde27
lrwxrwxrwx    1 root     root            16 Aug 10  1970 keymaster_a -> /dev/block/sde22
lrwxrwxrwx    1 root     root            16 Aug 10  1970 keymaster_b -> /dev/block/sde23
lrwxrwxrwx    1 root     root            15 Aug 10  1970 keystore -> /dev/block/sda6
lrwxrwxrwx    1 root     root            15 Aug 10  1970 limits -> /dev/block/sde2
lrwxrwxrwx    1 root     root            16 Aug 10  1970 logdump -> /dev/block/sda16
lrwxrwxrwx    1 root     root            16 Aug 10  1970 logfs -> /dev/block/sda10
lrwxrwxrwx    1 root     root            16 Aug 10  1970 logo -> /dev/block/sde43
lrwxrwxrwx    1 root     root            16 Aug 10  1970 minidump -> /dev/block/sda17
lrwxrwxrwx    1 root     root            15 Aug 10  1970 misc -> /dev/block/sda9
lrwxrwxrwx    1 root     root            16 Aug 10  1970 modem -> /dev/block/sde46
lrwxrwxrwx    1 root     root            15 Aug 10  1970 modemst1 -> /dev/block/sdf6
lrwxrwxrwx    1 root     root            15 Aug 10  1970 modemst2 -> /dev/block/sdf7
lrwxrwxrwx    1 root     root            15 Aug 10  1970 msadp -> /dev/block/sde7
lrwxrwxrwx    1 root     root            16 Aug 10  1970 oops -> /dev/block/sda11
lrwxrwxrwx    1 root     root            16 Aug 10  1970 persist -> /dev/block/sda14
lrwxrwxrwx    1 root     root            16 Aug 10  1970 persistbak -> /dev/block/sda15
lrwxrwxrwx    1 root     root            15 Aug 10  1970 qupfw_a -> /dev/block/sde4
lrwxrwxrwx    1 root     root            15 Aug 10  1970 qupfw_b -> /dev/block/sde5
lrwxrwxrwx    1 root     root            16 Aug 10  1970 recovery -> /dev/block/sda19
lrwxrwxrwx    1 root     root            15 Aug 10  1970 sec -> /dev/block/sde1
lrwxrwxrwx    1 root     root            16 Aug 10  1970 splash -> /dev/block/sde42
lrwxrwxrwx    1 root     root            16 Aug 10  1970 spunvm -> /dev/block/sde39
lrwxrwxrwx    1 root     root            15 Aug 10  1970 ssd -> /dev/block/sda2
lrwxrwxrwx    1 root     root            16 Aug 10  1970 sti -> /dev/block/sde30
lrwxrwxrwx    1 root     root            16 Aug 10  1970 storsec_a -> /dev/block/sde10
lrwxrwxrwx    1 root     root            16 Aug 10  1970 storsec_b -> /dev/block/sde11
lrwxrwxrwx    1 root     root            15 Aug 10  1970 switch -> /dev/block/sda1
lrwxrwxrwx    1 root     root            16 Aug 10  1970 system -> /dev/block/sda21
lrwxrwxrwx    1 root     root            16 Aug 10  1970 toolsfv -> /dev/block/sde31
lrwxrwxrwx    1 root     root            16 Aug 10  1970 tz_a -> /dev/block/sde34
lrwxrwxrwx    1 root     root            16 Aug 10  1970 tz_b -> /dev/block/sde35
lrwxrwxrwx    1 root     root            16 Aug 10  1970 userdata -> /dev/block/sda22
lrwxrwxrwx    1 root     root            15 Aug 10  1970 vbmeta -> /dev/block/sde8
lrwxrwxrwx    1 root     root            16 Aug 10  1970 vendor -> /dev/block/sde47
lrwxrwxrwx    1 root     root            15 Aug 10  1970 xbl_a -> /dev/block/sdb2
lrwxrwxrwx    1 root     root            15 Aug 10  1970 xbl_b -> /dev/block/sdc2
lrwxrwxrwx    1 root     root            15 Aug 10  1970 xbl_config_a -> /dev/block/sdb1
lrwxrwxrwx    1 root     root            15 Aug 10  1970 xbl_config_b -> /dev/block/sdc1

通过这个指令可以看到手机所有分区对应的分区浩。例如

lrwxrwxrwx    1 root     root            16 Aug 10  1970 boot -> /dev/block/sde45

boot分区就是在sde45序号里

备份分区

那么知道了分区对应的分区号。如何提取这个boot分区呢

指令;dd if=/dev/block/sde45 of=/sdcard/boot.img

然后打开手机存储就有这个分区

按此方法。可以提取出当前机型所有的分区。在这个界面。例如我们怎么简单方便备份手机最重要的基带分区呢。在usf字库芯片的机型里,基带辅助分区基本全部都在sdf分区里。查看分区xml就可以很清楚的看到

<?xml version="1.0" ?>
<data><!--NOTE: This is an ** Autogenerated file **--><!--NOTE: Sector size is 4096bytes--><program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="fsc" num_partition_sectors="64" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="256.0" sparse="false" start_byte_hex="0x6000" start_sector="6"/><program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="bk51" num_partition_sectors="186" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="744.0" sparse="false" start_byte_hex="0x46000" start_sector="70"/><program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="bk52" num_partition_sectors="256" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="1024.0" sparse="false" start_byte_hex="0x100000" start_sector="256"/><program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="imagefv.elf" label="ImageFv" num_partition_sectors="512" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="2048.0" sparse="false" start_byte_hex="0x200000" start_sector="512"/><program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="bk53" num_partition_sectors="1024" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="4096.0" sparse="false" start_byte_hex="0x400000" start_sector="1024"/><program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="modemst1" num_partition_sectors="2048" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="8192.0" sparse="false" start_byte_hex="0x800000" start_sector="2048"/><program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="modemst2" num_partition_sectors="2048" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="8192.0" sparse="false" start_byte_hex="0x1000000" start_sector="4096"/><program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="" label="last_parti" num_partition_sectors="0" partofsingleimage="false" physical_partition_number="5" readbackverify="false" size_in_KB="0" sparse="false" start_byte_hex="0x1800000" start_sector="6144"/><program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_main5.bin" label="PrimaryGPT" num_partition_sectors="6" partofsingleimage="true" physical_partition_number="5" readbackverify="false" size_in_KB="24.0" sparse="false" start_byte_hex="0x0" start_sector="0"/><program SECTOR_SIZE_IN_BYTES="4096" file_sector_offset="0" filename="gpt_backup5.bin" label="BackupGPT" num_partition_sectors="5" partofsingleimage="true" physical_partition_number="5" readbackverify="false" size_in_KB="20.0" sparse="false" start_byte_hex="(4096*NUM_DISK_SECTORS)-20480." start_sector="NUM_DISK_SECTORS-5."/>
</data>

如果单一的进行备份比较麻烦。我们可以把这个sdf分区全部备份下来。指令:

dd if=/dev/block/sdf of=/sdcard/sdf.bin

按此方法你也可以备份所有的总分区 sda sdb  sdc sdd sde ,

恢复分区

怎么备份的就可以怎么恢复。无非把指令调换了下。例如刚才备份的boot分区和sdf分区

dd if=/sdcard/boot.img of=/dev/block/sde45

dd if=/sdcard/sdf.bin of=/dev/block/sdf

 dd if与of指令含义

dd命令是一个特殊的命令,它使用底层比特复制的方式从源头将数据复制并转换至一个指定的目的地。在Android破解中,在数据和结果必须确切时,dd命令通常被用于将一个映像文件写入内存或文件,从而使其可以在诸如操作系统引导文件等重要过程中被找到和使用。

dd命令使用如下语法:

dd if=<源文件> of=<目标文件>

if(输入文件)参数告诉命令在哪里找源文件。

of(输出文件)告诉命令将目标文件写到哪里。

在使用这两个参数时应特别小心:将if和of这两个参数顺序颠倒其结果将会是毁灭性的。

更多提取方法
例如使用cat指令也可以提取

cat /dev/block/sde45 > /sdcard/boot2.img

可能遇到的问题

这边提到一个问题,有时候提取后当时查看提取到的分区大小为0.不要着急。这个是没有同步的原因。重新联机下twrp即可显示实际分区大小。有时候需要重启twrp。

查看分区大小

通过cat /proc/partitions可以查看分区大小。例如我们刚才备份的boot分区

当然以上描述的步骤只是纯手动进行备份分区。还可以借助第三方成品工具进行备份和回复。我前面很多博文有过解析。例如在开机界面使用工具箱备份或者9008端口和mtk的BROM模式里进行备份分区。

感兴趣的可以参考:玩机搞机---安卓机型mtk和高通芯片查看分区 导出分区 备份分区的一些工具分析

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/143318.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

三门问题-Swift测试

三门问题&#xff08;Monty Hall problem&#xff09;亦称为蒙提霍尔问题、蒙特霍问题或蒙提霍尔悖论&#xff0c;大致出自美国的电视游戏节目Lets Make a Deal。问题名字来自该节目的主持人蒙提霍尔&#xff08;Monty Hall&#xff09;。 参赛者会看见三扇关闭了的门&#xf…

TikTok的媒体革命:新闻业如何适应短视频时代?

在数字时代&#xff0c;媒体行业一直在不断演变和创新&#xff0c;以适应观众的变化需求和技术的发展。而在这个进化的过程中&#xff0c;短视频应用TikTok已经崭露头角&#xff0c;成为了一个重要的信息传播平台。 这篇文章将深入探讨TikTok如何引领了媒体的一场革命&#xf…

某高校的毕设

最近通过某个平台接的单子&#xff0c;最后Kali做的测试没有公开可以私聊给教程。 下面是规划与配置 1.vlan方面&#xff1a;推荐一个vlan下的所有主机为一个子网网段 连接电脑和http客户端的接口配置为access接口 交换机与交换机或路由器连接的接口配置为trunk接口---也可以…

数据分析回头看2——重复值检查/元素替换/异常值筛选

0、前言&#xff1a; 这部分内容是对Pandas的回顾&#xff0c;同时也是对Pandas处理异常数据的一些技巧的总结&#xff0c;不一定全面&#xff0c;只是自己在数据处理当中遇到的问题进行的总结。 1、当数据中有重复行的时候需要检测重复行&#xff1a; 方法&#xff1a;使用p…

RabbitMQ工作模式——Routing路由模式

1.Routing路由模式 Routing生产者代码 public class Producer_Routing {public static void main(String[] args) throws IOException, TimeoutException {//1.创建连接工厂ConnectionFactory factory new ConnectionFactory();//2.设置参数factory.setHost("172.16.98.…

Android T 禁止应用添加窗口的操作

序 什么情况下会出现我们需要禁止应用添加窗口的情况呢&#xff1f; 假如有一个应用的窗口&#xff0c;我们点开后是透明的或者会影响到系统的使用&#xff0c;那么我们就有必要对这个窗口操作一下 回顾我们在Android T WMS窗口相关流程中所讲的内容 禁止应用添加窗口的操作…

程序开发常用在线工具汇总

菜鸟工具# https://c.runoob.com/ 编码# ASCII码# https://www.habaijian.com/ 在线转换# https://www.107000.com/T-Ascii/http://www.ab126.com/goju/1711.html Base64# 在线转换# https://www.qqxiuzi.cn/bianma/base64.htmhttp://www.mxcz.net/tools/Unicode.aspx …

Diffusion Autoencoders: Toward a Meaningful and Decodable Representation

Diffusion Autoencoders: Toward a Meaningful and Decodable Representation (Paper reading) Konpat Preechakul, VISTEC, Thailand, CVPR22 Oral, Cited:117, Code, Paper 1. 前言 扩散概率模型 (DPM) 在图像生成方面取得了显着的质量&#xff0c;可与 GAN 相媲美。但是与…

引入嵌入和向量搜索时的三个错误

将非结构化数据表示为嵌入向量以及使用向量搜索进行基于嵌入的检索 (embedding-based retrieval - EBR) 比以往任何时候都更加流行。 嵌入到底是什么&#xff1f; Roy Keyes 在《嵌入的最短定义&#xff1f;》中对此进行了很好的解释。 嵌入是学习的转换&#xff0c;使数据更有…

React redux更新数据的诡异特征==》彻底掌握redux更新state机制的精髓

此文章是跟随我上一篇文章《Redux Toolkit中action派发但state值不更新的原因》写的。 本来一切都搞定了&#xff0c;此时我突发奇想&#xff1a; 如果让api服务端不发送包含x-pagination的header信息&#xff0c;web端会不会报错。因为按照web端 redux原有的逻辑&#xff1a;…

ubuntu与win之间共享文件夹

ubuntu上设置共享文件夹 第一步&#xff1a;点击【设置】或【虚拟机弹窗下面的【设置】选项】 第二步&#xff1a;进入【虚拟机设置】页面&#xff0c;点击【选项】如下图所示 第三步&#xff1a;启用共享文件&#xff1a;点击【总是启用】第四步&#xff1a;添加共享文件&…

【深度学习】RNN循环神经网络和LSTM深度学习模型

1. 循环神经网络 RNN&#xff08; Recurrent Neural Network&#xff09; 循环神经网络的一个核心是可以把前面的序列数据用到后面的结果预测里面。怎么样实现这一点呢。RNN 结构如下图所示。 前部序列的信息经处理后&#xff0c;作为输入信息传递到后部序列。 数学模型&…

机器学习第十三课--主成分分析PCA

一.高维数据 除了图片、文本数据&#xff0c;我们在实际工作中也会面临更多高维的数据。比如在评分卡模型构建过程中&#xff0c;我们通常会试着衍生出很多的特征&#xff0c;最后就得到上千维、甚至上完维特征;在广告点击率预测应用中&#xff0c;拥有几个亿特征也是常见的事…

使用U3D、pico开发VR(一)——将unity的场景在设备中呈现

最近srtp项目在赶进度&#xff0c;自己之前是在电脑端进行的开发。但是项目是VR端&#xff0c;因此需要重新学习&#xff0c;在此记录一下自己的学习经历。 首先&#xff0c;如何将unity的场景在自己的眼镜中进行呈现呢&#xff1f; 对此&#xff0c;我也找了很多教程&#xff…

Ubuntu 安装Kafka

在本指南中&#xff0c;我们将逐步演示如何在 Ubuntu 22.04 上安装 Apache Kafka。 在大数据中&#xff0c;数以百万计的数据源生成了大量的数据记录流&#xff0c;这些数据源包括社交媒体平台、企业系统、移动应用程序和物联网设备等。如此庞大的数据带来的主要挑战有两个方面…

软件架构的演化和维护

软件架构的演化和维护 定义 定义 顶不住了&#xff0c;刷题去了&#xff0c;不搞这个了&#xff0c;想吐。。。

GLTF编辑器也可以转换GLB模型

1、GLB模型介绍 GLB&#xff08;GLTF Binary&#xff09;是一种用于表示三维模型和场景的文件格式。GLTF是"GL Transmission Format"的缩写&#xff0c;是一种开放的、跨平台的标准&#xff0c;旨在在各种3D图形应用程序和引擎之间进行交换和共享。 GLB文件是GLTF文件…

目标检测:Edge Based Oriented Object Detection

论文作者&#xff1a;Jianghu Shen,Xiaojun Wu 作者单位&#xff1a;Harbin Institute of Technology Shenzhen 论文链接&#xff1a;http://arxiv.org/abs/2309.08265v1 内容简介&#xff1a; 1&#xff09;方向&#xff1a;遥感领域中的目标检测技术 2&#xff09;应用&…

云原生Kubernetes:K8S存储卷

目录 一、理论 1.存储卷 2.emptyDir 存储卷 3.hostPath卷 4.NFS共享存储 5.PVC 和 PV 6.静态创建PV 7.动态创建PV 二、实验 1.emptyDir 存储卷 2.hostPath卷 3.NFS共享存储 4.静态创建PV 5.动态创建PV 三、问题 1.生成pod一直pending 2.shoumount -e未显示共享…

编译vtk源码

vtk和opengl关系 VTK&#xff08;Visualization Toolkit&#xff09;和OpenGL&#xff08;Open Graphics Library&#xff09;都是用于图形可视化和渲染的重要工具&#xff0c;但它们在图形编程中的角色和关系略有不同。 OpenGL&#xff1a; OpenGL是一种开放的图形库和API&a…