You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL网络配置失败致Homebrew无法安装求助

WSL网络配置失败(Error 0xffffffff)及DNS解析问题解决方案

以下是针对你遇到的WSL网络配置错误(CreateInstance/CreateVm/ConfigureNetworking/HNS/0xffffffff)及DNS解析失败问题的分步解决方法:

1. 重置WSL核心网络组件

  • 关闭所有WSL实例:
    wsl --shutdown
    
  • 打开管理员权限的PowerShell,执行以下命令重置Windows网络栈:
    netsh int ip reset all
    netsh winsock reset
    netsh advfirewall reset
    
  • 重启WSL管理服务:
    Get-Service LxssManager | Restart-Service
    

2. 切换到WSL2并重置虚拟机

  • 检查当前WSL分发版的版本:
    wsl -l -v
    
  • 如果你的Ubuntu是WSL1版本,转换为WSL2:
    wsl --set-version Ubuntu 2
    
  • 若上述操作无效,尝试注销并重新初始化Ubuntu:
    wsl --unregister Ubuntu
    
    执行后重新打开Ubuntu终端,系统会自动完成初始化。

3. 切换WSL网络模式为桥接(替代NAT)

  • 关闭WSL:
    wsl --shutdown
    
  • 在Windows用户目录下创建或编辑.wslconfig文件(路径:%USERPROFILE%\.wslconfig),添加以下配置:
    [wsl2]
    networkingMode=bridged
    vmSwitch=Default Switch
    
  • 启动WSL后,测试网络连通性:
    ping 8.8.8.8
    ping github.com
    

4. 检查Windows防火墙权限

  • 打开「Windows Defender防火墙」→「允许应用或功能通过Windows Defender防火墙」
  • 找到「适用于Linux的Windows子系统」,确保勾选「专用」和「公用」网络权限,点击「确定」保存。

5. 永久配置WSL DNS

  • 关闭WSL,在Ubuntu终端中编辑/etc/wsl.conf:
    sudo nano /etc/wsl.conf
    
    添加以下内容:
    [network]
    generateResolvConf = false
    
  • 重启WSL后,删除自动生成的DNS配置文件:
    sudo rm /etc/resolv.conf
    
  • 创建自定义DNS配置:
    sudo bash -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
    sudo bash -c 'echo "nameserver 8.8.4.4" >> /etc/resolv.conf'
    
  • 锁定文件防止被WSL自动覆盖:
    sudo chattr +i /etc/resolv.conf
    

内容的提问来源于stack exchange,提问作者user27664154

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 14:01:01