手机备份/恢复分区(boot/system/userdata)、数据的几种方法

这篇具有很好参考价值的文章主要介绍了手机备份/恢复分区(boot/system/userdata)、数据的几种方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前 提:

有root权限
备份恢复boot/system分区为例

先查看分区信息:

方法一 :
命令:ls -l /dev/block/platform/mtk-msdc.0/by-name/

root@GiONEE_GBL7319:/ # ls -l /dev/block/platform/mtk-msdc.0/by-name/
lrwxrwxrwx root     root              2022-05-20 21:16 boot -> /dev/block/mmcblk0p7
lrwxrwxrwx root     root              2022-05-20 21:16 cache -> /dev/block/mmcblk0p21
lrwxrwxrwx root     root              2022-05-20 21:16 expdb -> /dev/block/mmcblk0p10
lrwxrwxrwx root     root              2022-05-20 21:16 flashinfo -> /dev/block/mmcblk0p23
lrwxrwxrwx root     root              2022-05-20 21:16 frp -> /dev/block/mmcblk0p17
lrwxrwxrwx root     root              2022-05-20 21:16 keystore -> /dev/block/mmcblk0p14
lrwxrwxrwx root     root              2022-05-20 21:16 lk -> /dev/block/mmcblk0p5
lrwxrwxrwx root     root              2022-05-20 21:16 logo -> /dev/block/mmcblk0p9
lrwxrwxrwx root     root              2022-05-20 21:16 metadata -> /dev/block/mmcblk0p19
lrwxrwxrwx root     root              2022-05-20 21:16 nvdata -> /dev/block/mmcblk0p18
lrwxrwxrwx root     root              2022-05-20 21:16 nvram -> /dev/block/mmcblk0p2
lrwxrwxrwx root     root              2022-05-20 21:16 oemkeystore -> /dev/block/mmcblk0p12
lrwxrwxrwx root     root              2022-05-20 21:16 para -> /dev/block/mmcblk0p6
lrwxrwxrwx root     root              2022-05-20 21:16 proinfo -> /dev/block/mmcblk0p1
lrwxrwxrwx root     root              2022-05-20 21:16 protect1 -> /dev/block/mmcblk0p3
lrwxrwxrwx root     root              2022-05-20 21:16 protect2 -> /dev/block/mmcblk0p4
lrwxrwxrwx root     root              2022-05-20 21:16 recovery -> /dev/block/mmcblk0p8
lrwxrwxrwx root     root              2022-05-20 21:16 seccfg -> /dev/block/mmcblk0p11
lrwxrwxrwx root     root              2022-05-20 21:16 secro -> /dev/block/mmcblk0p13
lrwxrwxrwx root     root              2022-05-20 21:16 system -> /dev/block/mmcblk0p20
lrwxrwxrwx root     root              2022-05-20 21:16 tee1 -> /dev/block/mmcblk0p15
lrwxrwxrwx root     root              2022-05-20 21:16 tee2 -> /dev/block/mmcblk0p16
lrwxrwxrwx root     root              2022-05-20 21:16 userdata -> /dev/block/mmcblk0p22

boot分区对应实际的目录是/dev/block/mmcblk0p7
方法二:
根目录/下的fstab.xxx和/dev/recovery.fstab也可查相关信息

备 份:

方法一:cat
命令:cat /dev/block/mmcblk0p7 > /sdcard/bootBAK.img

root@GiONEE_GBL7319:/ # cat /dev/block/mmcblk0p7 > /sdcard/bootBAK.img

查看结果:

root@GiONEE_GBL7319:/ # ls -l /sdcard/boot*
-rw-rw---- root     sdcard_r  7145472 2015-06-30 07:04 boot.img
-rw-rw---- root     sdcard_r 16777216 2022-05-20 21:45 bootBAK.img
-rw-rw---- root     sdcard_r  7485440 2022-02-28 08:22 bootF103_magisk.img

bootBAK.img大小是16777216字节
对比一下:
先查看分区大小
命令:cat /proc/partitions

root@GiONEE_GBL7319:/ # cat /proc/partitions
major minor  #blocks  name

 254        0     491520 zram0
   7        0      18944 loop0
 179        0   15267840 mmcblk0
 179        1       3072 mmcblk0p1
 179        2       5120 mmcblk0p2
 179        3      10240 mmcblk0p3
 179        4      10240 mmcblk0p4
 179        5        512 mmcblk0p5
 179        6        512 mmcblk0p6
 179        7      16384 mmcblk0p7       对应boot分区
 179        8      16384 mmcblk0p8
 179        9       8192 mmcblk0p9
 179       10      10240 mmcblk0p10
 179       11        512 mmcblk0p11
 179       12       2048 mmcblk0p12
 179       13       6144 mmcblk0p13
 179       14       8192 mmcblk0p14
 179       15       5120 mmcblk0p15
 179       16       5120 mmcblk0p16
 179       17       1024 mmcblk0p17
 179       18      32768 mmcblk0p18
 179       19      37888 mmcblk0p19
 179       20    2097152 mmcblk0p20
 179       21     409600 mmcblk0p21
 179       22   12563968 mmcblk0p22
 179       23      16384 mmcblk0p23
 179       96       4096 mmcblk0rpmb
 179       64       4096 mmcblk0boot1
 179       32       4096 mmcblk0boot0

mmcblk0p7的blocks是16384块,每块大小1024字节
boot大小 = 16384 * 1024 = 16777216字节,与备份出来的大小一样。
方法二:dd
命令:dd if=/dev/block/mmcblk0p7 of=/sdcard/bootBAK2.img

1|root@GiONEE_GBL7319:/ # dd if=/dev/block/mmcblk0p7 of=/sdcard/bootBAK2.img
32768+0 records in
32768+0 records out
16777216 bytes transferred in 2.001 secs (8384415 bytes/sec)

或者:

 dd if=/dev/block/mmcblk0p7 of=/sdcard/bootBAK2.img bs=1024 count=16384

命令说明 :

  • if 表示输入(数据源)
  • of 表示输出(备份到哪)
  • bs 即blocks
  • count 是多少个bs
    结果:
root@GiONEE_GBL7319:/ # ls -l /sdcard/boot*
-rw-rw---- root     sdcard_r  7145472 2015-06-30 07:04 boot.img
-rw-rw---- root     sdcard_r 16777216 2022-05-20 21:45 bootBAK.img
-rw-rw---- root     sdcard_r 16777216 2022-05-20 21:56 bootBAK2.img
-rw-rw---- root     sdcard_r  7485440 2022-02-28 08:22 bootF103_magisk.img

方法三:cpio
命令:find /system -print | cpio -ovd -H newc > /sdcard/system.cpio

root@GiONEE_GBL7319:/ # find /system -print | busybox cpio -ovd -H newc > /sdcard/system.cpio

root@GiONEE_GBL7319:/ # ls -l /sdcard/system*
-rw-rw---- root     sdcard_r 1916820332 2022-05-25 23:11 system.cpio

root@GiONEE_GBL7319:/ # file /sdcard/system.cpio
/sdcard/system.cpio: ASCII cpio archive (SVR4 with no CRC)

方法四:tar
命令:tar cvzpf system-bak0526.tar.gz --exclude=/system/lost+found --exclude=/system/recovery-from-boot.bak /system

备份/system时排除掉./lost+found , recovery-from-boot.bak
先查看/system数据:

c:\tmp\fastboot>adb shell
shell@GiONEE_GBL7319:/ $ su
root@GiONEE_GBL7319:/ # ls /system
app
bin
build.prop
data
etc
fonts
framework
lib
lib64
lost+found
media
plugin
priv-app
recovery-from-boot.bak
res
tts
usr
vendor
xbin

执行备份:

root@GiONEE_GBL7319:/ # cd /sdcard
root@GiONEE_GBL7319:/sdcard # busybox tar cvzpf system-bak0526.tar.gz --exclude=/system/lost+found --exclude=/system/recovery-from-boot.bak  /system

参数说明:

  1. -c 建立压缩文件
  2. -x 解开压缩文件
  3. -v 显示列表
  4. -z 用gzip进行压缩
  5. -p 保留原来的属性
  6. -f 指定压缩文档名
  7. –exclude 排除的文件或目录

查看结果:

root@GiONEE_GBL7319:/sdcard # ll sys*
-rw-rw---- root     sdcard_r 1132545851 2022-05-26 16:04 system-bak0526.tar.gz

130|root@GiONEE_GBL7319:/sdcard # busybox tar -tf system-bak0526.tar.gz|grep flash_image
system/xbin/flash_image

===========================

恢 复 分 区/数据:

方法一:dd
命令:dd if=/sdcard/bootBAK2.img of=/dev/block/mmcblk0p7

root@GiONEE_GBL7319:/ # dd if=/sdcard/bootBAK2.img of=/dev/block/mmcblk0p7

方法二:fastboot flash
命令:fastboot flash boot bootBAK2.img

c:\tmp\fastboot>adb reboot bootloader

c:\tmp\fastboot>fastboot devices
8T8HBIZSBU9PCM4S        fastboot

c:\tmp\fastboot>fastboot flash boot bootBAK2.img

方法三:flash_image
命令:flash_image partition file.img
有时候partition不识别boot, 则改为/dev/block/mmcblk0p7试试

root@GiONEE_GBL7319:/ # flash_image boot /sdcard/bootBAK2.img
failed with error: -1

root@GiONEE_GBL7319:/ # flash_image /dev/block/mmcblk0p7 /sdcard/bootBAK2.img

方法四:cpio
命令:cpio -iuvd < /sdcard/system.cpio
参数说明:

  1. -i 将数据文件复制到系统中,copy-in
  2. -o 将系统数据复制成文件,copy-out
  3. -u 自动将较新文件覆盖旧文件
  4. -v 显示清单
  5. -d 自动建立目录
  6. -p 原版备份,不进行额外处理
  7. -H format
    format有如下格式:
    bin : The obsolete binary format. (2147483647 bytes)
    odc : The old (POSIX.1) portable format. (8589934591 bytes)
    newc : The new (SVR4) portable format, which supports file systems having more than 65536 i-nodes. (4294967295 bytes)

另外说明 :

dd命令可备份 :文件、分区、磁盘、光盘等
用法说明:

Usage: dd [if=FILE] [of=FILE] [ibs=N obs=N/bs=N] [count=N] [skip=N] [seek=N]
        [conv=notrunc|noerror|sync|fsync]
        [iflag=skip_bytes|fullblock] [oflag=seek_bytes|append]

Copy a file with converting and formatting

        if=FILE         Read from FILE instead of stdin
        of=FILE         Write to FILE instead of stdout
        bs=N            Read and write N bytes at a time
        ibs=N           Read N bytes at a time
        obs=N           Write N bytes at a time
        count=N         Copy only N input blocks
        skip=N          Skip N input blocks
        seek=N          Skip N output blocks
        conv=notrunc    Don't truncate output file
        conv=noerror    Continue after read errors
        conv=sync       Pad blocks with zeros
        conv=fsync      Physically write data out before finishing
        conv=swab       Swap every pair of bytes
        iflag=skip_bytes        skip=N is in bytes
        iflag=fullblock Read full blocks
        oflag=seek_bytes        seek=N is in bytes
        oflag=append    Open output file in append mode
        status=noxfer   Suppress rate output
        status=none     Suppress all output

N may be suffixed by c (1), w (2), b (512), kB (1000), k (1024), MB, M, GB, G

/dev/null : 回收站
/dev/zero :生成0字符文章来源地址https://www.toymoban.com/news/detail-500463.html

到了这里,关于手机备份/恢复分区(boot/system/userdata)、数据的几种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 服务器数据恢复-EXT3分区误删除邮件的数据恢复案例

    服务器数据恢复环境: 一台服务器有一组由8块盘组建的RAID5阵列,EXT3文件系统。 服务器故障: 由于工作人员的误操作导致文件系统中的邮件丢失。用户需要恢复丢失的邮件数据。 服务器数据恢复过程: 1、将故障服务器中所有磁盘以只读方式进行全盘镜像备份。后续的数据

    2024年02月14日
    浏览(47)
  • MySQL 数据备份和数据恢复

    目录 一、数据备份 1、概述 2、MySQLdump命令备份 1)备份单个数据库中的所有表 2) 备份数据中某个或多个表 3) 备份所有数据库 4)备份多个库 5) 只备份一个表或多个表结构 二、数据恢复 三、数据备份与恢复应用 1、概述 数据备份是数据库管理员非常重要的工作之一。系统意

    2024年02月11日
    浏览(42)
  • MySQL数据备份与恢复

    备份的主要目的: 备份的主要目的是:灾难恢复,备份还可以测试应用、回滚数据修改、查询历史数据、审计等。 日志: MySQL 的日志默认保存位置为: ##配置文件 ##通用查询日志,用来记录MySQL的所有连接和语句,默认是关闭的 ##二进制日志(binlog),用来记录所有更新了数据

    2024年02月11日
    浏览(47)
  • 数据库运维——备份恢复

    数据库备份,数据库为school,素材如下 1.创建student和score表 CREATE  TABLE  student ( id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  , name  VARCHAR(20)  NOT NULL , sex  VARCHAR(4)  , birth  YEAR, department  VARCHAR(20) , address  VARCHAR(50)  ); 创建score表。SQL代码如下: CREATE  TABLE  score ( id  INT(10)  NOT NU

    2024年02月16日
    浏览(66)
  • ES数据备份与恢复

    场景:ES线上的数据和服务迁移到另外的机器上去 老ES机器ip:172.16.0.1 新ES机器ip:172.16.0.2 一. 首先, 在备份之前要在es/config/elasticsearch.yml添加仓库配置: path.repo: [\\\"/mnt/backup/es_backup\\\"] 1. 2.重启ES 二. 在老机器上 3.创建备份仓库 在/mnt/backup下新建名为es_backup的仓库 POST /_snapsho

    2024年02月16日
    浏览(39)
  • ElasticSearch 数据备份与恢复

    以下为背景 Elasticsearch 7.6.2单点,8.3.3单点 Docker 部署 当前使用场景:部分index,数据量较大,需要在跨版本的ES之间进行迁移 一、前提说明 1. Elasticsearch备份 2. 备份恢复方案 二、Elasticsearch 环境准备 1.查看Elasticsearch所有版本 2.部署2个Elasticsearch单点服务 三、数据备份 1. 增加

    2024年02月10日
    浏览(40)
  • MySQL 数据备份与恢复

    本次使用的MySQL版本为8.0.20 目录 一、数据备份 1.使用 MySQLdump 命令备份 (1)使用MySQLdump备份单个数据库中的所有表 案例:完成数据插入后,输入备份命令如下: (2)使用MySQLdump备份数据库中的某个表 案例:备份booksDB数据库中的books表,输入语句如下: (3)使用MySQLdump备

    2024年02月11日
    浏览(43)
  • 如何备份与恢复MySQL数据库数据

    目录 一、MySQL备份 备份方式 完全备份 差异备份 增量备份 二、常见的备份方法 物理冷备 专用备份工具 mysqldump 或 mysqlhotcopy 启用二进制日志进行增量备份 第三方工具备份 三、MySQL完全备份 四、数据库完全备份分类 物理冷备份与恢复 mysqldump备份与恢复 五、物理冷备份与恢复

    2024年02月16日
    浏览(73)
  • MongoDB的数据恢复与备份

    MongoDB的数据恢复与备份          在MongoDB中,备份和恢复数据是一项关键任务,可以确保数据的安全性并防止意外数据丢失。本文将介绍MongoDB的数据恢复与备份原理并提供相关的编程代码和配置。          1. 数据备份原理     MongoDB提供了多种备份数据的方法,包括使

    2024年02月09日
    浏览(45)
  • Vault数据备份恢复-MySQL

    Vault提供了可靠的功能来保护数据库和其他关键数据。 对于MySQL数据库,Vault提供了一个易于使用的解决方案,可以自动创建和管理定期备份,并支持从备份中快速恢复数据。本文将介绍Vault后端存储MySQL的备份恢复,包括如何设置Vault、如何进行数据备份和还原、如何保护备份

    2024年02月14日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包