まず「メイン画面が起動しない」「コアの起動に失敗する」「バックグラウンドで接続が切れる」を切り分け、ランタイム、完全な展開、ポート、VPNの許可を順に確認します。WindowsまたはAndroidで起動時の問題が起きた方向けです。エラーを記録し、設定を一つずつ変更すれば、ノードの障害をクライアントの破損と誤認しにくくなります。
起動時の問題:まず障害箇所を特定する
「開かない」といっても、ダブルクリック後に画面が表示されない場合と、メイン画面は開くものの接続時に失敗する場合があります。確認すべき箇所はそれぞれ異なります。v2rayNは設定やプロキシの状態を管理するデスクトップアプリで、実際の接続はV2RayまたはXrayのコアが担います。画面が表示されても、コアがポートの待ち受けに成功したとは限りません。Androidでも、アプリのプロセス終了、VPNサービスの未確立、サービス確立後の通信失敗を区別してください。
| 症状 | 優先して確認 | 今は行わないこと |
|---|---|---|
| ダブルクリック直後に終了し、メイン画面が表示されない | ランタイムのエラー表示、完全な展開、システムイベントログ | ノードを何度も変更したり、ルーティング設定を変更したりする |
| 画面は表示されないが、タスク マネージャーにプロセスがある | 通知領域のアイコン、複数起動、ウィンドウの位置 | すぐにクラッシュと決めつける |
| 画面は開くが、コアの起動時に失敗する | コアのログ、ポートの競合、コアファイルのアクセス権 | すべてのサブスクリプションを先に削除する |
| Androidアプリは開くが、接続ボタンが反応しない | VPNの許可、他のVPNサービス、システムの制限 | 先にアプリのデータを消去する |
| 画面ロック後に接続が切れる | バッテリー最適化、バックグラウンド実行の許可 | バックグラウンド制限をプロトコル非対応と決めつける |
作業を始める前に、OS、インストールパッケージのアーキテクチャ、選択した画面の種類、問題が起きた時刻、エラー全文を記録してください。ログを共有する場合は、サブスクリプションURL、ノードのドメイン、ユーザー識別情報、認証情報を隠してください。「失敗」の一言だけを切り取らないでください。
.NETランタイム:パッケージの要件に合わせて導入
v2rayNのすべてのパッケージが同じ外部ランタイムに依存するわけではありません。フレームワーク依存パッケージは、PCに対応するランタイムが必要です。自己完結型パッケージには、実行に必要なコンポーネントが含まれています。WPF版の画面にはWindowsデスクトップフレームワークが必要です。Microsoft.WindowsDesktop.Appが見つからないというエラーが表示された場合は、基本の.NET Runtimeだけでなく、Windows Desktop Runtimeを確認してください。デスクトップ版の具体的な依存関係は、エラー表示とパッケージ内の説明に従ってください。
エラー:You must install or update .NET to run this application.
原因と対処:フレームワーク依存アプリが、互換性のあるランタイムを見つけられていません。ダイアログに表示されたFramework、Version、Architectureを確認し、必要なランタイムの系列とアーキテクチャに合うものをインストールしてから、アプリを再起動してください。
エラー:The framework 'Microsoft.WindowsDesktop.App' was not found.
原因と対処:必要なWindowsデスクトップランタイムがありません。インストール済みのWindows Desktop Runtimeを確認し、アーキテクチャがアプリと一致していること、必要なランタイム系列を満たしていることを確認してください。
コマンドプロンプトで次のコマンドを実行すると、現在のdotnetホストから認識できるランタイムを一覧表示できます。コマンドが見つからない場合は、端末からそのホストを検出できなかっただけで、PCにランタイムがまったくないとは限りません。Windowsの「設定」→「アプリ」→「インストールされているアプリ」も確認してください。旧バージョンのWindowsでは「アプリと機能」と表示される場合があります。
dotnet --list-runtimes
- アーキテクチャを確認:x64アプリには、対応するx64ランタイムが必要です。PCにx86ランタイムがインストールされていても、x64の要件を満たすとは限りません。
- ランタイムの系列を確認:より新しいメジャーバージョンをインストールしても、古い系列のアプリがそのまま動くとは限りません。「.NETをインストール済み」という理由で、エラーに表示されたバージョン要件を無視しないでください。
- 種類を確認:SDKは開発者向けです。起動時の問題を解決するには、通常、要件に合うランタイムだけで十分です。WPFに必要なデスクトップコンポーネントは、それを含まない基本ランタイムでは代用できません。
- パッケージ内の情報を確認:フレームワーク依存パッケージの
*.runtimeconfig.jsonには、通常、必要なフレームワークとバージョンが記録されています。内容の確認にとどめ、依存関係を回避する目的で変更しないでください。
展開とブロック:別のフォルダーで再現を確認
圧縮ファイルのプレビューから直接起動する、実行ファイルだけをコピーする、新旧のパッケージを同じ場所に上書きする、といった操作で依存ファイルが見つからなくなることがあります。日本語のフォルダー名が必ず問題を起こすわけではありません。短いパスを使うのは、パスの長さ、同期ソフトによる使用中状態、フォルダーのアクセス権などの要因を切り分けるためです。日本語を使えないと決めつける必要はありません。
-
元のフォルダーを残す
クライアントを完全に終了し、通知領域のプロセスも終了したことを確認します。元のフォルダーはバックアップとして残し、サブスクリプションや設定を削除しないでください。バックアップフォルダー全体を公開アップロードしないでください。
-
すべて展開する
クライアントのダウンロードページからOSとアーキテクチャに合うパッケージを選び、内容をすべて、現在のユーザーが書き込める専用フォルダー(例:
C:\Users\Public\Tools\v2rayN-test)に展開します。フォルダーに書き込めるかどうかは、実際のPCのアクセス権で確認してください。 -
保護の履歴を確認
「Windows セキュリティ」→「ウイルスと脅威の防止」→「保護の履歴」を開き、アプリやコアファイルに関するブロックがないか確認します。使用中のセキュリティソフトの隔離履歴も確認してください。
-
単独で起動する
新しいフォルダーのアプリを起動します。古い設定は移行せず、TUNも有効にしません。設定なしで正常に開く場合は、元の設定を一つずつインポートし、どの設定を戻すと問題が再発するか確認してください。
-
システムログを確認
それでも終了する場合は、「イベント ビューアー」→「Windowsログ」→「アプリケーション」を開き、発生時刻に近いApplication Errorまたは.NET Runtimeの記録を探してください。障害が発生したモジュール名と例外情報を控えます。
新しいフォルダーでは起動し、古いフォルダーでは起動しない場合は、古い設定、フォルダーの書き込み権限、ファイルの混在を優先して確認してください。どちらのフォルダーでも同じ場所でエラーになる場合は、ランタイムとシステムログを確認します。同じパッケージを何度も展開し直しても、新しい手がかりは得られません。
コアとポート:起動失敗をクラッシュと混同しない
画面は開くのにノードへ接続できない場合は、まずログにコアの起動記録があるか確認してください。ポートが競合するとコアがローカルの受け入れ口を作れず、サブスクリプション内のノードがすべて有効でもアプリから接続できません。以下では10808を確認例として使いますが、インストールしたパッケージがこのポートを使うとは限りません。
エラー:bind: address already in use
原因と対処:待ち受けに使うアドレスとポートがすでに使用されています。使用中のプロセスを確認してください。クライアントが複数起動している場合は終了するか、ローカルの待ち受けポートを変更し、アプリのプロキシ設定も合わせて変更します。
エラー:Only one usage of each socket address (protocol/network address/port) is normally permitted.
原因と対処:Windowsが同じソケットアドレスへの重複バインドを拒否しています。複数起動していないか、実際の待ち受けポートがどれかを確認してください。ローカルの競合を解決するために、接続先のノードを変更する必要はありません。
エラー:Access is denied.
原因と対処:ファイル、デバイス、またはシステム操作へのアクセスが拒否されています。前後のログから対象を特定してください。フォルダーの問題なら書き込み権限を修正し、仮想ネットワークアダプターに関する操作なら必要な権限を確認します。
v2rayNの「設定」→「パラメーター設定」で、ローカルの待ち受けポートを確認してください。項目名や分類は画面のバージョンによって異なる場合があります。下の例では、画面に表示された実際のポートに置き換えてください。結果の最終列はプロセスIDです。タスク マネージャーの「詳細」タブで、同じPIDのプロセスを確認できます。
netstat -ano | findstr ":10808"
- ローカルアドレスに対応する対象ポートで、状態が
LISTENINGの記録を確認してください。リモートポートや終了済みの接続が表示されているだけでは、ローカルの待ち受けポートが使用中とは限りません。 - 使用中のプロセスが見つかっても、正体の分からないプロセスを強制終了しないでください。古いクライアントのプロセスなら、通常の方法で終了してから再度試します。
- ポートを変更した場合、ブラウザーや端末など、プロキシのアドレスを手動で設定したアプリも変更が必要です。システムプロキシが更新されたかどうかも実際に確認してください。
- v2rayNのTUNモードを確認するときは、まずTUNを無効にして通常のローカルプロキシをテストし、その後で仮想ネットワークアダプターを個別に確認します。通常のプロキシは使えるのにTUNだけ失敗する場合は、権限、ドライバー、ルーティングを重点的に調べてください。
管理者権限は、あらゆる起動トラブルに効く万能の解決策ではありません。通常の画面表示やユーザーフォルダーの読み書きに、通常は昇格権限は不要です。TUNの作成や仮想ネットワークアダプターの設定には、より高い権限が必要な場合があります。ログや機能の要件から権限が原因と考えられるときだけ、一度、管理者権限で起動して比較してください。常に管理者として実行することから始めないでください。
v2rayNGが開かない:アプリの終了とVPN未許可を切り分ける
Android版v2rayNGはXrayコアを使用します。アプリを開くとすぐ終了する場合は、インストールパッケージのアーキテクチャ、インストールの完全性、アプリのエラーログを確認してください。画面は開くのに接続をタップしてもVPNが確立しない場合は、許可とシステムのVPN設定を優先して確認します。バッテリー最適化は主にバックグラウンドでの継続動作に影響するため、アイコンをタップした直後のクラッシュの原因とは通常考えにくいです。
- アプリがすぐ終了する:端末を再起動して、もう一度試してください。端末の機種名とAndroidのバージョンも記録します。上書きインストール後に問題が起きた場合は、元の設定を残したまま、対応するアーキテクチャの完全なインストールパッケージで試してください。まずデータを消去するのは避けましょう。
- VPNの許可が完了していない:v2rayNGを開いて接続をタップし、システムの接続リクエストが表示されたら許可します。リクエストが表示されない場合は、システムの「設定」→「ネットワークとインターネット」→「VPN」で既存の設定を確認してください。端末によっては「接続と共有」→「VPN」にあります。
- 他のVPNが使用中:他のアプリのVPN接続を切断してから、v2rayNGに接続してください。Androidでは通常、同一ユーザーで同時に有効にできるVPNサービスは一つです。
- 常時接続VPNの制限:既存のVPN設定を開き、「常時接続VPN」と「VPNを使わない接続をブロック」の状態を確認してください。別のサービスに設定されている場合は、自分の利用目的を確認してから変更します。
- 画面ロック後に停止する:アプリアイコンを長押し→「アプリ情報」→「バッテリー」と進み、バックグラウンド実行を許可するか「制限なし」を選びます。メーカー独自のシステムでは、自動起動も個別に有効にする必要がある場合があります。項目名は端末の画面に従ってください。
v2flyNGはV2Flyコアを使用します。VPNの許可やバックグラウンド制限も、同じくAndroidシステムが管理します。ただし、クライアントを変更しても権限の問題が直接解決するわけではなく、コアによって対応する設定も異なります。インストールパッケージを入手し直す場合は、ダウンロードページのv2rayNG ダウンロードからAndroidのアーキテクチャを確認してください。
サブスクリプションの復元:まずノードを一つ確認
クライアントが安定して起動することを確認してから、v2rayNGにサブスクリプションをインポートするか、デスクトップ版のサブスクリプションを復元してください。起動に成功していない段階では、サブスクリプション更新のタイムアウトを調べても、ランタイムの問題を特定する手がかりにはほとんどなりません。復元時はサブスクリプショングループを一つだけ残し、利用できることが分かっているノードを一つ選んでテストします。大量のルールを同時にインポートすると、どの設定が問題を引き起こしたか判断しにくくなります。
- 最初にバックアップ:元の設定を保存するか、クライアントのエクスポート機能でバックアップしてください。サブスクリプションURLにアクセス情報が含まれる場合があるため、公開の掲示板に貼り付けないでください。
- 次にインポート:v2rayNGでは、メイン画面のメニューから「サブスクリプショングループ設定」を開き、新しいグループを追加してURLを入力します。保存後、メイン画面のメニューから「サブスクリプションを更新」を実行してください。画面のバージョンによって表示が多少異なる場合があります。
- 次に接続:ノードを選んで接続をタップし、システムのVPNリクエストを許可します。サービスの確立に失敗した場合は、権限とログの確認に戻ってください。サブスクリプションの更新を何度も繰り返さないでください。
- 最後に設定を戻す:ルーティングルール、DNS、バックグラウンド設定を一つずつ復元します。項目を戻すたびに接続を確認し、安定して動作する設定のコピーを残してください。
復元後の確認:速度測定だけでは起動を確認できない
V2Rayノードの速度測定は、画面とコアが正常に動作してから行います。接続テストの数値は、テスト先、DNS、ネットワーク、接続先サーバーの影響を受けるため、すべてのアプリでの実速度を示すものではありません。利用できるローカルプロキシがない状態で速度測定に失敗しても、接続先ノードが停止しているとは判断できません。
ランタイムをインストールしたのに、なぜ開かない?
エラーダイアログに表示されたアーキテクチャ、フレームワーク名、必要な系列を改めて確認し、別のフォルダーにすべて展開してください。依存関係のダイアログが出ずにプロセスが終了する場合は、同じ時刻のWindowsアプリケーションイベントを確認します。関係のないランタイムを繰り返しインストールしないでください。
メイン画面は開いているのに、Webページを表示できないのはなぜ?
コアのログに待ち受け失敗がないことを確認し、v2rayNの通知領域メニューにある「システムプロキシ」の状態を確認してください。プロキシを手動設定したブラウザーや端末では、それぞれのプロキシアドレスとポートも確認します。
Androidで接続後、画面をロックすると切れる場合は?
「アプリ情報」→「バッテリー」でバックグラウンド実行を許可し、端末の自動起動管理も確認してください。画面を表示中は正常、ロック中に切断、再度開くと復旧する、という一連の症状を記録しておくと、ノード自体の切断と区別しやすくなります。
解決するにはアンインストールして再インストールする必要がある?
必要ありません。まず別のフォルダーで試すか、設定を一つだけ変更して比較してください。インストールファイルの破損や上書きインストールの異常が確認できた場合に限り、再インストールします。アンインストール前にサブスクリプションと設定をバックアップし、再インストール後は最小限の設定でテストしてください。
プロトコルとログ:最後に接続段階のエラーを確認
V2Rayのプロトコル選択とメイン画面のクラッシュは、別の問題です。VMess接続はシステム時刻のずれに影響されやすいため、認証エラーが出た場合は時刻の同期を確認してください。VLESSはクライアントのコアが対応している必要があり、サーバー側の転送方式やセキュリティ設定とも一致していなければなりません。ノードのプロトコル名だけをVLESSに変更しても、接続が復旧するとは限りません。
- ローカル側:メイン画面が安定して起動し、コアが正常に待ち受け、プロキシまたはVPNが確立すれば、起動時の問題への対処は完了です。
- 接続先側:サーバーアドレス、ポート、認証情報、転送方式、セキュリティ設定が提供元の設定と一致しているか確認してください。推測で変更しないでください。
- アプリ側:ブラウザーでは使えるのに端末では使えない場合は、端末独自のプロキシ設定を確認してください。正常に動作しているクライアントを再インストールする必要はありません。
- 問い合わせに必要な情報:OSとアーキテクチャ、パッケージの種類、エラー全文、発生時刻、試した個別の変更、TUN使用時または画面ロック後だけ起きるかどうかを伝えてください。ログ内の機密情報は事前に隠してください。
V2Rayクライアントを選ぶ場合、デスクトップではv2rayNを使用し、Androidでは設定とコアの要件に応じてv2rayNGまたはv2flyNGを選びます。トラブル対処では、パッケージ、コア、設定の入手元を明確にしてください。再インストール、ノード変更、DNS変更を同時に行うより、条件を一つずつ変えるほうが原因を特定しやすくなります。