百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

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

liuian 2025-01-29 16:47 25 浏览

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

对于很多人,微信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,会被电脑版微信发现,然后不让发送(没用的知识又变多了)。


相关推荐

总结下SpringData JPA 的常用语法

SpringDataJPA常用有两种写法,一个是用Jpa自带方法进行CRUD,适合简单查询场景、例如查询全部数据、根据某个字段查询,根据某字段排序等等。另一种是使用注解方式,@Query、@Modi...

解决JPA在多线程中事务无法生效的问题

在使用SpringBoot2.x和JPA的过程中,如果在多线程环境下发现查询方法(如@Query或findAll)以及事务(如@Transactional)无法生效,通常是由于S...

PostgreSQL系列(一):数据类型和基本类型转换

自从厂子里出来后,数据库的主力就从Oracle变成MySQL了。有一说一哈,贵确实是有贵的道理,不是开源能比的。后面的工作里面基本上就是主MySQL,辅MongoDB、ES等NoSQL。最近想写一点跟...

基于MCP实现text2sql

目的:基于MCP实现text2sql能力参考:https://blog.csdn.net/hacker_Lees/article/details/146426392服务端#选用开源的MySQLMCP...

ORACLE 错误代码及解决办法

ORA-00001:违反唯一约束条件(.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。ORA-00017:请求会话以设置跟踪事件ORA-00018:超出最大会话数ORA-00...

从 SQLite 到 DuckDB:查询快 5 倍,存储减少 80%

作者丨Trace译者丨明知山策划丨李冬梅Trace从一开始就使用SQLite将所有数据存储在用户设备上。这是一个非常不错的选择——SQLite高度可靠,并且多种编程语言都提供了广泛支持...

010:通过 MCP PostgreSQL 安全访问数据

项目简介提供对PostgreSQL数据库的只读访问功能。该服务器允许大型语言模型(LLMs)检查数据库的模式结构,并执行只读查询操作。核心功能提供对PostgreSQL数据库的只读访问允许L...

发现了一个好用且免费的SQL数据库工具(DBeaver)

缘起最近Ai不是大火么,想着自己也弄一些开源的框架来捣腾一下。手上用着Mac,但Mac都没有显卡的,对于学习Ai训练模型不方便,所以最近新购入了一台4090的拯救者,打算用来好好学习一下Ai(呸,以上...

微软发布.NET 10首个预览版:JIT编译器再进化、跨平台开发更流畅

IT之家2月26日消息,微软.NET团队昨日(2月25日)发布博文,宣布推出.NET10首个预览版更新,重点改进.NETRuntime、SDK、libraries、C#、AS...

数据库管理工具Navicat Premium最新版发布啦

管理多个数据库要么需要使用多个客户端应用程序,要么找到一个可以容纳你使用的所有数据库的应用程序。其中一个工具是NavicatPremium。它不仅支持大多数主要的数据库管理系统(DBMS),而且它...

50+AI新品齐发,微软Build放大招:拥抱Agent胜算几何?

北京时间5月20日凌晨,如果你打开微软Build2025开发者大会的直播,最先吸引你的可能不是一场原本属于AI和开发者的技术盛会,而是开场不久后的尴尬一幕:一边是几位微软员工在台下大...

揭秘:一条SQL语句的执行过程是怎么样的?

数据库系统能够接受SQL语句,并返回数据查询的结果,或者对数据库中的数据进行修改,可以说几乎每个程序员都使用过它。而MySQL又是目前使用最广泛的数据库。所以,解析一下MySQL编译并执行...

各家sql工具,都闹过哪些乐子?

相信这些sql工具,大家都不陌生吧,它们在业内绝对算得上第一梯队的产品了,但是你知道,他们都闹过什么乐子吗?首先登场的是Navicat,这款强大的数据库管理工具,曾经让一位程序员朋友“火”了一把。Na...

详解PG数据库管理工具--pgadmin工具、安装部署及相关功能

概述今天主要介绍一下PG数据库管理工具--pgadmin,一起来看看吧~一、介绍pgAdmin4是一款为PostgreSQL设计的可靠和全面的数据库设计和管理软件,它允许连接到特定的数据库,创建表和...

Enpass for Mac(跨平台密码管理软件)

还在寻找密码管理软件吗?密码管理软件有很多,但是综合素质相当优秀且完全免费的密码管理软件却并不常见,EnpassMac版是一款免费跨平台密码管理软件,可以通过这款软件高效安全的保护密码文件,而且可以...