admin管理员组文章数量:1531322
手动恢复MIUI备份数据
同样可以使用下面的方式恢复小米助手备份的数据,不过需要把小米助手备份的数据从bak所属的文件夹里面取出来再进行操作
问题描述
自用小米10 pro经常死机,于是打算恢复出厂设置,恢复之前进行了备份,有40G的数据,并且将MIUI/back/AllBackup文件夹备份至了电脑
可是当重置手机后,发现备份文件夹中没有descript.xml
文件,所以无法将文件夹放回原有目录进行数据恢复,新建备份再替换也不行,因为没有上述配置文件,于是就想办法从单独bak文件和新建descript.xml
两种方式入手进行恢复
注意:有些软件无法恢复,比如我的Chrome就无法恢复,不知道是备份出错还是什么原因
注意:恢复的APP会覆盖当前已经安装的APP,特别是聊天记录会覆盖当前已有的,所以请恢复前再次备份!!!
逐个恢复方式
- 新建一个app的备份(只选择一个APP即可)
- 从MIUI/back/AllBackup/备份文件夹中复制已备份文件的名称(xxxxx.bak)
- 将想要恢复的BAK数据重命名为上面复制的文件名(xxxxx.bak)
- 替换MIUI/back/AllBackup/备份文件夹中的原有文件(xxxxx.bak)
- 回到数据恢复界面
- 点击恢复
批量恢复(descript.xml)
批量恢复的思路是,自己重新生成descript.xml
文件
- 新建一个备份(只选择一个APP即可)
- 编辑MIUI/back/AllBackup/备份文件夹中的
descript.xml
文件 - 在
<packages>...<packages>
中添加需要恢复的app数据,数据格式如下
上方代码为格式化之后的代码,请勿使用格式化后的代码进行添加,否则无法识别<package> <packageName>com.lingkou.leetcode</packageName> <feature>-1</feature> <bakFile>LeetCode(com.lingkou.leetcode).bak</bakFile> <bakType>2</bakType> <pkgSize>53026614</pkgSize> <sdSize>0</sdSize> <state>1</state> <completedSize>53025792</completedSize> <error>0</error> <progType>0</progType> <bakFileSize>0</bakFileSize> <transingCompletedSize>0</transingCompletedSize> <transingTotalSize>0</transingTotalSize> <transingSdCompletedSize>0</transingSdCompletedSize> <sectionSize>0</sectionSize> <sendingIndex>0</sendingIndex> </package>
一键生成descript.xml
的脚本见下一部分 - 将需要恢复的bak文件放置到MIUI/back/AllBackup/备份文件夹中
- 回到数据恢复界面
- 点击恢复
- 如果数据恢复的时候卡在某一项,说明无法恢复,删除无法恢复和已经恢复的bak文件再重新恢复即可
descript.xml生成脚本
脚本环境:Python 3.8.5
#coding:utf-8
import os
def bak_files_path(dir):
#修改一:检查下面5处是否需要修改,尤其是最后两个需要进行检查
bakVersion = "2"
brState = "3"
autoBackup = "false"
device = "cmi"
miuiVersion = "V12.5.3.0.RJACNXM"
outputFile = dir + "/descript.xml"
f = open(outputFile, 'w', encoding="utf-8")
content = ""
for root, dirs, files in os.walk(dir):
print("当前操作目录: ", root)
for file in files:
try:
content += "<package><packageName>%s</packageName><feature>-1</feature><bakFile>%s</bakFile><bakType>2</bakType><pkgSize>53026614</pkgSize><sdSize>0</sdSize><state>1</state><completedSize>53025792</completedSize><error>0</error><progType>0</progType><bakFileSize>0</bakFileSize><transingCompletedSize>0</transingCompletedSize><transingTotalSize>0</transingTotalSize><transingSdCompletedSize>0</transingSdCompletedSize><sectionSize>0</sectionSize><sendingIndex>0</sendingIndex></package>" % (file[file.index("(") + 1: file.index(")")], file)
finally:
# 跳过不规则文件
continue
template = "<?xml version='1.0' encoding='UTF-8' standalone='yes' ?><MIUI-backup><jsonMsg></jsonMsg><bakVersion>%s</bakVersion><brState>%s</brState><autoBackup>%s</autoBackup><device>%s</device><miuiVersion>%s</miuiVersion><date>1621923274164</date><size>61445281</size><storageLeft>192279056384</storageLeft><supportReconnect>true</supportReconnect><autoRetransferCnt>0</autoRetransferCnt><transRealCompletedSize>0</transRealCompletedSize><packages>%s</packages><filesModifyTime /></MIUI-backup>"%(bakVersion, brState, autoBackup, device, miuiVersion, content)
f.write(template)
f.close()
# 只操作当前目录,不操作子目录
print("descript.xml 生成完毕 ->", outputFile)
return
# 修改二:在此处修改目录
bak_files_path("G:/djzhao/Mi10Pro/AllBackup/20210525_094444")
使用方式:
- 检查是否需要修改
bakVersion
、brState
、autoBackup
、device
和miuiVersion
(如果不知道修改成什么,新建一个备份,查看新建备份的descript.xml
文件中这几个变量的值) - 修改bak_files_path参数路径为你需要生成
descript.xml
文件的目录 - 运行此脚本
- 将备份数据所在目录所有内容(
.bak
和descript.xml
文件)放置到MIUI/back/AllBackup/备份文件夹中 - 回到数据恢复界面,打开名称为"5月25日 下午2:14"的备份记录
- 点击恢复
小米备份太不省心了。小米助手也是,太不好用!!!
很多网友说,小米售后欠我工资,哈哈哈。
版权声明:本文标题:小米MIUI备份小米助手数据通过BAK进行恢复 | 生成MIUI的descript.xml文件进行数据恢复 | 手动恢复MIUI备份小米助手数据 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1725688008a1036791.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论