v2rayN 能開啟,但核心啟動失敗時,通常要依序檢查「啟動程式、讀取設定、驗證參數、監聽連接埠」各個環節。本文以 Windows 版 v2rayN 為例,說明如何保留完整的啟動日誌、確認連接埠對應的處理程序、檢查 JSON 與核心檔案,並在修復後確認監聽恢復正常;若核心已啟動但連線逾時,請改查連線與路由問題。
先判斷:核心未啟動,還是啟動後無法連線
v2rayN 是用來管理節點、訂閱與設定的圖形化用戶端,實際建立連線的是它呼叫的核心。主視窗能開啟、伺服器清單能顯示,不代表核心已在執行。反過來說,網頁無法開啟也不一定是核心啟動失敗;節點無法連線、DNS 解析異常和路由規則套用錯誤,都可能發生在核心正常啟動之後。
這個流程用來判斷故障所在的環節,並不代表所有核心內部都嚴格依照相同順序執行。日誌中的 failed to start 往往只是外層摘要,真正原因可能藏在後續的 failed to listen、檔案路徑或解析錯誤中。請保留完整錯誤訊息及前後幾行,不要只截取最後一句。
| 觀察結果 | 優先判斷 | 下一步 |
|---|---|---|
| 出現設定解析錯誤,接著程序立即結束 | 設定或參數問題 | 核對錯誤欄位、檔案路徑與核心類型 |
| 出現監聽失敗訊息,並包含本機位址和連接埠 | 連接埠衝突或繫結受限 | 查詢該連接埠對應的處理程序 |
| 找不到程式檔案,且未出現核心啟動輸出 | 檔案、路徑或解壓縮不完整 | 確認實際呼叫的執行檔 |
| 本機監聽正常,但送出請求時才逾時 | 連線階段故障 | 檢查節點、DNS、系統時間與路由 |
保留一份完整的啟動日誌
先記下用戶端版本、目前節點使用的協定、選用的核心,以及最後一次變更內容。選單名稱會依版本而異,以下列出常見的中文介面路徑;如果本機位置不同,請搜尋相同名稱的設定項目,不要為了對上選單路徑而重設所有設定。
-
記錄目前狀態
記下「說明」→「關於」中的用戶端版本;在「設定」→「參數設定」中確認本機監聽連接埠與 Core 類型相關選項。如果該版本在獨立頁面管理核心,也請記下該頁面顯示的核心名稱。
-
縮小排查範圍
先備份設定,暫時關閉 TUN,並只選一個節點進行測試。系統代理只是應用程式流量的入口,並非啟動核心的必要條件;先不要同時變更分流、DNS 和訂閱內容。
-
重新觸發啟動
在主視窗底部的日誌區記下目前時間,再透過工具列或系統匣中的重新啟動服務選項觸發一次啟動。避免連續點擊,以免多次失敗訊息混在一起。
-
儲存原始內容
複製這次啟動的檔案路徑、錯誤鏈與結束提示。如果核心輸出被隱藏,請在日誌相關設定中啟用顯示核心日誌後重試;分享日誌前,請遮蔽訂閱網址、節點登入資訊與個人檔案路徑。
連接埠遭占用:從監聽位址找出對應的處理程序
以下英文是常見錯誤片段,位址、連接埠與外層前綴請以本機日誌為準。範例使用 127.0.0.1:10808,並非所有版本都固定使用此預設值;請查詢設定或錯誤訊息中顯示的實際連接埠。
錯誤:bind: address already in use
原因與解法:目標位址與連接埠已遭占用。查出正在監聽的處理程序,關閉重複執行的用戶端,或為目前的入站設定選擇未使用的連接埠,再重新啟動。
錯誤:Only one usage of each socket address (protocol/network address/port) is normally permitted.
原因與解法:這是 Windows 常見的通訊端位址衝突訊息。請查看同一則錯誤中的連接埠,再檢查目前的監聽程序;不能只憑這句話就判定是遠端伺服器故障。
在 PowerShell 中執行以下唯讀指令。第一個指令會列出 TCP 監聽紀錄與 PID,第二個指令會查看對應的處理程序名稱、執行檔路徑與啟動參數;若路徑資訊為空白,可再到工作管理員核對,必要時以系統管理員權限查詢。
Get-NetTCPConnection -LocalPort 10808 -State Listen -ErrorAction SilentlyContinue |
Select-Object LocalAddress, LocalPort, OwningProcess
Get-NetTCPConnection -LocalPort 10808 -State Listen -ErrorAction SilentlyContinue |
ForEach-Object {
Get-CimInstance Win32_Process -Filter "ProcessId = $($_.OwningProcess)"
} |
Select-Object ProcessId, Name, ExecutablePath, CommandLine
- 同一個用戶端開了兩份:檢查系統匣與工作管理員,正常結束多餘的執行個體,再啟動要保留的那一份。
- 舊核心程序殘留:先結束 v2rayN,再依據路徑與命令列確認殘留程序;確認所屬程式後再結束,避免依名稱一次終止多個程序。
- 其他服務占用:不要停止不明的系統服務。可在「設定」→「參數設定」中,將相應的本機監聽連接埠從範例中的 10808 改為已確認未使用的 10818,儲存後重新啟動。
- 變更後同步更新連線入口:手動設定代理的瀏覽器、終端機或應用程式仍可能指向舊連接埠,請一併更新。如果日誌顯示 UDP 繫結失敗,請改用
Get-NetUDPEndpoint -LocalPort 10808查詢。
結論:先查出監聽程序,再決定是否更換連接埠
先確認占用連接埠的程序是否為目前用戶端的正常核心;如果日誌是舊紀錄,而目前監聽正常,就不必更換連接埠。只有重新重現問題時仍發生衝突,才結束重複的執行個體或調整對應的入站設定。
JSON 錯誤:先修正語法,再檢查欄位含義
JSON 語法正確,不代表核心一定能接受該設定。缺少引號、括號或多打一個逗號屬於語法錯誤;欄位位置錯誤、傳輸參數不受目前核心支援,則屬於設定含義或相容性問題。不要一看到「設定錯誤」就反覆更新訂閱。
錯誤:unexpected EOF
原因與解法:讀取資料時提前到達結尾,可能是設定檔遭截斷或括號未閉合。先查看外層日誌,確認正在解析的是設定檔而非訂閱回應,再還原完整檔案。
錯誤:invalid character '}' looking for beginning of object key string
原因與解法:尚未讀取物件中的鍵就遇到結束括號,常見原因是最後一個項目後多打一個逗號。請在對應物件中刪除尾隨逗號,再用實際使用的核心重新驗證。
以下設定片段僅用於示範嚴格 JSON 中尾隨逗號的問題,並非可直接執行的完整代理設定。物件與陣列的最後一個項目後都不能保留逗號,字串則應使用英文雙引號。
{
"log": {
"loglevel": "warning"
}
}
一般節點模式下,v2rayN 通常會依節點與設定產生執行用設定檔。直接修改產生的檔案,可能在重新啟動時被覆寫;請回到節點編輯視窗或設定頁面修改來源。自訂設定模式則需要修改匯入的原始檔案,並確認日誌中的路徑指向該檔案。
- 檢查
inbounds和outbounds等陣列與物件的括號是否成對,並確認布林值沒有誤寫成字串。 - 如果日誌提供行、欄或位元組偏移位置,請檢查該處及前一個項目;缺少逗號時,錯誤位置常落在下一個欄位。
- 不要把訂閱文字、單一節點分享連結或用戶端備份檔案直接當成核心執行用的 JSON。
- 不要將完整設定上傳至線上格式化工具;優先使用本機編輯器,以免節點位址、使用者識別資訊與金鑰外洩。
核心檔案遺失與參數不相容:分別處理
如果尚未出現任何核心本身的輸出,請先確認程式是否確實啟動。Windows 顯示 The system cannot find the file specified. 時,需依據錯誤中的檔名判斷:缺少的可能是核心執行檔,也可能是啟動時需要的其他檔案,不能直接認定訂閱失效。
-
確認檔案路徑
從啟動錯誤中找出實際呼叫的路徑,並確認檔案是否存在。不要只確認資料夾裡有同名檔案,也要確認用戶端設定指向的正是該檔案。
-
完整解壓縮
將適用於目前系統與處理器架構的完整用戶端套件,解壓縮到新的獨立資料夾並保留原有目錄結構。不要直接在壓縮檔預覽視窗中執行,也不要只複製主程式來覆蓋舊資料夾。
-
檢查是否遭到封鎖
查看 Windows 安全性中的保護歷程記錄與檔案權限。如果檔案遭到處理,請先確認來源與偵測原因,再決定是否還原或重新取得;不要為了排除問題而關閉整體防護。
-
確認使用的核心
在「設定」→「參數設定」中檢查 Core 類型相關設定,也要查看目前節點是否有指定專用核心。優先使用用戶端隨附的核心檔案,避免混用不同來源的程式與設定。
參數不相容通常表示已進入設定讀取階段。例如,VLESS 節點的部分安全或傳輸設定需要相應核心支援;VMess 節點也不能只憑協定名稱,就認定所有參數都通用。V2Ray 與 Xray 的設定有部分共通之處,但欄位與功能並不完全相同,不應把切換核心當成萬用修復方法。
.\xray.exe version
.\xray.exe run -test -config ".\config.json"
測試通過表示該檔案可由這個核心讀取,且通過設定檢查;不代表連接埠一定未遭占用,也不代表節點一定連得上。若測試失敗,請保留最內層錯誤,依照錯誤指出的協定、傳輸、安全設定或外部檔案進行修正;每次只改一項,再重新測試。
修復後重新測試:監聽、代理入口與請求日誌
恢復設定時,先確認核心能持續執行,再恢復系統代理,最後單獨測試 TUN。如果一開始就同時啟用所有入口,新增的權限、虛擬網卡或路由問題可能會掩蓋原本的故障。
- 啟動階段:重新啟動服務一次,確認這次日誌沒有新的設定錯誤、繫結失敗或立即結束訊息。
- 監聽階段:使用前述連接埠查詢指令檢查實際使用的連接埠;監聽 PID 應對應本次啟動的核心。
- 請求階段:恢復所需的代理入口並送出一次請求,再查看用戶端日誌,確認請求是否進入核心。若未啟用存取日誌,沒有存取紀錄不代表請求沒有進入。
- 功能階段:基本代理可用後,再恢復 TUN 與自訂路由;如果這時才發生故障,請檢查新增的功能,而非繼續修改 JSON 標點。
重新啟動電腦後又提示連接埠遭占用,怎麼辦?
查詢錯誤連接埠的 PID 與程式路徑,再檢查工作管理員中的啟動應用程式和系統匣執行個體。如果有兩個用戶端副本設為自動啟動,請保留一個啟動項目;不要只更換連接埠,卻讓重複啟動的情況持續發生。
以系統管理員身分執行就正常,是否應該一直這樣使用?
先關閉 TUN,確認一般本機代理能否啟動。一般高位連接埠監聽通常不需要系統管理員權限;若只在啟用 TUN 時失敗,請檢查日誌中的權限與虛擬網卡訊息,不要預設要長期以系統管理員身分執行。
更新訂閱能修復 JSON 錯誤嗎?
只有錯誤來自節點資料,且訂閱來源已修正時,更新才可能有效。自訂設定的括號錯誤、本機連接埠衝突與核心檔案遺失都需要在本機處理;請先確認錯誤路徑指向哪一份設定。
沒有啟動錯誤,但網頁仍然逾時,怎麼辦?
先確認應用程式使用的是目前的監聽連接埠,再檢查節點連線、DNS、系統時間與路由。此時核心啟動問題已排除,可繼續查看疑難排解手冊,依照連線階段縮小範圍。
v2rayN 用戶端下載
需要重新取得完整用戶端時,請依系統與處理器架構選擇安裝套件。先備份現有設定,在獨立資料夾確認基本啟動正常,再移轉節點與自訂設定。
查看下載選項 查看教學