安裝 Windows 7 SP1 時若遇到錯誤代碼 0x80004005 (E_FAIL) 或 0x8004a029,主因是系統安裝的網路篩選驅動程式數量超過預設上限。Win7 預設最多允許 8 個網路篩選驅動,硬性上限 14 個。常見導致超標的軟體包括:防火牆、VPN 用戶端、虛擬網卡驅動、QoS 管理工具、網路監控軟體等。
解決方案 A:修改登錄提升上限至 14(適用於驅動數 9~14 個)
- 執行
regedit 開啟登錄編輯器。
- 定位至:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network
- 右側找到二進位值 MaxNumFilters,預設為 8(十六進位 0x8)。
- 雙擊修改數值資料為 e(十六進位 14)→ 確定。
- 重新啟動電腦後再嘗試安裝 SP1。
解決方案 B:移除多餘第三方網路驅動(適用於驅動數 >14 個)
- 「控制台」→「網路和網際網路」→「網路和共用中心」→「變更介面卡設定」。
- 右鍵使用中的網路介面卡 →「內容」。
- 在「網路」分頁取消勾選或解除安裝非必要的第三方協定/服務(如特定防火牆驅動、VPN 虛擬網卡、QoS 封包排程器等)。
- ⚠ 絕不可移除: Microsoft 網路用戶端、檔案和印表機共用、IPv4/IPv6 協定、QoS 封包排程器(系統預設)等核心元件。
驗證驅動數量
在介面卡內容視窗的清單中即可計算目前安裝的篩選驅動數。建議精簡至 8 個以下,避免未來更新再次衝突。
完成上述處理後,SP1 應可順利安裝。安裝完成後可視需求恢復必要的第三方網路驅動。