Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Win8.1 Hosts 檔案失效原因分析與修復方案

編輯:Windows 8 系統介紹

Windows 8.1 中 Hosts 檔案修改後不生效,常見原因為 DNS Client 服務帳戶權限不足。本文詳細記錄排查過程、根因分析與修復步驟。

現象重現

  • Hosts 檔案路徑正確、內容無誤 (單行對應)。
  • 已執行 ipconfig /flushdns 清除快取,甚至停用 DNS Client 服務。
  • Ping 域名仍解析為真實 IP,而非 Hosts 指定 IP。
  • 檔案權限已給予 SYSTEM 與 Administrators 完全控制,但仍失效。

Hosts 檔案內容

Ping 測試結果

檔案權限設定

根因分析

  1. 使用訊息記錄器監控發現:修改 Hosts 後,svchost.exe (載入 DNS Client 服務) 嘗試讀取 Hosts 檔案,結果為 Access Denied。
  2. 查詢 DNS Client 服務屬性 → 「登入」頁籤,發現服務帳戶非預設的「Local System」,而是 Network Service 內建安全主體。
  3. Hosts 檔案 (或其父目錄 C:\Windows\System32\drivers\etc) 缺少 Network Service 的讀取權限,導致 DNS Client 無法讀取 Hosts,解析直接查詢網路 DNS。

修復步驟

  1. 以系統管理員身分開啟檔案總管,瀏覽至 C:\Windows\System32\drivers\etc。
  2. 右鍵點擊 etc 資料夾 → 「內容」 → 「安全性」 → 「編輯」。
  3. 點擊「新增」 → 輸入 Network Service → 「檢查名稱」 → 確定。
  4. 選取 Network Service,在允許欄勾選「讀取與執行」、「讀取」、「列出資料夾內容」。
  5. 一路確定套用。
  6. 重新啟動 DNS Client 服務 (服務管理員中右鍵 → 重新啟動),或重開機。

修復後 Hosts 檔案立即生效,Ping 測試解析為指定 IP。

補充說明

註冊表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters\UseHostsFile 若存在且為 0,亦會強制忽略 Hosts,但預設不存在此值。若誤建立請刪除或設為 1。

Copyright © Windows教程網 All Rights Reserved