7

科普:微信备份方案+电脑版丢失数据恢复指南

 3 years ago
source link: https://www.igao7.com/news/202107/fYlFwJamELHrR3FX.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
科普:微信备份方案+电脑版丢失数据恢复指南 | 爱搞机
科普:微信备份方案+电脑版丢失数据恢复指南

本文会先盘点常用的微信备份方案,随后重点介绍电脑版微信的文件结构、可以清理的内容、必须保留的文件,以及备份的注意事项。

对于很多人,微信Windows版(下文统称电脑版微信)是除浏览器外最重要的桌面软件。但电脑微信没有自己的备份功能,操作失误、系统重装、不知名的闪退,都有可能导致的聊天记录丢失。然而网络上并没有多少关于电脑版微信的内容,导致很多人求助无援。希望本文能对大家有一点帮助。

微信可能是地球上每天被“问候”最多的app。大家吐槽的,不是微信的技术,而是态度。毕竟“大家自然会来适配我,我为什么要改?”都已经是名梗了。微信的技术团队,哪怕有QQ团队一半的努力,亿万人的生活水平都会得到立竿见影的提升。缺乏竞争的情况下,一个不思进取的app当上国民软件,成为十几亿人每天都离不开的工具,说句难听点,就是国之不幸。

如果不是微信做得这么**,可能绝大部分人都没意识到备份的重要性。安卓自动更新时遇到签名变化、iOS的bug,都有可能导致微信连带聊天数据一起归零。电脑版微信一次偶然的登陆失败,也可能会丢失几个星期的聊天记录。

微信除了是把图片/视频高度压缩的“小而美”压缩工具,文件传输大小限制(新版本终于放宽到单文件1GB)、让人记忆犹新的图片和视频压缩(视频文件最大100MB)、电脑版小程序调不了窗口大小、PC版和手机版聊天记录无法合并、各种多选限制、备份传输慢且方法单一、功能残缺落后,等等等等一大堆问题都没解决的时候,微信更新等来的是表情动效和PC版朋友圈,反手一句好家伙。

几种常见的微信备份方案排名:

  • 最好的备份方案,是从手机备份到电脑。可多次覆盖、更新、增量合并,只会生成几个核心文件,方便管理;

  • 次一级,是国产手机系统自带的app备份功能,同样只会生成几个大文件,方便管理和备份,但只能同品牌手机间进行;接近的方法,还有iOS设备的iTunes备份,但会生成巨量零碎文件,速度慢。

  • 最后才是手机之间的聊天记录迁移,能跨安卓和iOS平台,但文件零碎,速度慢,只能存在手机里,管理和备份麻烦。

此外,还有WX Backup等PC/Mac工具,它们通过苹果iOS设备的iTunes非加密备份,最终把聊天记录输出成html网页格式,曲线救国地实现跨平台浏览手机备份的效果,自带时间线转跳,体验比微信自己还好↓

部分PC会遇到无法添加路径的问题,可把iTunes的备份从C:\Users\用户名\AppData\Roaming\Apple Computer\MobileSync,剪切到桌面,然后手动添加。而现PC版有“给定关键字不在字典中”bug、生成的文件过多、无法多选恢复、文件夹并非以微信昵称命名、无搜索功能等遗憾,只能等开发者修复。

常见的聊天数据丢失恢复方法

除了iPad版,Windows版是功能最残缺、最没人权的常用微信客户端。电脑版没有自己的消息备份功能,且聊天数据和手机版隔离存在,相互之间无法相互备份、恢复、查看,所以电脑版微信永远无法当微信备份的汇总源(起码在大改版之前是这样)。

一旦手机丢失或app丢失重要聊天记录,存在电脑版微信上的聊天数据就成了孤本。很多人被迫去研究电脑版微信的时候,又会发现其文件架构看不懂,备份和恢复起来都很懵逼。

丢失最近几天、几个月(视最近聊天数据的大小而异),或完全丢失聊天数据都可用下面方法尝试。微信官方的修复方法docs.qq.com/doc/DS0JqY1FEVmVnSWdB,精简要概括如下:

  1. 退出并关闭电脑版微信,备份“All Users\config”、和“用户名\config和Msg文件夹”,以防万一。

  2. 到“WeChat Files\用户名\Msg”文件夹,找到文件名类似“XXX.db_Uncategorized xxxxxxx”和“XXX.db_SQLITE_NOTADB xxxxxxx”文件(它们是原来的聊天数据库文件,因意外退出而被重命名),手动给它们修改文件名,去掉被添加的后缀(改名前先把已经生成的同名文件删除)。

  3. 到“WeChat Files\用户名\Msg\Multi或Msg\Multi\bak”,找到文件名类似“MSG数字(从0开始编号)_一大串数字”的文件。例如把“MSG0_1625828833.bakdb”的文件,重命名为“MSG0.db”。根据文件的修改时间和大小,判断这是否是我们的目标。

  4. 把类似文件重命名修改后,重新登陆微信。

电脑版微信的数据结构、用途与意义

用截稿时的微信 3.3.0 for Windows版为例(老版微信的媒体文件位置略有差别),如版本相差太远,描述和处理方法都可能会发生变化,此处仅供参考。电脑版微信的“设置-文件管理”中,可查看和修改微信数据的保存位置。

“WeChat Files/微信名”目录下有:

  • All Users:config文件夹和用户头像。config文件夹里核心的是config.data,记录了登陆信息,没有它就得重新扫码登陆。头像和.ini文件(是配置信息)都不是重要文件,登陆就会再次生成。而登陆失败或闪退时,可能会生成重复头像,用久了可能会积攒大量重复头像。

  • Applet:小程序目录。每打开一个小程序就会生成类似wxe73c2db202c7eebf的文件夹。里面是小程序的“.wxapkg”文件和库文件,大部分都是几MB的大小。即便是小程序运行过程中,也可以删除,下次打开又会自动下载。

  • “微信号”名称文件夹:不同版本的目录结构有变动,加上意外退出会生成的中断文件,所以如果微信电脑版用了很久的话,该文件夹会非常混乱。

在微信号文件夹中,各个文件夹用途如下:

Applet:又是小程序的文件夹,这次是存放配置记录等文件。里面的文件又多又碎,删掉的话,没有云同步功能的小程序会丢失本地的设置和配置记录。

ResUpdateV2:功能不明,运行时可删除,暂无发现影响,且自动重新生成,还不会变动。

backup和BackupFiles:都是备份相关,而BackupFiles存放的是手机到电脑的备份,每台手机都有唯一的文件夹。

BackupFiles文件夹结构↑

  • Backup.db:数据库文件,备份数据的引导。备份管理器显示的“首次、上次备份时间、备份时间段、聊天数”数据全在里面(如果原来的BAK_0_MEDIA和TEXT被移走或重名覆盖,就只能看到列表,但无法恢复);

  • BAK_0_MEDIA:聊天的图文、音视频数据;

  • BAK_0_TEXT:聊天文本信息;

  • log:记录文件,每次手机备份和恢复都会生成log.zip文件(女朋友/老婆偷偷查岗,或者恢复备份时,没想起哪个恢复过,可查看log文件的修改时间),删除和保留log都不影响数据恢复。

同一台手机,每次新增备份都会更新除log外的所有文件,“BAK_”后缀的数字从0-N,单个最大1.99GB(微信其实可以把聊天数据封装成单个文件)。3个文件需要对应,缺一不可,否则会提示“文件被移动或损坏,无法继续”。备份恢复过程中会生产Backup.db-shm、Backup.db-wal临时文件,完成后会自行删除。

config文件夹:登陆与聊天数据配置相关文件,恢复古老版本数据时需要它:

  • AccInfo.dat:账号登陆信息。All Users和自己微信号名下都有config文件夹。前者的config.data和后者的后者的AccInfo.dat,任意删掉一个都得重新扫码登陆

  • aconfig.dat、config.data、xxxx.ini:都是体积非常小的配置文件。

FileStorage:统一存放所有的缓存、表情、文件、图片、视频等文件。子文件夹大多会按月放置文件:

  • cache:聊天过程中的各种图片缓存;

  • CustomEmotion:表情包(会云同步,删掉后,下次点开个人表情,或点开有用过这些表情的聊天窗口,都会重新下载生成)。17年到现在,笔者的这个文件夹就已经膨胀到1.43G,3323个文件了;

  • General:里面有Emotion图标、高清头像(手动点开过某人的大图像)之类的文件,也是云同步的;

  • File:传输的word、excel、pdf、压缩包等文件;

  • Video:视频文件和它们的缩略图;

  • Image:图片文件,和缩略图一起被加密成dat文件(古老的电脑版微信和onenote都是保存原图片,有隐私隐患和尴尬)。通过异或处理编辑文件头并修改后缀可得到原图,但脱离聊天内容的图片也没有意义,这里就不详说提取方法了;

  • Temp/TempFromPhone:临时文件;

  • Sns:里面是cache缓存,被删除后会重新生成。不一定每次登陆都会生成新文件,但每次生成的文件都会记录下单次登陆的时间(又是查岗隐患?);

  • Fav、PAG:意义不明。

Msg:聊天数据文件,最重要的文件夹。内部是Multi文件夹和一堆.db后缀的数据库文件:

  • Multi:缓冲区,存放最近的聊天记录。客户端发生过意外关闭(登陆过程中初始化失败等),就会生成“bak”文件夹,里面是类似“MSG0.db1600310954990.IOErr”的文件,其数字串是出错时的时间戳。MSG0.db等文件是聊天缓存,一般大小是60MB,用于存放最近的聊天记录。改名或被删,会导致最近的聊天、传输的文件记录消失(群聊视频、传输的视频、录音等)。

  • 后缀名“.data”文件:ABTest、CheckResUpdate、XLabTest,可能是微信的测试/资源更新文件,可删;

  • 后缀名“.db”的数据库文件,当中最核心的是ChatMsg.db(聊天数据的本体,没有它的话,只有列表缩略文字,但没内容)、MicroMsg.db(没有它就得重新初始化,且聊天内容也会消失)。

要恢复聊天数据,但又不需要图片视频等数据,保留ChatMsg.db、MicroMsg.db和config文件夹即可(空间占用瞬间降低95.8789415%)。

小技巧与冷知识

电脑版微信的小程序“TNT模式”↑

  • 小程序也能做到TNT的效果,只是大部分小程序功能太弱,且调不了窗口大小(滴滴打车等极少数除外);

  • 建议开微信小号,然后顶置,用以代替文件助手。这样两边都会有记录,等于多个备份;

  • 不想在电脑上看到朋友圈?在手机微信的发现页关闭朋友圈,重新登陆之后,电脑端的入口也会跟着消失(伤敌一千,自损八百);

  • 活用分享菜单里的“在电脑上打开”。手机不方便看文章时,分享到“在电脑上打开”,下次登陆电脑版时会批量打开期间提交的文章,比永远不会再看的收藏夹更适合做稍后阅读工具;

  • 如“部分人头像丢失”,在聊天窗口,点对方信息中的头像即可重新生成;

  • 登陆失败闪退后,尽快去修改后缀.FatalErr、_SQLITE_CORRUPT XXXXXXXX、.bakdb等文件。新来的消息会记录在新文件上,而恢复原记录时,新的聊天记录会因被覆盖而丢失。文件后缀的那串数字的前10位进行“Unix时间戳”转换后就是文件修改的时间;

  • 刚新建的空word、excel、PPT,会被电脑版微信发现,然后不让发送(没用的知识又变多了)。


关注我们的微博@爱搞机

关注我们的微信公众号:爱搞机(playphone)

当然,也关注我们的哔哩哔哩账号:爱搞机


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK