「サトウさん、例のサーバー移転案件だけど、ドメインを切り替える前に新サーバーの表示確認を頼むよ」
上司からそう指示を受け、意気揚々と作業を始めたあなた。
しかし、作業開始から数分後。あなたの指はキーボードの上で止まり、額には冷や汗が浮かんでいるかもしれません。
「……おかしい。Hostsファイルを書き換えたのに、保存できない」
「なんとか保存できたはずなのに、ブラウザを更新しても画面が変わらない」
そんなトラブルで作業がストップし、焦りを感じていませんか?
特にWindows 11になってから、セキュリティが大幅に強化された結果、従来のWindows 10まで通用していた「自己流の手順」では、システムの中枢にあるHostsファイルに触れることすら難しくなっています。
これは、あなたのスキルの問題ではありません。
WindowsというOSが持つ「System32の壁」という仕様の問題なのです。
【この記事の著者】ケン(Ken)
シニア・インフラエンジニア / 技術コンサルタント15年以上の現場経験を持ち、100件を超える大規模サーバー移転を完遂。ネットワークトラブルの解決を専門とし、若手エンジニアへのメンター活動も精力的に行っている。「根性ではなくロジックで解決する」がモットー。
かつての私も、リニューアル当日の深夜にこの現象に遭遇し、1時間以上も頭を抱えた経験があります。
しかし、安心してください。
実は、Hostsファイルの編集は、気合や根性で何度もやり直すものではありません。
「OSの権限(UAC)」と「ブラウザの通信仕様(DoH)」。
このたった2つの「作法(ロジック)」を理解するだけで、誰でも100%確実に、しかも1分以内に作業を完了させることができます。
この記事では、現場で磨き上げた「最短ルートの書き換え手順」と、絶対に失敗させないための「反映率100%のチェックリスト」を、エンジニアの視点で徹底解説します。
この記事を読み終える頃には、あなたは「なぜ反映されないんだ!」というストレスから完全に解放され、プロとして涼しい顔で設定を完了できるようになっているはずです。
【結論】Windows 11のHostsファイルの場所はここ
まずは、迷宮に入り込む前に、目的のファイルがある「場所」を特定しましょう。
Windows 11になっても、Windows 10やそれ以前のバージョンと場所は変わっていません。
Hostsファイルは、OSの心臓部とも言える以下のパスに格納されています。
C:¥Windows¥System32¥drivers¥etc
このパスをコピーして、エクスプローラーのアドレスバーに貼り付け、Enterキーを押すのが最も確実で速い方法です。
※ここにエクスプローラーでetcフォルダを開いている画像を挿入してください
このフォルダの中に、拡張子のない「hosts」という名前のファイルが存在します。
それが今回のターゲットです。
なぜ、こんな深い場所にあるのか?
少しだけ専門的な話をさせてください。
「なぜ、もっと分かりやすいデスクトップやドキュメントフォルダに置かないのか?」と思ったことはありませんか?
それには、明確な理由があります。
Microsoftの公式ドキュメント(TCP/IPの仕様)によると、Windowsはネットワーク通信を行う際、外部のDNSサーバー(インターネット上の住所録)に問い合わせる前に、必ずローカルのHostsファイルを最優先で確認するよう設計されています。
つまり、Hostsファイルは「インターネットの電話帳」の書き換え可能なコピーなのです。
もし、このファイルが誰でも簡単に書き換えられる場所にあったらどうなるでしょうか?
悪意のあるウイルスが勝手に書き換えて、あなたが「銀行の公式サイト」にアクセスしたつもりでも、「偽のフィッシングサイト」に誘導されてしまう危険性があります。
だからこそ、WindowsはこのファイルをSystem32という「聖域」に隠し、強力なセキュリティで守っているのです。
私たちがこれからやろうとしている作業は、この「OS標準の防御システム」を、正規の手順で突破する行為であることを理解しておいてください。
独自データベース:OS・環境別「Hostsパス一覧表」
開発の現場では、Windows以外にも様々な環境を触ることがあります。
「あれ、WSL2(Linux環境)の場合はどこだっけ?」
作業中にそうやって手が止まらないよう、主要な環境のHostsパスを完全網羅した一覧表を作成しました。
| 環境 / OS | ホストファイルのフルパス | 備考・注意点 |
|---|---|---|
| Windows 11 / 10 | C:¥Windows¥System32¥drivers¥etc¥hosts |
拡張子なし。管理者権限が必須。 |
| WSL2 (Ubuntu等) | /etc/hosts |
再起動でリセットされる場合があるため、conf設定が必要なケースも。 |
| macOS / Linux | /etc/hosts |
編集にはターミナルで sudo コマンド等が必要。 |
| Android / iOS | /system/etc/hosts |
通常はアクセス不可。Root化などが必要。 |
【実践】Windows 11でHostsファイルが「保存できない」を防ぐ編集手順
ここからが本題です。
多くの人がやってしまう「間違った手順」があります。
それは、「Hostsファイルをダブルクリックしてメモ帳で開き、編集して保存ボタンを押す」こと。
残念ながら、この人間にとって自然な流れは、Windows 11のセキュリティポリシーでは通用しません。
保存しようとした瞬間、「アクセス許可がありません」や「管理者に連絡してください」といった無慈悲なエラーメッセージが表示されます。
なぜ保存できないのか?
理由は単純です。
あなたが普通に起動した「メモ帳」は、権限の弱い「標準ユーザー権限」で動いています。
対して、保存先のetcフォルダは、最強の「管理者権限(Administrator)」で守られています。
一般兵が王様の金庫を開けられないのと一緒です。
このエラーを回避するために、私が現場で徹底している「失敗しない逆引き手順」を伝授します。
手順1:メモ帳を「先に」管理者として実行する
ファイルから開くのではなく、「権限を持ったメモ帳」を先に用意するのが鉄則です。
- Windowsキーを押してスタートメニューを開きます。
- 検索窓に「メモ帳」(または notepad)と入力します。
- 表示されたメモ帳アイコンを右クリックします。
- メニューから「管理者として実行」を選択します。
※ここに「管理者として実行」を選択している画像を挿入してください
画面が暗転し、「このアプリがデバイスに変更を加えることを許可しますか?」と聞かれたら、迷わず「はい」を押してください。
これで、あなたのメモ帳は「王様の鍵」を手に入れました。
手順2:管理者モードのメモ帳からファイルを開く
最強のメモ帳が立ち上がりました。
ここから、ターゲットのファイルを「迎え」に行きます。
- メモ帳の左上にある「ファイル」メニューから「開く」をクリックします。
- ファイル選択画面のアドレスバーに
C:¥Windows¥System32¥drivers¥etcを貼り付けて移動します。 - 【最重要】画面右下にあるファイル種類のプルダウンを、「テキスト文書 (*.txt)」から「すべてのファイル (*.*)」に変更してください。
これを忘れると、フォルダの中身が空っぽに見えてしまい、「ファイルがない!」とパニックになります。
必ず「すべてのファイル」に切り替え、現れた hosts ファイルを選択して「開く」をクリックします。
手順3:RFC規格に基づいた正しい記述で保存
無事にファイルが開けたら、記述を行います。
ファイルの最下部に、以下のルールで追記してください。
# IPアドレス [半角スペース] ホスト名 192.168.1.50 dev-server.local 127.0.0.1 mysite.test
- 左側: 飛ばしたい先のIPアドレス(例:新サーバーのIP)
- スペース: 半角スペース、またはTabキーで区切ります。
- 右側: 対象のドメイン名(ホスト名)
- #(シャープ): 行の先頭につけると、その行は無効化(コメントアウト)されます。メモ書きに使えます。
書き終わったら、通常通り「上書き保存(Ctrl + S)」をしてください。
今度はエラーが出ることなく、スムーズに保存できるはずです。
✍️ 専門家の経験からの一言アドバイス
【結論】
ファイルを開いてから「あっ、管理者権限がない!」と気づくのではなく、最初から「権限を持ってからファイルに迎えに行く」癖をつけてください。なぜなら、「編集したのに保存できない」→「内容をクリップボードにコピー」→「メモ帳を開き直す」→「貼り付け」……という作業は、ミスの元だからです。
特に、このコピペの過程で「文字コード(UTF-8 with BOMなど)」が変わってしまうトラブルが頻発します。Hostsファイルは純粋なテキストでないと読み込まれないため、二度手間を防ぐためにも「最初の手順」を守ってください。
書き換えても反映されない?最新ブラウザの「落とし穴」
「よし、保存は完璧だ。これで新サーバーが表示されるはず!」
そう思ってブラウザを更新(F5)したのに……。
「……あれ? まだ旧サーバーの画面のままだ」
この瞬間が、エンジニアにとって最もストレスが溜まる瞬間です。
ここで多くの人が「記述ミスか?」「PCの再起動が必要か?」と疑い始めますが、実は原因はもっと「現代的」な場所にあります。
犯人は、ChromeやEdgeに搭載された「セキュアDNS(DoH)」機能です。
なぜHostsファイルが無視されるのか?
先ほど、「Hostsファイルはインターネットの電話帳の最優先コピーだ」と説明しました。
しかし、最新のWebブラウザは、プライバシー保護のために「OSの設定(Hostsファイル)を無視して、ブラウザ独自で暗号化されたDNSサーバーに直接問い合わせる」という機能をオンにしている場合があります。
これが「DNS over HTTPS (DoH)」です。
つまり、あなたがいくらOS側のHostsファイルを書き換えても、ブラウザがそれを見て見ぬふりをしているのです。
これを解決するための理論と対策をまとめました。
【理論】Hosts書き換えによる「アクセス高速化」と優先順位
本来、Windowsの名前解決の優先順位は以下のようになっています。
| 優先順位 | 通常時のロジック | セキュアDNS(DoH)有効時 | 対策 |
|---|---|---|---|
| 1位 | Hostsファイル | 外部DNSサーバー (DoH) | セキュアDNSを一時OFFにする |
| 2位 | OSのDNSキャッシュ | Hostsファイル (無視される) | ipconfig /flushdns |
| 3位 | 外部DNSサーバー | OSのDNSキャッシュ | ブラウザのキャッシュ削除 |
Hostsファイルが正しく機能すれば、外部DNSへの問い合わせ時間(通常20ms〜100ms)をゼロ(0ms)に短縮できます。
開発環境などで頻繁にアクセスする場合、この「コンマ数秒の短縮」は作業効率に大きく響きます。
しかし、表の通り、DoHが有効だとこの優先順位が逆転し、Hostsファイルが完全に無力化されてしまうのです。
反映率100%にするための「3つの儀式」
Hostsファイルを書き換えた後に、以下の3ステップを必ず実行してください。
これを習慣化すれば、「反映されない」というトラブルは100%防げます。
チェック1:ブラウザのセキュアDNSを一時的にオフにする
Google Chromeの場合の手順です。
- ブラウザ右上の「︙」メニューから「設定」を開きます。
- 左メニューの「プライバシーとセキュリティ」を選択します。
- 「セキュリティ」をクリックします。
- 少し下にスクロールし、「セキュア DNS を使用する」というスイッチを探します。
- これをオフにします。
※ここにChromeの設定画面でセキュアDNSをオフにする画像を挿入してください
※確認作業が終わったら、セキュリティのためにオンに戻すことを推奨します。
チェック2:OSのDNSキャッシュをクリアする
Windowsは、一度アクセスしたサイトのIPアドレスをしばらく記憶(キャッシュ)しています。
Hostsファイルを書き換えても、この古い記憶が残っていると、古いサーバーを見に行ってしまいます。
コマンド一発で記憶を消去しましょう。
- スタートメニューで「cmd」と検索し、「コマンドプロンプト」を起動します。
- 以下の呪文(コマンド)を入力してEnterキーを押します。
ipconfig /flushdns
「DNS リゾルバー キャッシュは正常にフラッシュされました。」と表示されれば成功です。
チェック3:シークレットウィンドウで確認する
最後にして最強の対策です。
ブラウザ自体もキャッシュ(画像やCSSなどの一時ファイル)を持っています。
これらに邪魔されないよう、常に「シークレットモード(プライベートブラウジング)」で接続確認を行ってください。
- Chrome / Edge:
Ctrl+Shift+N - Firefox:
Ctrl+Shift+P
この新しいウィンドウでアクセスして、初めて変更が反映されているかを確認します。
【実務用】作業が終わったら必ずやるべき「後片付け」
無事に確認が終わりました。
「あー、よかった!」で終わらせてはいけません。
プロの仕事は、最後の「後片付け(原状復帰)」で決まります。
開発用の設定をHostsファイルに残したままにすると、数ヶ月後に「なぜか本番サイトが見られない」「特定のアドレスにつながらない」といった謎のトラブルの原因になります。
推奨される後片付け手順
- 再度、管理者権限でHostsファイルを開きます。
- 追記した行を削除するか、行頭に
#を付けてコメントアウト(無効化)します。 - 上書き保存します。
# 202X-XX-XX サーバー移転確認用(完了済み) # 192.168.1.50 new-server.com
このように、日付と目的をメモしておくと、未来の自分や他の担当者が助かります。
もし、ファイルを壊してしまったら?
編集を失敗して、インターネットにつながらなくなってしまった場合も焦らないでください。
Microsoftは公式に「Hostsファイルを初期状態に戻す方法」を公開しています。
Windows で Hosts ファイルを既定値に戻すには、手動で hosts ファイルを作成し、既定のテキストをコピーして貼り付けるか、あるいは現在のファイルを削除してシステムによる再生成を待つ手順が推奨されます。
基本的には、Hostsファイルの中身をすべて消して保存すれば、Windowsは標準のDNS動作に戻るように設計されています。
コメント