Windows Vista 連接無線網路時常出現「未識別的網路」,導致無法取得 IP 位址、無法上網。此問題主要源於 Vista 對 DHCP Broadcast Flag 的預設處理方式與部分路由器/非 Microsoft DHCP 伺服器不相容。本文提供兩階段解決方案,從簡單的網卡設定調整到登錄表深度修正,徹底解決無線網路識別問題。
現象: 無線網路連線狀態顯示「未識別的網路」、「無法存取網際網路」,IPv4 位址顯示 169.254.x.x (APIPA) 或空白。
根因: Vista 的 DHCP Discover 封包預設將 Broadcast Flag 設為 1 (啟用),而 XP SP2 預設為 0 (停用)。部分舊款路由器或非標準 DHCP 伺服器不支援 Broadcast Flag=1,導致拒絕回應或忽略封包,Vista 因此無法取得 IP 租約。
原理: 部分環境下 IPv6 干擾 DHCPv4 流程;停用 IPv6 可減少協定衝突,重置網卡強制重新發起 DHCP Discover。
若方法一無效,需修改登錄表強制 Vista 使用 Broadcast Flag = 0 行為。
regedit 開啟登錄編輯器(需管理員權限)。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{GUID}{GUID} 為對應無線網卡的介面識別碼(可對比 IP 位址或 DhcpIPAddress 判斷)。DhcpConnForceBroadcastFlag。微軟官方替代機碼(Vista SP1 後支援):
在同一路徑下新增 DWORD DhcpConnEnableBcastFlagToggle,值設為 1,同樣可達到停用 Broadcast Flag 的效果。此機碼相容性較佳,建議優先嘗試。
ipconfig /all 確認無線網卡已取得有效 IPv4 位址、閘道、DNS。ping www.google.com 測試網路連通性。微軟官方支援文件:KB928233 - Windows Vista 無法從某些路由器取得 IP 位址。