本文目錄
先確認是不是同一種 Profile 清理異常
本文只處理一種明確情況:Clash Verge Rev v2.5.2 原本已有訂閱、本機 Profile 或全域 Merge/Script,正常結束、關機或重新啟動後再次開啟,設定清單突然只剩少數項目,原本的覆寫設定也可能變回空白範本。
官方 issue #7577 記錄了 macOS 啟動時 32 個 Profile 檔案被刪除 30 個;issue #7804 記錄了 Fedora 正常關機後的下一次啟動刪除 20 個檔案中的 18 個,後續評論還出現 Windows 與 macOS 報告。這些記錄都指向啟動階段的孤兒檔案清理,而不是訂閱服務同時清空了所有節點。
先開啟應用程式日誌,搜尋 Removed file、Profile 文件清理完成,以及單次啟動中異常大量的檔案刪除記錄。若磁碟中的 Profile 仍在、只有代理頁面空白,應先檢查核心通訊;若檔案存在但顯示 Invalid YAML,先修正格式或欄位;若只有一個訂閱更新失敗而其他 Profile 仍在,也不要直接還原整份應用程式備份。
四個訊號同時出現時,再依本文處理
| 檢查項目 | 符合本文 | 不符合時 |
|---|---|---|
| 用戶端版本 | Clash Verge Rev v2.5.2 或基於該程式碼的建置 | 按實際版本的 Release 與 issue 檢查 |
| 丟失範圍 | 多個訂閱、本機 Profile 或 Merge/Script 同時消失 | 單一訂閱先檢查回應與更新日誌 |
| 發生時機 | 退出、關機或重啟後的首次啟動 | 編輯後立即丟失應檢查儲存與驗證錯誤 |
| 日誌證據 | Removed file 或清理完成且刪除數異常 | 沒有證據時先儲存日誌,不推斷誤刪 |
還原前先保留整個應用程式資料目錄
還原時會把備份壓縮檔中的 config.yaml、verge.yaml、profiles.yaml 與 profiles 目錄重新寫入應用程式資料目錄。請先將目前的完整目錄和 clash-verge-rev-backup 子目錄複製到其他位置。
即使目前目錄看起來已不完整,也要先保留副本。如此一來,若選錯備份,或舊設定覆蓋新變更,仍可回復至原始狀態。
一般安裝通常會將資料放在系統資料目錄下的 io.github.clash-verge-rev.clash-verge-rev 資料夾;可攜版則放在程式旁的 .config 目錄。若不確定,請以用戶端設定中的應用程式目錄入口為準,不要只憑相似的資料夾名稱刪除資料。
常見應用資料位置
| 系統 | 普通安裝的常見位置 |
|---|---|
| Windows | %APPDATA%\io.github.clash-verge-rev.clash-verge-rev |
| macOS | ~/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev |
| Linux | $XDG_DATA_HOME/io.github.clash-verge-rev.clash-verge-rev;未設定時通常在 ~/.local/share 下 |
| 可攜版 | 程式目錄/.config/io.github.clash-verge-rev.clash-verge-rev |
恢復前必須保留的內容
- 整個應用資料目錄的只讀副本
- clash-verge-rev-backup 中現有的全部 ZIP
- logs 目錄和出現異常時的 latest.log
- 仍存在的 profiles.yaml、profiles 目錄、Merge.yaml 與 Script.js
- 原始訂閱 URL 或服務供應商提供的重新匯入入口
先找最新的完整本機備份
Clash Verge Rev v2.5.2 的本機備份位於應用資料目錄中的 clash-verge-rev-backup。自動備份檔案名可能帶有 -auto-scheduled、-auto-merge 或 -auto-script。
issue #7804 的報告者就是從三天前的 auto-script ZIP 找回全域指令碼。
官方 v2.5.2 備份實作會把 profiles 目錄、config.yaml、verge.yaml、可選 DNS 設定和 profiles.yaml 放進同一個 ZIP。
不要只因 ZIP 能開啟就直接還原:先複製一份,再確認備份壓縮檔內同時包含 profiles.yaml 與 profiles/,並選擇故障發生前且時間最近的備份。
有故障前的完整 ZIP
優先使用內建備份記錄恢復,並保留 ZIP 副本。
只有 auto-script 或 auto-merge ZIP
檢查時間與內容;它仍可能包含完整設定集,而不只是單個指令碼。
ZIP 缺少 profiles.yaml 或無法開啟
不要寫入活動目錄,改用更早備份或原始訂閱重建。
沒有任何 ZIP
儲存現存 profiles 檔案,再按原始來源逐項重建。
能開啟用戶端時,用備份記錄恢復
請保持系統代理與 TUN 關閉,開啟設定中的「備份設定」,在「本機備份」下選擇「查看記錄」。找到故障前的備份後,先按「匯出」另存一份,再按「還原」並確認。還原完成後,官方介面會重新啟動應用程式。
如果 ZIP 已經移到其他位置,先使用“匯入備份”把副本加入本機備份清單,再從記錄中恢復。不要把 ZIP 直接解壓縮到正在執行的應用目錄;內建恢復會在寫入後重新載入 config、profiles 與介面設定,手動覆蓋則容易讓磁碟檔案和記憶體狀態不一致。
內建恢復順序
關閉接管開關
先關 TUN 與系統代理,確認恢復失敗時裝置仍能直連。
開啟備份記錄
進入設定 → 備份設定 → 本機備份 → 查看記錄。
匯出唯一副本
把準備恢復的 ZIP 另存到應用資料目錄之外。
選擇故障前備份
按檔案名時間確認,不使用故障發生後的空設定備份。
確認恢復並等待重啟
還原期間不要強制結束處理程序;重新啟動後,先檢查 Profile,再開啟代理。
沒有完整備份時,按來源逐項重建
沒有可用 ZIP 時,不要編造 profiles.yaml 引用或隨意改隨機檔案名。先從儲存的訂閱 URL 重新匯入遠端 Profile;本機手寫設定則從故障前複製出的 profiles 檔案中逐個辨認,在新增本機 Profile 後貼上內容並讓用戶端重新產生索引關係。
全域 Merge.yaml 與 Script.js 若仍有舊副本,應先在離線副本中比較,再透過用戶端的全域擴展編輯入口恢復。只有備份中沒有舊內容時才重新編寫;不要從公開截圖反推其中可能含金鑰或內部網域的完整規則。
如果訂閱 URL 也丟失,應到原服務提供方重新取得或重置,而不是從瀏覽器歷史、公開日誌或他人的設定中拼接 token。恢復一個來源後就儲存一次狀態,避免一次性匯入所有內容後無法定位哪一步出錯。
按內容來源選擇恢復方式
| 丟失內容 | 優先來源 | 恢復方式 |
|---|---|---|
| 遠端訂閱 | 原服務供應商帳戶或已儲存的 URL | 重新匯入並核對節點數量與更新時間 |
| 本機 Profile | 儲存的 YAML 或應用目錄副本 | 新增本機設定後匯入內容並驗證 |
| Merge/Script | 故障前 ZIP 或離線副本 | 透過全域擴展入口恢復並儲存 |
| 只有零散隨機檔案 | 複製出的 profiles 目錄 | 逐個讀取辨認,不直接覆蓋索引 |
恢復後驗證 Profile、覆寫和實際連線
應用重啟後先不要立刻開啟 TUN。核對 Profile 數量、名稱、類型與目前選中項,再分別開啟 Merge 和 Script,確認關鍵規則不是空模板。遠端訂閱應能手動更新,本機 Profile 應透過設定驗證。
隨後固定一條已知可用節點,僅開啟系統代理完成一次實際 HTTPS 請求,並在連線記錄中確認網域、規則和出站。最後完整退出並重新開啟一次,再核對 Profile 數量與日誌;只有第二次啟動也沒有異常刪除,恢復才算穩定。
恢復完成標準
- 訂閱和本機 Profile 的數量、名稱及類型符合備份時狀態
- Merge.yaml 與 Script.js 的關鍵內容存在且能儲存
- 目前 Profile 能透過設定驗證並啟動 Mihomo
- 固定節點完成實際 HTTPS 請求,連線記錄顯示預期出站
- 完整退出後再次啟動,Profile 仍存在
- 新日誌中沒有異常的 Removed file 或大量刪除記錄
還原失敗時回復至先前保留的狀態
若恢復後應用無法啟動、Profile 數量更少或新設定驗證失敗,先關閉應用,不要連續嘗試多個 ZIP。把這次恢復後的應用資料目錄另存一份,再用最初儲存的現場副本恢復到修改前狀態。
裝置必須先保持 TUN 與系統代理關閉。還原後如果用戶端仍不可用,可以暫時不啟動它,保留日誌、備份 ZIP 與目錄副本,再在官方 issue 中提交脫敏的版本、系統、刪除計數和首條錯誤。不要為修復設定而卸載虛擬網路介面卡、重置整個系統網路或刪除所有應用資料。
失敗還原
停止繼續寫入
完整退出 Clash Verge Rev,確認相關處理程式結束。
儲存失敗結果
另存恢復後的目錄和日誌,便於比較是哪份檔案導致失敗。
還原原始現場
使用恢復前儲存的整個目錄副本,不混入第二份未知 ZIP。
保持直連等待處理
不要開啟系統代理或 TUN,使用已遮蔽敏感資訊的證據向官方回報。
修正已合併至開發分支,但尚未納入穩定版
2026 年 9 月 2 日,維護者在 issue #7804 中確認提交 44f6f6e 已移除不可靠的清理邏輯並關閉問題。該提交標題為“preserve files until explicit deletion”,程式碼直接刪除了啟動時 cleanup_orphaned_files 的呼叫和整套自動刪除實作。
截至 2026 年 9 月 3 日,官方 Releases 中最新穩定版仍是 2026 年 7 月 19 日發布的 v2.5.2,發布說明沒有包含這項後續修復。因此不能把“issue 已關閉”寫成“v2.5.2 已修復”,也不應僅為規避風險把日常裝置切到開發建置。
穩妥做法是先完成備份和恢復,減少不必要的重複啟動,等待官方發布明確包含 44f6f6e 的穩定版。新穩定版發布後仍要保留目前備份,核對 Release,再用完整退出、重啟和實際連線做一次回歸驗證。
以後同時保留自動備份和外部副本
恢復完成後,在備份設定中開啟定時本機備份,並保留“關鍵變更時自動備份”。v2.5.2 的實作會在計劃時間以及全域 Merge/Script 變更後建立封存,自動封存最多保留 20 份。這個數量限制意味著本機目錄不是永久歷史庫。
至少再把一份已驗證 ZIP 匯出到應用資料目錄之外,或設定自己控制的 WebDAV。每次大改訂閱覆寫、遷移用戶端或升級前手動建立並匯出一份;恢復演練時只在有還原副本的前提下進行。
長期保護清單
- 定時本機備份已開啟,頻率符合自己的修改節奏
- 關鍵變更時自動備份保持開啟
- 最近一份 ZIP 已匯出到應用資料目錄之外
- 封存已確認包含 profiles.yaml 與 profiles/
- 訂閱 URL、Profile 與備份從不公開分享
- 升級前核對穩定 Release 是否明確包含 44f6f6e 或後續等價修復
