hostsを変更したらゲームに接続できないときの直し方|バックアップ・無効化・元に戻す手順【Windows 11】
本記事にはアフィリエイト広告(Amazon・楽天市場等)のリンクが含まれています。
全部消さず、対象の行だけ「#」で止めて戻す
広告ブロック用のリストを入れた、開発作業で接続先を書き換えた、以前のトラブルでネット上の手順どおりに行を足した。そのあと、特定のゲームやランチャーだけログインできない、サーバーに入れないという状態になることがあります。ブラウザーは普通に開くのにゲームだけ繋がらないとき、hostsの上書きが関わっている可能性があります。
hostsが原因だったかどうかは、対象の行を一時的に無効にして、同じゲームの同じ操作をもう一度やってみて初めて分かります。初期状態から変更されたhostsは、通常の名前解決を上書きして接続の問題を起こすことがあります。アプリごとに名前の引き方が違う可能性もあるため、原因と決めつけず、利用中のゲームやランチャーを再起動して同じ操作で結果を確かめます。
やることは、現状のファイルを保存し、有効な行の中からゲームに関係しそうな行だけを選び、行頭に「#」を付けて止める、の3つです。ファイル全体の初期化は最後の選択肢です。会社・学校・開発環境で必要な行まで消えるため、誰が何のために入れた行かを確認してから決めます。
目次
前提hostsの場所と書き方
Windows 11のhostsは、通常 C:\Windows\System32\drivers\etc にあります。ファイル名は「hosts」で、拡張子を付けません。1行に「IPアドレス、半角スペースまたはタブ、ホスト名」の順で書き、1つのIPアドレスに複数のホスト名を並べることもできます。行頭が「#」の行はコメントとして扱われ、効力を持ちません。
Microsoftが示す初期のhostsは、著作権表示と書式の説明、ローカルホストの例がすべてコメントになっています。つまり、有効な(行頭が「#」でない)行があれば、それは誰かが足した設定です。
説明の根拠はMicrosoftのhostsを既定に戻す手順です。
切り分けhostsの問題か、別の問題かを分ける
「繋がらない」には複数の原因があります。hostsが関係するのは、特定のホスト名を別のIPアドレスへ上書きしている場合だけです。
編集前触る前に、原本と変更の経緯を残す
戻せる状態にしてから触ります。業務・学校・開発の環境では、必要な行が混ざっている場合があります。次の4つを先に控えます。
- 現在のhostsを別の場所へコピーします(下のコマンドで、デスクトップに日時付きの名前で保存できます)。
- ファイルの更新日時を控えます。ファイル全体を最後に保存した時期の目安で、行ごとの追加時期は分かりません。
- 広告ブロック用リストの更新ツール、開発用のツール、過去に自分で足した行など、hostsを書き換えそうなものを思い出してメモします。
- 会社・学校のPCや管理者が設定したPCなら、変更してよいかを管理者に確かめます。
PowerShellを開き、次のコマンドを実行します。hostsの読み取りだけなので、管理者として開く必要はありません。保存名にミリ秒までの日時が入り、同名のファイルがあるときはコピーが失敗し、「コピー済み」は表示されず「コピー失敗」と出るため、最初の原本は上書きされません。保存先はOneDriveなどへ移したデスクトップにも対応します。「コピー済み」と表示されてから編集に進みます。「コピー失敗」と出たら、原因を直すまでhostsを触りません。
try {
$src = "$env:SystemRoot\System32\drivers\etc\hosts"
$dst = Join-Path ([Environment]::GetFolderPath('DesktopDirectory')) ("hosts_backup_" + (Get-Date -Format 'yyyyMMdd_HHmmss_fff') + ".txt")
[IO.File]::Copy($src, $dst, $false)
"コピー済み: $dst"
Get-Item $src | Select-Object Name, Length, LastWriteTime
} catch {
"コピー失敗: " + $_.Exception.Message
}
対象行有効な行だけを抜き出して、ゲームに関係する行を選ぶ
初期状態では有効な行がないため、有効な行だけを抜き出せば、後から足された設定が一覧になります。
Select-String -Path "$env:SystemRoot\System32\drivers\etc\hosts" -Pattern '^\s*[^#\s]' | ForEach-Object { $_.LineNumber.ToString() + ': ' + $_.Line }
1行も表示されなければ、有効な行がありません。表示された行は、IPアドレスの種類とホスト名で次のように見分けます。
| 見つかった行 | 考えること | 扱い |
|---|---|---|
| ゲーム名・ランチャー名・運営会社名を含むホスト名 | 接続先を上書きしている可能性が高い行です | 次の節で一時的に無効にして試す |
| 0.0.0.0 や 127.0.0.1 に向けた行が大量にある | 広告・計測用ドメインをブロックするリストの可能性があります。ゲームの認証や配信に使うホスト名が巻き込まれることがあります | ゲームに関係する名前の行だけ止める。リスト全体を消さない |
| 見覚えのないIPアドレスとホスト名 | 入れた覚えがなければ、ツールや管理者の設定を疑います | 行を記録してから止める。管理下のPCなら先に管理者へ確認する |
| ゲームと無関係な社内サーバーや開発用の名前 | 仕事や開発で必要な設定です | 触らない |
行頭に「#」を付けると、その行のホスト名がすべて無効になります。ゲームの名前と、仕事で必要な名前が同じ行に並んでいる場合は、行を分けて必要な名前だけ残してから止めます。
ゲームのホスト名はタイトルごとに違い、認証・配信・マッチングで別の名前が使われることもあります。行に名前が見当たらなくても、関係がないとは言い切れません。そのときは、広告ブロック用リストや更新ツールなど、導入した記憶のあるものに由来する行から順に止めて試します。バックアップを取ってある場合は、バックアップと見比べて増えた行を候補にします。
また、ネット上で見つけたIPアドレスをhostsに書いてゲームのサーバーへ固定するのは避けます。運営側がサーバーを移すと、書いたIPアドレスは古くなって接続できなくなります。
無効化メモ帳で対象行を「#」で止める
追加のソフトは要りません。管理者権限のメモ帳でhostsを開き、対象の行だけを止めます。
- スタートで「メモ帳」を検索し、「管理者として実行」で起動します。
- 「ファイル」→「開く」で、ファイルの種類を「すべてのファイル」にして、
C:\Windows\System32\drivers\etc\hostsを開きます。 - 対象の行の先頭に、半角の「#」と半角スペースを足します。止めた理由が分かるよう、行末か直前に日付と理由を書いておくと、後で戻しやすくなります。
- 保存します。管理者として開いていないと保存が拒否されます。
- ゲームやランチャーをいったん終了し、起動し直して同じ操作を試します(確認の方法は次の節)。
行を消さず「#」を付けるだけにしておけば、効果がなかったときは「#」を外して元に戻せます。原因がhostsなら、その行は削除するか、止めたままにします。
Microsoft PowerToysのHosts File Editorなら、行ごとの「アクティブ」トグルで有効・無効を切り替えられ、アドレス・ホスト・コメントでの絞り込みもできます。編集前にはバックアップが作られ、既定ではhosts_PowerToysBackup_年月日時分秒という名前でhostsと同じフォルダーに置かれます。既定では「管理者として開く」がオンで、オフにすると読み取り専用になります。ドキュメントの説明はMicrosoft LearnのHosts File Editorです。
PowerToysは必須ではありません。入れたくない場合は、上のメモ帳の手順で同じことができます。使うときは、設定画面でバックアップが有効になっているか、保存後に保存先へバックアップのファイルが増えたかを確かめておきます。
再確認同じ操作で試し、キャッシュとアプリの再起動を分ける
変更の前後で、同じゲームの同じ操作(ログイン、サーバー選択、マッチングなど)を同じ順で試します。複数の設定を同時に変えると、どれが効いたか分かりません。
- ゲームとランチャーをタスクトレイまで含めて終了し、起動し直します。
- 変更前に失敗した操作をもう一度行い、結果を控えます。
- 改善しなければ、PowerShellまたはWindowsターミナルを管理者として開き直し、DNSキャッシュを消してからもう一度試します。バックアップ用に開いた通常権限の画面では実行できません。
次のコマンドは、管理者として開いたPowerShellまたはWindowsターミナルで実行します。
ipconfig /flushdns
Microsoftの説明では、ipconfig /flushdnsはDNSクライアントのリゾルバーキャッシュを消去してリセットするコマンドです。ipconfig /displaydnsで表示されるキャッシュには、hostsから読み込まれた項目も含まれます。いずれもhostsの行を書き換える操作ではなく、hostsの編集とキャッシュの消去は別の操作です。また、アプリが独自に持つキャッシュや、すでに張られた接続まで消えるとは説明されていないため、アプリの再起動は別に行います。根拠はMicrosoft Learnのipconfigです。
判断表結果ごとに、次に何をするか
| 状態 | 意味すること | 次の行動 |
|---|---|---|
| 行を止めたら接続できた | その行が影響していた可能性が高い状態です。ただし、同時に別の要因が直った可能性は残ります | 行を削除するか止めたままにする。書いた目的(広告ブロックなど)が必要なら、ゲームのホスト名だけ除外する |
| 該当する行がない | ゲームの名前がhostsにないだけでは、無関係とは言えません。別名が使われる場合があります | 導入したツールのリストや、手元のバックアップとの差分から候補の行を選ぶ。見つからなければDNSや障害の記事へ戻る |
| 保存できない・管理下で編集できない | 管理者権限がない、または会社・学校などが管理している可能性があります | セキュリティ機能の停止や権限の変更で回避せず、管理者に相談する |
| 戻しても行が再作成される | 更新ツールや管理設定が書き込んでいる可能性があります。原因の断定はできません | 広告ブロックなど導入したツールの設定で、該当ホスト名を除外する。管理下のPCなら管理者へ |
| 止めても接続できない | hostsは原因ではなかった可能性が高い状態です | 「#」を外して元に戻し、DNSの診断や障害の確認へ進む |
全リセット既定に戻すのは、影響を確認してから
Microsoftが案内している既定への復元は、初期内容の新しいhostsを作り、既存のhostsをHosts.oldへ改名して置き換える手順です。ここで言う全リセットは、自分で足した行も、ツールや管理者が足した行も、すべて無効になる操作です。
- メモ帳で初期内容のhostsを作り、ファイル名を「hosts」(引用符付き、種類は「すべてのファイル」)にしてデスクトップへ保存します。
C:\Windows\System32\drivers\etcの既存のhostsをHosts.oldに名前変更します。- デスクトップの新しいhostsを、同じフォルダーへ移動またはコピーします。管理者の確認が出たら承認します。
元のhostsはHosts.oldとして残るため、必要な行が消えてしまった場合は、そこから該当行を取り出して戻せます。初期内容の文面は、先ほどのMicrosoftの手順に掲載されています。試したあとは、原本のコピー(デスクトップのhosts_backup_日時.txt)と、試験後の状態の両方を残しておくと、どちらにも戻せます。
FAQよくある質問
まとめまとめ|原本を残し、対象の行だけ止めて、同じ操作で確かめる
hostsを書き換えたあとにゲームだけ繋がらないときは、原本のコピーと更新日時を残し、有効な行からゲームに関係する行を選んで「#」で止め、同じ操作を試します。止めて改善しなければ、元に戻して別の診断へ進みます。
全リセットは最後の手段です。必要な行を巻き込まないために、対象の行だけを止め、止めた行と結果を記録しておきます。管理下のPCで編集できない、または行が再作成される場合は、管理者に相談します。


