先判斷:是介面閃退,還是 mihomo 核心退出

點兩下客戶端後沒有視窗,不一定代表程式當掉。有些客戶端會沿用上次的「啟動後最小化」設定,只在通知區域顯示圖示。先點一下工作列右側的展開箭頭,再開啟「工作管理員」→「詳細資料」,確認客戶端程序是否仍在執行。排除視窗只是隱藏的情況後,再繼續檢查。

Clash 客戶端包含介面、設定管理和代理核心等部分。介面可能正常開啟,但 mihomo 核心啟動失敗;也可能核心仍在背景執行,介面卻無法正常呈現。這兩種情況的處理方式不同,不能只憑「打不開」就下結論。

畫面狀況優先檢查可記錄的線索
視窗出現後馬上消失應用程式當機記錄、設定殘留故障模組、例外狀況代碼、發生時間
白屏,但程序持續執行介面執行階段、呈現程序是否使用 WebView2、是否出現呈現錯誤
卡在啟動畫面,或顯示無法連線至核心服務狀態、控制介面、核心記錄服務錯誤、監聽位址、設定解析錯誤
視窗正常,但網頁無法開啟系統代理、節點與規則實際代理連接埠、連線記錄、命中規則

第一步:記下版本與 Windows 錯誤,避免反覆重新安裝

先記下客戶端名稱、完整版本號、Windows 版本及安裝套件架構。客戶端版本和 mihomo 核心版本是兩項不同資訊,不能互相取代。若能開啟介面,請從「關於」或版本資訊頁面記錄;若無法開啟,則查看安裝套件名稱及執行檔的「內容」→「詳細資料」。檔案內容不一定會列出核心版本,若找不到,請如實註明。

  1. 按 Win + R,輸入 winver,記下 Windows 版本和作業系統組建。
  2. 前往「設定」→「系統」→「系統資訊」,查看「系統類型」以區分 x64 和 ARM64,並依客戶端的發布說明選擇對應版本。
  3. 按 Win + R,輸入 perfmon /rel,在可靠性監視器中找到剛才的應用程式失敗記錄,開啟技術詳細資料。
  4. 若找不到相關記錄,再執行 eventvwr.msc,前往「Windows 記錄」→「應用程式」,依啟動失敗的時間查找錯誤。

請保留「錯誤應用程式名稱」、「錯誤模組名稱」、「例外狀況代碼」和發生時間。記錄中出現某個系統 DLL,只能表示當機過程涉及該模組,不能據此判定 DLL 已損毀。不要從來路不明的下載網站單獨下載 DLL,也不要同時變更執行階段、服務和設定,否則無法判斷哪個步驟真正有效。

第二步:白屏時,先確認客戶端是否依賴 WebView2

並非所有 Clash 客戶端都依賴 WebView2。以 Tauri 開發的 Windows 客戶端通常會用它顯示介面;舊版 Clash for Windows 使用 Electron,通常內含自己的 Chromium;Flutter 客戶端也不能直接套用 WebView2 的修復方式。請先查看目前客戶端的專案說明和安裝提示,再決定是否處理執行階段。

檢查與修復順序

  1. 開啟 Windows 11「設定」→「應用程式」→「已安裝的應用程式」,搜尋 Microsoft Edge WebView2 Runtime。Windows 10 可在「應用程式與功能」中搜尋,部分系統也能從「控制台」→「程式和功能」查看。
  2. 若客戶端明確要求 WebView2,而系統尚未安裝,請使用 Microsoft 官方提供的 Evergreen 執行階段安裝程式。離線環境請選擇符合系統架構的獨立安裝套件。
  3. 若已安裝,請先關閉依賴它的應用程式,再使用系統提供的「修改」功能,或透過安裝程式提供的修復入口處理。入口會因執行階段的安裝方式而異,不必硬找名稱相同的按鈕。
  4. 安裝或修復完成後,重新啟動客戶端。若安裝程式要求重新啟動 Windows,請先完成重新啟動,再進行下一項測試。

電腦已安裝 Microsoft Edge 瀏覽器,不代表客戶端需要的 WebView2 執行階段一定完整。反過來說,白屏也不一定是 WebView2 損毀:呈現程序異常、使用者介面快取損毀或安全軟體攔截,都可能造成類似情況。

若記錄明確指出圖形呈現問題,可更新裝置製造商提供的顯示卡驅動程式,並確認客戶端是否提供「硬體加速」選項。只有目前版本的文件明確支援時,才使用相應選項或啟動參數;不要把 Electron 的參數直接套用到 Tauri 或 Flutter 程式。

第三步:先關閉 TUN,分開檢查服務與一般代理

服務模式通常用來讓背景元件以所需權限執行;TUN 模式則透過虛擬網卡接管流量,兩者功能不同。客戶端可以安裝服務而不啟用 TUN;一般系統代理通常也不需要讓整個介面一直以系統管理員身分執行。啟動失敗時,請分別確認介面、核心、服務和 TUN。

介面仍可開啟時

  1. 先關閉 TUN 模式,保留一般代理作為測試環境。各客戶端的設定名稱不同,請以實際介面為準。
  2. 完全結束客戶端後重新開啟,確認是否能進入主畫面、讀取設定並顯示核心記錄。
  3. 若一般模式運作正常,再從客戶端的服務管理入口檢查服務狀態;需要安裝或修復服務時,請確認 Windows 權限提示中的程式來源。
  4. 服務恢復後,再單獨啟用 TUN,檢查是否出現建立虛擬網卡、設定路由或權限錯誤。

卡在連線至服務的階段時

按 Win + R,輸入 services.msc。服務名稱會因客戶端而異,不要照網路教學猜名稱。開啟對應服務的內容,確認執行檔路徑仍指向目前的安裝資料夾。將可攜版資料夾移到新位置後,舊服務可能仍指向原路徑;解除安裝客戶端後留下的服務也可能造成衝突。

優先使用目前客戶端提供的服務修復或重新安裝入口。不要直接執行來源不明的服務刪除指令,也不要把舊客戶端的服務程式複製到新客戶端資料夾。若錯誤只在啟用 TUN 時出現,也請記錄同時執行的 VPN、虛擬機器網路軟體及其他 TUN 客戶端;逐一結束後再測試,不要直接重設所有網卡。

第四步:找出連接埠占用來源,別只改 7890

記錄中的 address already in use 或 bind 錯誤,通常表示監聽失敗。7890 常見於代理連接埠設定,9090 常見於控制介面範例,但並非所有客戶端都固定使用這些數值。請從實際產生的設定讀取 mixed-port、port、socks-port 和 external-controller。

例如,設定使用 mixed-port: 7890,控制介面位址為 127.0.0.1:9090,可以在 PowerShell 檢查這兩個 TCP 監聽連接埠:

Get-NetTCPConnection -State Listen -LocalPort 7890,9090 -ErrorAction SilentlyContinue |
  Select-Object LocalAddress,LocalPort,OwningProcess

輸出中的 OwningProcess 是程序 ID。將它與「工作管理員」→「詳細資料」中的 PID 比對,再查看程序路徑。若沒有輸出,表示查詢當下未找到這兩個 TCP 監聽連接埠,但不能排除其他連接埠或 UDP 監聽問題。若記錄指出 UDP 衝突,請使用 Get-NetUDPEndpoint 檢查實際連接埠。

  • 舊客戶端占用:從舊客戶端的通知區域選單正常結束,並確認其背景服務是否也已停止。
  • 同一客戶端重複啟動:先結束已確認屬於該客戶端的殘留程序,再重新啟動一次。
  • 其他程式占用:確認用途後,再選擇調整其中一方的連接埠;不要結束身分不明的系統程序。

變更代理連接埠後,請同步確認 Windows 系統 Proxy 位址;變更控制介面後,則要確認介面連線位址與核心設定一致。若控制介面需要金鑰,即使位址正確,認證不一致仍可能顯示「無法連線至核心」。排查期間請讓控制介面只監聽本機,不要為了連線成功而任意開放至所有網卡。

第五步:隔離設定殘留,保留可還原的備份

覆蓋安裝通常只會取代程式檔案,不會清除使用者資料。因此,升級後閃退、還原舊設定後白屏,可能與殘留設定或設定結構變更有關。建議先建立備份並測試新設定,而不是一開始就刪除整個資料夾。

如何找到資料資料夾

若介面可以開啟,優先使用客戶端提供的設定資料夾、資料資料夾或記錄資料夾入口。若介面無法開啟,請在檔案總管的網址列分別輸入 %APPDATA% 和 %LOCALAPPDATA%,再依客戶端文件及資料夾內的記錄確認資料歸屬。可攜模式也可能將資料存放在程式旁邊。不同客戶端和版本的資料夾名稱並不統一。

  1. 完全結束客戶端,並停止已確認屬於它的背景服務,避免備份時檔案仍在寫入。
  2. 將已確認的資料資料夾複製到本機備份位置,保留訂閱、覆寫設定、規則、憑證和記錄。
  3. 確認備份可讀取後,將原資料夾重新命名,例如在資料夾名稱後加上 .backup-20260821,不要立刻刪除。
  4. 重新啟動客戶端,讓它建立預設資料。先不要還原訂閱和覆寫設定,觀察視窗與核心能否穩定啟動。
  5. 若恢復正常,先匯入一份訂閱,再逐項還原自訂規則、覆寫設定和 TUN 設定,每次變更後都重新測試。

若「全新資料正常,但還原某項設定後失敗」,問題範圍就縮小到該項設定。YAML 縮排錯誤、引用不存在的策略群組,或使用目前核心不支援的欄位,都可能導致核心拒絕載入,但不一定會讓介面當掉。請根據記錄區分解析失敗與程序當機,再查閱 YAML 手冊;不要把所有問題都歸咎於訂閱失效。

第六步:檢查安全性攔截,再進行一次有計畫的重新安裝

若介面啟動後提示找不到核心檔案,或每次重新安裝後同一個檔案又消失,請開啟「Windows 安全性」→「病毒與威脅防護」→「保護歷程記錄」,核對攔截時間、檔案路徑和偵測名稱。路徑與錯誤時間必須相符,不能只因看見歷程記錄中的警示,就認定目前問題由此造成。

先確認安裝套件來源、發行者及目前專案的系統需求。只有確認檔案可信並理解警示內容後,才考慮針對特定專案採取還原措施;不建議關閉整體防護,也不建議將整個下載資料夾加入排除清單。公司或機構設備的原則限制,請交由管理員處理。

  • 從可信的發布管道重新下載符合架構的完整安裝套件,避免只複製單一執行檔。
  • 確認舊程序已結束,並依客戶端說明處理舊服務;保留上一節建立的資料備份。
  • 安裝至穩定的本機路徑,先使用預設資料啟動,再還原訂閱。
  • 若問題只在某次升級後重現,請記錄升級前後的完整版本號,並依專案說明評估是否回退;不要讓舊版本直接覆寫新版的資料結構。

舊版 Clash for Windows 的 Electron 介面問題,與使用 mihomo 的新客戶端服務問題並不相同。切換客戶端時,也不要直接複製整個舊資料資料夾。請分別遷移訂閱、自訂規則和覆寫內容;選擇客戶端時可參考 客戶端比較。

修復後的驗收與問題回報

能看到視窗只是第一步。請依照以下順序完成驗證,確認問題確實解決,而不只是暫時避開錯誤。

  1. 重新啟動驗證:正常結束後再開啟,確認介面和核心都能啟動,不必反覆透過工作管理員結束程序。
  2. 一般代理驗證:使用實際代理連接埠測試系統 Proxy,查看連線記錄和命中規則。節點延遲測試成功,不代表應用程式的連線一定經過代理。
  3. TUN 驗證:確實需要時再啟用 TUN,檢查服務、虛擬網卡和記錄;若不需要,保持關閉也能正常使用一般代理。
  4. 結束程式驗證:正常結束客戶端,確認系統 Proxy 是否依預期還原,避免下次開機時瀏覽器連到無人監聽的連接埠。

若問題仍未解決,回報時請附上:Windows 版本與架構、客戶端和核心版本、問題發生時間、重現步驟、是否啟用服務與 TUN、錯誤前後的少量記錄,以及使用全新資料資料夾測試的結果。版本資訊能協助維護者對照程式變更;逐項測試結果則可避免重複建議。

後續設定可參考匯入訂閱步驟和連線驗證方法。處理啟動問題時,請遵守「一次只改一項」:先恢復介面,再恢復核心,最後恢復服務、TUN 和自訂設定。