まず、メイン画面のクラッシュ、プロキシコアの終了、バックグラウンドサービスの停止を切り分け、OSに応じて確認しましょう。Windowsではランタイム、完全な展開、書き込み可能なフォルダーを確認します。Androidではアプリの終了とVPN未許可を見分けてから、バッテリー制限を確認します。一度に変更するのは1項目に絞り、元の設定とエラー記録を残してください。原因を特定できる問題を、再インストールの繰り返しで複雑にしないためです。
まず切り分け:画面のクラッシュ、コアの終了、接続の切断
「起動しない」には、まったく異なる問題が含まれます。v2rayNはGUIクライアントで、画面の起動とプロキシコアの起動は別の段階です。v2rayNGも画面から設定を管理し、Xrayコアを使うサービスを起動します。画面が表示されたまま接続だけ失敗している場合は、アプリのクラッシュとは限りません。VPNの許可が拒否されるとサービスの起動に失敗することがありますが、アプリのプロセス自体が異常終了したとは限りません。
| 発生している現象 | 最初に確認すること | すぐにはしないこと |
|---|---|---|
| ダブルクリックしても画面が出ず、プロセスがすぐ消える | ランタイムの警告、システムイベント、インストールパッケージのアーキテクチャ | サブスクリプションやルーティングを何度も変更する |
| 画面は正常に表示されるが、接続開始時にエラーが出る | クライアントログ、コアのファイル、待ち受けポート | .NETだけが原因だと決めつける |
| ウィンドウを閉じてもタスクトレイにアイコンが残る | ウィンドウを閉じたときの動作とトレイメニュー | トレイに最小化された状態をクラッシュと誤認する |
| Androidでバックグラウンドに切り替えると接続が切れる | VPNの状態、バッテリー設定、プロセスが動作中かどうか | すぐにアプリのデータを消去する |
作業を始める前に、OSのバージョン、システムアーキテクチャ、クライアントの「バージョン情報」に表示されたバージョン、問題が発生した時刻を記録します。画面を開ける場合は先に設定をエクスポートしてください。まったく開けない場合は、関連プロセスを終了してから元のデータフォルダーをバックアップします。サブスクリプションURL、共有リンク、設定全体には認証情報が含まれることがあるため、他の人に調査を依頼する前に削除してください。
Windowsのランタイム不足:表示された要件に合わせてインストール
v2rayNは、配布パッケージによって実行方法が異なる場合があります。システムのランタイムに依存するパッケージでは、要件に合ったバージョンとアーキテクチャの.NETランタイムが必要です。自己完結型パッケージの場合は、「起動時に落ちる」というだけでランタイムを次々と追加する必要はありません。WPF画面を含むパッケージでは通常、Windows Desktop Runtimeが必要です。基本の.NET RuntimeやASP.NET Core Runtimeだけでは要件を満たさないことがあります。.NET Frameworkと現行の.NETは別の製品です。
エラー:You must install or update .NET to run this application.
原因:アプリが必要とするランタイムが見つからないか、バージョンまたはアーキテクチャが一致していません。対処:ダイアログに表示されたFramework、Architecture、Versionを確認し、パッケージの要件に合うランタイムをインストールしてからクライアントを再起動します。
エラー:This app can't run on your PC
原因:現在の実行ファイルをシステムで実行できません。アーキテクチャやOSとの互換性、ファイルの破損が考えられます。対処:まずシステム情報でOSの種類を確認し、適合する完全なインストールパッケージを入手し直してください。このエラーだけをランタイム不足の証拠とみなさないでください。
PowerShellで次のコマンドを実行すると、現在のdotnetコマンドに対応するアーキテクチャのランタイム一覧を確認できます。コマンドが見つからない場合に分かるのは、そのコマンドが利用できないことだけで、すべての.NETコンポーネントが未インストールだとは断定できません。必要に応じて、Windowsの「設定」→「アプリ」→「インストールされているアプリ」も確認してください。
dotnet --list-runtimes
- WPFパッケージの依存関係を確認する際は、
Microsoft.WindowsDesktop.Appを重点的に確認します。Microsoft.NETCore.Appの有無だけでは判断できません。 - x64アプリには対応するx64ランタイムが必要です。別のアーキテクチャのランタイムがインストールされていても、要件を満たすとは限りません。
- メジャーバージョンが新しければ、古いメジャーバージョンを必要とするアプリの依存関係も自動的に満たすとは限りません。起動時の表示と配布パッケージの説明を確認し、バージョン番号の大小だけで判断しないでください。
- システムイベントに設定の解析エラーやファイルアクセスエラーが記録されている場合は、該当する問題を調べます。ランタイムを繰り返しインストールしても解決しません。
展開先と権限:まず通常ユーザーで確認
ポータブル版を圧縮ファイルのプレビュー画面から直接実行すると、一部のファイルが一時展開され、必要なファイルにアクセスできないことがあります。旧フォルダーに新しいバージョンを上書きすると、コンポーネントの不整合が残る場合もあります。まず完全なファイルを、現在のユーザーが書き込み可能な独立したフォルダー(例:%LOCALAPPDATA%\v2rayN-test)に展開し、空の設定で起動してください。このフォルダーは切り分け用であり、元のデータを移動する必要はありません。
-
終了してバックアップ
トレイメニューからv2rayNを終了し、「タスク マネージャー」→「詳細」で関連プロセスが終了したことを確認してから、元の設定とデータフォルダーをバックアップします。書き込み中のファイルをコピーしないようにしてください。
-
新しい場所に再展開
ダウンロードページでOSとアーキテクチャに合うパッケージを選びます。ポータブル版はすべてのファイルを新しいフォルダーに展開してください。圧縮ファイル内から実行したり、旧フォルダーに直接上書きしたりしないでください。インストーラー版は画面の手順に従ってインストールします。
-
通常の方法で起動
まず通常ユーザーで起動し、TUNを有効にしたり、元の設定を読み込んだりしないでください。初期状態の画面が安定していれば、ノード、サブスクリプション、ルーティングを一つずつ読み込み、追加のたびに再起動して確認します。
-
ブロックの有無を確認
「Windows セキュリティ」→「ウイルスと脅威の防止」→「保護の履歴」を開き、同じ時刻にファイルがブロックされていないか確認します。ファイルの入手元とブロック対象を確かめてから対処し、保護機能全体を無効にしないでください。
-
必要な場合のみ管理者権限で起動
TUNやシステムサービスの操作で明示的に権限昇格を求められる場合に限り、管理者として起動して確認します。通常起動で失敗する場合は、管理者権限で使い続けてフォルダーの問題を隠すのではなく、データフォルダーのアクセス権とログを先に確認してください。
画面が開く場合:コアのログ、ポート、システムイベントを確認
メイン画面が表示され、ログに待ち受けの失敗が記録されているなら、画面の起動は成功しています。まずログで最初に現れたエラーと前後数行を確認し、ポートの競合、コアファイルの不足、設定の解析エラーを切り分けます。ここでは127.0.0.1:10808を確認例として示しますが、すべてのバージョンで固定された設定ではありません。実際のポートはクライアントの現在の設定とログで確認してください。
PowerShellで待ち受けプロセスを確認します。何も表示されない場合、その時点で該当ポートのTCP待ち受けが見つからなかったことを意味します。他のプロトコルやポートも正常だと証明するものではありません。プロセスが表示された場合は、どのアプリに属するかを確認し、不明なプロセスを強制終了しないでください。
Get-NetTCPConnection -LocalPort 10808 -State Listen -ErrorAction SilentlyContinue |
Select-Object LocalAddress, LocalPort, OwningProcess
結論:画面が使える場合は、サービスの起動経路を先に確認
空の設定では安定して起動し、接続を有効にしたときだけ待ち受けエラーが出る場合は、重複して起動したプロセスやポートの競合を解消してから、同じ設定で再試行してください。この場合、.NETを再インストールしても通常はポートの競合を解決できません。
メインプロセスが実際に終了している場合は、Win + Rを押してeventvwr.mscと入力し、「Windowsログ」→「アプリケーション」を開きます。問題が起きた時刻を基準に、Application Error、.NET Runtime、Windows Error Reportingの記録を確認してください。イベント1000、1001は検索の手がかりであり、クラッシュのたびに両方が記録されるとは限りません。障害が発生したアプリ、障害モジュール、例外コード、時刻を記録します。イベント番号だけでは原因を特定できません。
- 設定の解析エラー:元のファイルをコピーして保管し、別のフォルダーで空の設定を使ってテストしてから、設定を分けて読み込みます。唯一のデータコピーを削除しないでください。
- コアファイルの不足:ファイルが完全に展開されているか、保護の履歴に記録がないか確認します。出所不明の実行ファイルに単独で置き換えないでください。
- ポートの変更:ターミナルのプロキシ環境変数、ブラウザーの手動プロキシ設定、同じポートを使う他のアプリも確認してください。クライアントを修復しても、アプリが古いポートに接続し続けることがあります。
Android:v2rayNGのクラッシュとVPN未起動を切り分ける
v2rayNGを開いてノード一覧を確認でき、接続ボタンを押したときだけ失敗する場合は、まずAndroidのVPN許可ダイアログが表示されるか確認してください。許可をキャンセルした場合、端末のポリシーでVPNの作成が禁止されている場合、別のVPNサービスが接続を使用している場合は、画面がクラッシュしていなくてもサービスを起動できないことがあります。v2rayNGはV2Flyコアを使用しますが、AndroidのVPN許可が必要です。クライアントを切り替えても、システム権限を回避することはできません。
- 他のVPNを先に停止:システムの「設定」で「VPN」を検索し、実行中の別のVPNを切断します。常時接続VPNを設定している場合は、別のアプリが指定されていないか確認してください。組織の管理下にある端末では、先に管理者へ相談してください。
- 許可ダイアログを再表示:v2rayNGに戻り、設定を1つ選んで接続を開始します。システムのダイアログに想定するアプリ名が表示された場合だけ許可してください。ダイアログが出ない場合は、すでに許可済みか、端末のポリシーで制限されていないか確認します。
- 前面での動作を確認:画面を点灯したままアプリを前面に置き、接続が維持されるか確認します。通知の許可は状態通知の表示に影響しますが、通知がないからといってプロセスが存在しないとは限らず、通知だけでクラッシュを判断することもできません。
- バックグラウンド制限を確認:アプリアイコンを長押しして「アプリ情報」→「バッテリー」または「アプリのバッテリー使用量管理」を開き、「制限なし」「バックグラウンドでの使用を許可」などの項目を確認します。項目名はシステムによって異なるため、メーカー独自の自動起動管理も確認してください。
アプリの起動直後にホーム画面へ戻り、設定一覧も表示できない場合は、インストールパッケージのアーキテクチャ、OSの互換要件、空き容量を確認します。プロセッサのアーキテクチャが分からない場合は、ダウンロードページで該当する汎用パッケージを選んでください。インストール失敗と起動後のクラッシュは分けて記録します。「ストレージ」からアプリのデータをすぐに消去しないでください。ローカル設定が削除されます。まず取り出せるデータをエクスポートまたはバックアップしてください。
macOS・Linux:アーキテクチャ、インストール方法、書き込み先を確認
デスクトップの問題すべてにWindowsのランタイム対策を当てはめることはできません。macOSでは「このMacについて」でチップの種類を確認し、arm64版またはx64版を選びます。LinuxではCPUアーキテクチャとディストリビューションのパッケージ形式の両方を確認してください。インストールできるか、GUIが起動するか、TUNを作成できるかは、それぞれ別の確認段階です。
- macOS:パッケージ内の説明に沿ってインストールしてから起動し、マウントしたディスクイメージから常用しないでください。システムによって起動がブロックされた場合は、「システム設定」→「プライバシーとセキュリティ」で該当する通知を確認します。パッケージの入手元を確認し、セキュリティチェック全体を無効にしないでください。
- Linux:ディストリビューションに合ったdebまたはrpmパッケージを優先し、パッケージ管理ツールに表示される依存関係の警告を確認してください。実際にインストールしたプログラムをターミナルから起動すれば、エラー出力を確認できます。デスクトップのアイコンをクリックして反応があるかだけで判断しないでください。
- 権限の範囲:通常の画面操作に、常時の高い権限は必要ありません。TUNの操作だけが失敗する場合は、そのプラットフォームで必要な権限を確認します。以前に高い権限で起動してデータフォルダーが作成された場合は、バックアップしてからファイルの所有者を修正してください。
よくある質問:再インストール、設定の移行、復旧確認
.NETをインストールしたのに、v2rayNがまだクラッシュするのはなぜですか?
ダイアログに表示されたランタイム名、バージョン、アーキテクチャを照合してから、dotnet --list-runtimesを実行して確認します。必要なランタイムがそろっている場合は、システムイベントと空の設定でのテストを確認してください。起動時の問題をすべてランタイムのせいにしないでください。
管理者として起動すれば正常です。このまま使い続けてもよいですか?
まず通常ユーザーで、書き込み可能な新しいフォルダーを使ってテストしてください。通常起動で問題が解消する場合は、元のフォルダーのアクセス権を引き続き確認します。権限昇格が明確に必要なネットワーク機能に限って管理者として起動し、原因の切り分けを管理者権限で代用しないでください。
再インストール後に元の設定を戻したら、またクラッシュします。どうすればよいですか?
元のバックアップは残したまま、切り分け用の環境にノードを1つだけ読み込み、次にサブスクリプション、最後にカスタムルーティングやその他の設定を戻します。問題が再現した段階のログと設定の差分を保存し、設定全体を何度も上書きして試すのは避けてください。
v2rayNGは画面ロック後に切断します。データの消去が必要ですか?
最初にデータを消去する必要はありません。「アプリ情報」でバッテリーとバックグラウンド動作の設定を確認し、別のVPNが接続を引き継いでいないことを確かめてから、画面ロック後の動作を再テストします。データを消去してもシステムのバッテリー設定は直らず、サブスクリプションやノードを失うおそれがあります。
修復後は同じ手順で確認します。通常起動で画面が開くこと、接続開始時にエラーが出ないこと、終了後に再び起動できることを確認し、最後に前面とバックグラウンドの切り替え、再起動後の動作を確認してください。ブラウザーでWebページを開けても、確認できたのはアプリから一度アクセスできたことだけです。ターミナル、ルーティングによる振り分け、すべての通信制御方式が正常だとは限りません。問題が続く場合は、OSとクライアントのバージョン、再現手順、正確な発生時刻、個人情報を伏せた最初のエラーを共有してください。「クラッシュした」とだけ伝えるより、原因を特定しやすくなります。