適合切換節點後核心立即退出、更新後無法啟動,或匯入自訂設定後出現錯誤的 v2rayN 使用者。依照「保留日誌、確認啟動階段、找出最內層錯誤、修改來源設定、重新驗證」的順序排查,先恢復本機監聽,再檢查遠端連線,避免把所有問題都歸咎於節點無法使用。
先釐清:核心未啟動,還是啟動後連線失敗
v2rayN 是圖形介面用戶端,負責管理節點、產生設定並呼叫核心;Xray 則負責讀取設定、建立監聽及處理連線。用戶端視窗能開啟,不代表 Xray 已正常執行。即使已啟用系統代理,也只代表系統代理位址已設定,不代表對應連接埠確實有程序在監聽。
排查時先暫時關閉系統代理,避免瀏覽器持續連線到失效的本機連接埠。Windows 桌面介面通常可從系統匣選單的「系統代理」選擇「清除系統代理」。接著開啟主視窗下方的資訊或日誌區域,清除舊內容後,只啟動或重新啟動核心一次。不同版本的介面按鈕名稱可能不同,請以這次啟動產生的日誌為準。
| 觀察到的現象 | 優先判斷 | 下一步 |
|---|---|---|
| 程序未建立,並提示找不到檔案 | 啟動路徑或安裝內容異常 | 檢查實際呼叫的核心路徑 |
| 出現設定錯誤後,程序隨即退出 | JSON、協定欄位或資源載入失敗 | 查看錯誤鏈最內層的內容 |
| 出現 bind 錯誤 | 本機監聽連接埠無法繫結 | 查詢連接埠占用情況與監聽位址 |
| 已有啟動訊息及本機監聽,只有發出請求時才報錯 | 通常已進入連線階段 | 檢查節點位址、TLS 與路由 |
例如 connection refused、i/o timeout 或 TLS 交握失敗;若是在發出網頁請求後才發生,通常不是設定載入階段的問題。先確認日誌時間及本機連接埠狀態,不要只憑一個英文關鍵字就判定核心啟動失敗。
讀取日誌:保留完整錯誤鏈,別只複製最後一句
Xray 的錯誤訊息常會逐層包裝。外層可能只顯示 Failed to start,中間指出設定檔,最內層才說明是哪個連接埠、協定欄位或資源檔案出了問題。日誌中的 > 通常用來連接這些錯誤原因,不是要輸入的指令。
- 記錄版本資訊:在用戶端的「說明」→「關於」或對應的版本資訊頁面記下 v2rayN 版本;再從啟動日誌記錄 Xray 版本。用戶端版本不等於核心版本。
- 保留一次完整的啟動紀錄:從呼叫核心的第一行開始,保存至退出提示;不要把連續多次重試的內容混在一起。
- 找出最明確的線索:搜尋
bind、invalid、failed to load、not found,並查看前後幾行。 - 確認設定來源:確認目前選用的是一般節點還是自訂設定。前者應優先修改節點編輯視窗和用戶端設定;後者則需要檢查實際載入的 JSON 檔案。
如果目前日誌資訊太少,可到「設定」→「參數設定」尋找日誌層級選項,暫時改為 info 後重新啟動一次。仍無法定位時,再短暫使用 debug。除錯日誌可能包含連線目標,排查完成後請恢復原本層級,不要長期記錄或公開上傳。
連接埠占用:先找出使用中的程序,再修改本機監聽設定
連接埠占用發生在本機,與遠端伺服器是否在線無關。常見情況包括同時執行兩個 v2rayN、舊核心仍在執行,或其他程式使用了相同的監聽位址和連接埠。以下的 10808 僅供示範,實際排查時請換成日誌中的連接埠號碼。
錯誤:bind: address already in use
原因:在出現此提示的系統上,目標位址和連接埠已被其他監聽程序占用。
解決方法:查詢占用中的程序,正常關閉重複執行的執行個體;若該連接埠必須留給其他程式使用,就修改 v2rayN 的本機監聽連接埠。
錯誤:Only one usage of each socket address (protocol/network address/port) is normally permitted.
原因:這是 Windows 常見的通訊端繫結衝突訊息,通常會一併顯示具體的監聽位址。
解決方法:核對日誌中的位址和連接埠,並檢查是否有繫結至所有位址的程序占用相同連接埠。
在 Windows 開啟 PowerShell,先查詢監聽狀態及所屬程序。以下指令僅會查詢資訊,不會終止程序:
Get-NetTCPConnection -State Listen -LocalPort 10808 -ErrorAction SilentlyContinue |
Select-Object LocalAddress, LocalPort, OwningProcess
Get-NetTCPConnection -State Listen -LocalPort 10808 -ErrorAction SilentlyContinue |
ForEach-Object { Get-Process -Id $_.OwningProcess }
確認占用者是重複啟動的用戶端後,請透過該用戶端本身的退出選項關閉,不要直接結束身分不明的系統程序。如果要將監聽連接埠從 10808 改為 10818,請到「設定」→「參數設定」尋找本機監聽連接埠;部分版本會顯示為本機混合監聽連接埠。儲存並重新啟動核心後,也要更新手動輸入代理位址的應用程式。
結論:變更連接埠後,代理入口也要同步更新
核心改用 127.0.0.1:10818 後,仍指向 127.0.0.1:10808 的應用程式不會自動跟著變更。確認新連接埠正在監聽後,再重新設定系統代理,並核對應用程式內手動設定的代理資訊。
JSON 語法錯誤:先修正結構,再確認協定設定
JSON 解析失敗代表核心尚未進入正常的連線流程。一般節點的執行設定由 v2rayN 產生,手動修改產生的檔案通常會在下次啟動時被覆寫;應回到節點編輯視窗或相關設定修改來源。只有使用自訂設定時,才需要直接檢查載入的 JSON 檔案。
錯誤:invalid character '}' looking for beginning of object key string
原因:物件最後一個項目後多出逗號等語法問題,可能使解析器在等待下一個鍵名時遇到右大括號。
解決方法:檢查錯誤位置附近及前一個項目,刪除多餘的尾隨逗號,並確認鍵名使用英文雙引號。
錯誤:unexpected EOF
原因:讀取內容提前結束,常見原因包括檔案遭截斷、引號未成對,或括號缺漏。
解決方法:檢查檔案結尾及括號配對;若內容不完整,請從可信任的原始設定重新匯出,不要貿然補上括號。
以下僅示範 log 設定的語法,並非可直接代理流量的完整設定。錯誤範例在 "warning" 後多了一個逗號:
{
"log": {
"loglevel": "warning",
}
}
正確的 JSON 寫法如下。中文彎引號不能取代英文雙引號;JSON 數值和布林值也不應任意改成字串。
{
"log": {
"loglevel": "warning"
}
}
- 先檢查語法,再確認語意:JSON 能成功解析,只能證明結構可讀,不能保證協定、傳輸層與伺服器設定相符。
- 謹慎解讀行號:日誌標示的位置可能只是解析器發現問題的地方,真正的錯誤也可能在上一行。
- 避免將設定貼到線上工具:含有憑證的設定應在本機檢查,不要上傳至公開的格式化工具。
協定欄位缺漏:回到節點編輯視窗修改
JSON 成功讀取後,Xray 還會驗證協定及傳輸設定。VMess、VLESS、Trojan 的身分識別欄位各不相同,不能只改協定名稱就完成轉換。VLESS 常用 UUID 作為使用者識別碼,Trojan 則使用密碼;TLS、REALITY、傳輸方式及 flow 也必須符合伺服器端的設定。
錯誤:invalid UUID
原因:需要 UUID 的使用者欄位未填、格式錯誤,或混入複製時帶入的字元。
解決方法:在主清單開啟目前節點的編輯視窗,核對使用者 ID;從原始節點資訊重新複製,移除前後空白後儲存。
| 日誌線索 | 檢查項目 | 修改位置 |
|---|---|---|
| 使用者識別碼解析失敗 | VMess、VLESS 的 UUID 是否完整 | 目前節點編輯視窗中的使用者 ID |
| 位址或連接埠相關錯誤 | 伺服器位址不可空白,遠端連接埠須介於 1–65535 | 目前節點的位址與連接埠 |
| 安全層或傳輸設定建立失敗 | 安全類型、傳輸類型及相關欄位是否受目前核心支援 | 節點編輯視窗中的對應設定頁面 |
| flow 或 REALITY 欄位相關錯誤 | 是否符合伺服器提供的參數 | 節點的流量控制與安全層設定 |
沒有啟動錯誤,不代表所有欄位都設定正確。例如 TLS 的伺服器名稱與憑證不符,通常要到連線遠端時才會顯現。不要透過啟用略過憑證驗證來掩蓋問題;應先核對裝置時間、伺服器名稱及伺服器憑證。REALITY 必須依照對應版本及伺服器要求填寫驗證參數,不能直接套用一般 TLS 設定。
訂閱節點修改後,後續更新可能會重新匯入來源參數。若只是為了定位問題,可先複製一份節點供本機測試,並清楚標記用途;確認問題出在來源資料後,再修正訂閱來源。不要把暫時修改誤當成訂閱長期有效的設定。
核心檔案或規則檔案遺失:依日誌路徑還原
找不到 Xray 執行檔時,通常是在建立程序階段就失敗;找不到 geoip.dat 或 geosite.dat 時,程序可能已經執行,但載入引用這些資源的路由規則時失敗。這兩種情況需要分開處理,不能一概透過更新訂閱解決。
錯誤:The system cannot find the file specified.
原因:Windows 啟動程序時找不到指定檔案;需根據前文路徑判斷是否為核心檔案。
解決方法:核對啟動日誌中的執行檔路徑,確認安裝套件已完整解壓縮、目錄未遭移動,並檢查安全軟體的隔離紀錄。
錯誤:failed to load geosite
原因:可能是規則檔案遺失、無法讀取,或規則引用了檔案中不存在的分類;光看這段錯誤開頭,無法判斷是哪一種情況。
解決方法:繼續查看後續錯誤,分別核對資源路徑、讀取權限及分類名稱,再還原對應的規則資料或修正路由引用。
- 確認安裝方式:使用壓縮檔時,請先完整解壓縮至一般目錄再啟動,不要直接從壓縮檔中開啟主程式。
- 確認系統架構:選擇符合系統架構的安裝套件和核心。架構不相符可能會導致無法執行,而非檔案遺失。
- 檢查安全軟體紀錄:先確認檔案來源及遭隔離的原因,再依照系統程序處理。不要把關閉整套防護當成一般排錯步驟。
- 檢查路由資源:若日誌指出規則分類不存在,請更新規則資料或修正規則分類名稱;檔案存在不代表其中包含所需分類。
需要還原安裝內容時,可前往用戶端下載頁面依平台選擇安裝套件。請先備份自行維護的設定,再還原程式檔案;排錯時不要任意刪除整個使用者資料目錄。一般檔案遺失也不應優先用管理員權限來掩蓋,只有日誌明確指出權限問題時,才針對特定路徑處理。
修復後驗證:每次只修改一項
每修正一項,就重新啟動並保存新日誌。先確認設定載入成功,再確認本機監聽,最後透過應用程式發出一次請求。這樣才能區分「原本的啟動錯誤已解決」和「接著出現新的遠端連線問題」。兩種問題可能同時存在,但不應一次修改連接埠、協定、DNS 和路由。
- 第一步:確認同一次啟動的日誌中,後面沒有緊接著出現致命錯誤或程序退出;不要只看到啟動提示就停止檢查。
- 第二步:使用前述 PowerShell 指令查詢實際連接埠,確認監聽程序確實是這次啟動的核心。
- 第三步:恢復系統代理,檢查瀏覽器或目標應用程式使用的代理入口,再發出一次請求並觀察日誌。
- 第四步:若只出現連線逾時或交握錯誤,請改查遠端參數,不要再反覆修改已成功載入的 JSON 結構。
視窗可以開啟,為什麼仍提示核心啟動失敗?
圖形介面和核心是不同的程序。開啟日誌區域,找出這次呼叫 Xray 後的具體錯誤,再檢查對應的本機連接埠是否正在監聽;介面可操作不代表核心狀態正常。
將 10808 改為 10818 後,為什麼網頁還是無法開啟?
先確認新連接埠已開始監聽,再重新設定系統代理。若應用程式中有手動輸入代理設定,請同步將連接埠改為 10818,並確認所選的代理類型與監聽入口相容。
直接修改執行中的 JSON,為什麼重新啟動後又還原了?
一般節點的執行設定會由 v2rayN 重新產生。請回到目前節點的編輯視窗,或前往「設定」→「參數設定」修改來源選項;只有明確使用自訂設定時,才維護對應檔案。
切換核心後可以啟動,就代表修好了嗎?
還需要確認協定和欄位是否受到支援。不同核心支援的設定不盡相同;請記錄切換前後的版本與錯誤,只保留符合節點參數的設定,不要把切換核心當成欄位錯誤的通用解法。
最後應留下三項明確結果:使用哪個版本的核心、是哪一項設定導致失敗,以及修改後哪個連接埠成功開始監聽。這些資訊比「重新安裝後就好了」更有參考價值,也方便日後更新、匯入訂閱或調整路由時快速追查。