首頁 > 科技

科普:微信備份方案+電腦版丟失資料恢復指南

2021-07-13 03:09:19

本文會先盤點常用的微信備份方案,隨後重點介紹電腦版微信的檔案結構、可以清理的內容、必須保留的檔案,以及備份的注意事項。

對於很多人,微信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使用者名AppDataRoamingApple ComputerMobileSync,剪下到桌面,然後手動新增。而現PC版有「給定關鍵字不在字典中」bug、生成的檔案過多、無法多選恢復、資料夾並非以微信暱稱命名、無搜尋功能等遺憾,只能等開發者修復。

常見的聊天資料丟失恢復方法

除了iPad版,Windows版是功能最殘缺、最沒人權的常用微信客戶端。電腦版沒有自己的訊息備份功能,且聊天資料和手機版隔離存在,相互之間無法相互備份、恢復、檢視,所以電腦版微信永遠無法當微信備份的彙總源(起碼在大改版之前是這樣)。

一旦手機丟失或app丟失重要聊天記錄,存在電腦版微信上的聊天資料就成了孤本。很多人被迫去研究電腦版微信的時候,又會發現其檔案架構看不懂,備份和恢復起來都很懵逼。

丟失最近幾天、幾個月(視最近聊天資料的大小而異),或完全丟失聊天資料都可用下面方法嘗試。微信官方的修復方法docs.qq.com/doc/DS0JqY1FEVmVnSWdB,精簡要概括如下:

退出並關閉電腦版微信,備份「All Usersconfig」、和「使用者名config和Msg資料夾」,以防萬一。

到「WeChat Files使用者名Msg」資料夾,找到檔名類似「XXX.db_Uncategorized xxxxxxx」和「XXX.db_SQLITE_NOTADB xxxxxxx」檔案(它們是原來的聊天資料庫檔案,因意外退出而被重新命名),手動給它們修改檔名,去掉被新增的字尾(改名前先把已經生成的同名檔案刪除)。

到「WeChat Files使用者名MsgMulti或MsgMultibak」,找到檔名類似「MSG數字(從0開始編號)_一大串數字」的檔案。例如把「MSG0_1625828833.bakdb」的檔案,重新命名為「MSG0.db」。根據檔案的修改時間和大小,判斷這是否是我們的目標。

把類似檔案重新命名修改後,重新登陸微信。

電腦版微信的資料結構、用途與意義

用截稿時的微信 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,會被電腦版微信發現,然後不讓傳送(沒用的知識又變多了)。


IT145.com E-mail:sddin#qq.com