【WSL+Linux】国内网络连接微软官方服务器(或GitHub)不稳定,导致下载内核或Linux发行版时超时断开如何解决?

在CMD中使用 wsl --install 一键安装 WSL 时,遇到"与服务器的连接被重置"或中途断开,99%的原因是因为国内网络连接微软官方服务器(或 GitHub)不稳定,导致下载内核或Linux发行版时超时断开。

要彻底解决这个问题,最推荐的方法是放弃一键命令,改为"手动离线安装"。以下是具体的操作步骤:

📊 安装决策流程图

当 wsl --install 一键安装失败时,可以参考以下决策流程选择解决方案:
#mermaid-svg-VllhWI4ErMFSNRGc{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-VllhWI4ErMFSNRGc .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-VllhWI4ErMFSNRGc .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-VllhWI4ErMFSNRGc .error-icon{fill:#552222;}#mermaid-svg-VllhWI4ErMFSNRGc .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-VllhWI4ErMFSNRGc .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-VllhWI4ErMFSNRGc .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-VllhWI4ErMFSNRGc .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-VllhWI4ErMFSNRGc .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-VllhWI4ErMFSNRGc .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-VllhWI4ErMFSNRGc .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-VllhWI4ErMFSNRGc .marker{fill:#333333;stroke:#333333;}#mermaid-svg-VllhWI4ErMFSNRGc .marker.cross{stroke:#333333;}#mermaid-svg-VllhWI4ErMFSNRGc svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-VllhWI4ErMFSNRGc p{margin:0;}#mermaid-svg-VllhWI4ErMFSNRGc .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-VllhWI4ErMFSNRGc .cluster-label text{fill:#333;}#mermaid-svg-VllhWI4ErMFSNRGc .cluster-label span{color:#333;}#mermaid-svg-VllhWI4ErMFSNRGc .cluster-label span p{background-color:transparent;}#mermaid-svg-VllhWI4ErMFSNRGc .label text,#mermaid-svg-VllhWI4ErMFSNRGc span{fill:#333;color:#333;}#mermaid-svg-VllhWI4ErMFSNRGc .node rect,#mermaid-svg-VllhWI4ErMFSNRGc .node circle,#mermaid-svg-VllhWI4ErMFSNRGc .node ellipse,#mermaid-svg-VllhWI4ErMFSNRGc .node polygon,#mermaid-svg-VllhWI4ErMFSNRGc .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-VllhWI4ErMFSNRGc .rough-node .label text,#mermaid-svg-VllhWI4ErMFSNRGc .node .label text,#mermaid-svg-VllhWI4ErMFSNRGc .image-shape .label,#mermaid-svg-VllhWI4ErMFSNRGc .icon-shape .label{text-anchor:middle;}#mermaid-svg-VllhWI4ErMFSNRGc .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-VllhWI4ErMFSNRGc .rough-node .label,#mermaid-svg-VllhWI4ErMFSNRGc .node .label,#mermaid-svg-VllhWI4ErMFSNRGc .image-shape .label,#mermaid-svg-VllhWI4ErMFSNRGc .icon-shape .label{text-align:center;}#mermaid-svg-VllhWI4ErMFSNRGc .node.clickable{cursor:pointer;}#mermaid-svg-VllhWI4ErMFSNRGc .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-VllhWI4ErMFSNRGc .arrowheadPath{fill:#333333;}#mermaid-svg-VllhWI4ErMFSNRGc .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-VllhWI4ErMFSNRGc .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-VllhWI4ErMFSNRGc .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-VllhWI4ErMFSNRGc .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-VllhWI4ErMFSNRGc .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-VllhWI4ErMFSNRGc .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-VllhWI4ErMFSNRGc .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-VllhWI4ErMFSNRGc .cluster text{fill:#333;}#mermaid-svg-VllhWI4ErMFSNRGc .cluster span{color:#333;}#mermaid-svg-VllhWI4ErMFSNRGc div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-VllhWI4ErMFSNRGc .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-VllhWI4ErMFSNRGc rect.text{fill:none;stroke-width:0;}#mermaid-svg-VllhWI4ErMFSNRGc .icon-shape,#mermaid-svg-VllhWI4ErMFSNRGc .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-VllhWI4ErMFSNRGc .icon-shape p,#mermaid-svg-VllhWI4ErMFSNRGc .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-VllhWI4ErMFSNRGc .icon-shape .label rect,#mermaid-svg-VllhWI4ErMFSNRGc .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-VllhWI4ErMFSNRGc .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-VllhWI4ErMFSNRGc .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-VllhWI4ErMFSNRGc :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 是
是
否
否
一键安装失败

(连接被重置/超时)
是否继续尝试

一键安装?
方法二:优化网络环境

  1. 为CMD配置代理

  2. 更改DNS服务器
    再次尝试

wsl --install
是否成功?
✅ 安装完成
转入手动离线安装
方法一:手动离线安装

(推荐,成功率100%)
第1步:启用Windows必备功能

  • 启用WSL功能

  • 启用虚拟机平台

  • 重启电脑
    第2步:下载并安装WSL2内核

  • 访问官方链接下载内核包

  • 双击安装wsl_update_x64.msi
    第3步:设置WSL2为默认版本

  • 管理员CMD运行

wsl --set-default-version 2
第4步:安装Linux发行版

  • 方式A:微软商店安装Ubuntu

  • 方式B:下载离线包安装
    ✅ 安装完成

设置用户名密码即可使用

流程图说明:

  1. 起点:一键安装失败(连接被重置/超时)
  2. 决策点 :是否继续尝试一键安装?
    • 是 → 使用方法二优化网络环境后重试
    • 否 → 直接采用方法一手动离线安装
  3. 方法一流程:四个清晰步骤(启用功能→下载内核→设置版本→安装发行版)
  4. 方法二流程:优化网络后重试,若仍失败则转入手动安装

方法一:手动离线安装(最推荐,成功率 100%)

通过浏览器或下载工具手动下载所需组件,绕过 CMD 不稳定的网络下载机制。

第 1 步:启用 Windows 必备功能
  1. 按 Win + S 搜索 cmd ,右键选择 "以管理员身份运行"。

  2. 依次复制并运行以下两条命令(启用 WSL 和虚拟机平台):

    cmd 复制代码
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  3. 重启电脑(这一步必须做,否则后续步骤会报错)。

第 2 步:手动下载并安装 WSL 2 内核更新包
  1. 重启后,使用浏览器(如Edge/Chrome)访问微软官方内核下载链接:
    👉 https://aka.ms/wsl2kernel)
    (如果链接跳转慢,可直接复制此直链下载:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi)
  2. 下载完成后,双击运行 wsl_update_x64.msi 进行安
第 3 步:设置 WSL 2 为默认版本

打开管理员 CMD,输入以下命令并回车:

cmd 复制代码
wsl --set-default-version 2

(如果提示"请将......启用为默认版本",请检查第 1 步的功能是否开启并重启了电脑)

第 4 步:手动下载并安装 Linux 发行版(如 Ubuntu)

不要使用 wsl --install 下载了,直接去微软商店或下载离线包:

  • 方式 A(推荐) :打开电脑自带的 Microsoft Store(微软商店) ,搜索 Ubuntu(推荐 Ubuntu 22.04 或 24.04),点击"获取/安装"。
  • 方式 B(离线包) :如果微软商店也连不上,可以用浏览器下载离线安装包:

安装完成后,在开始菜单找到 Ubuntu 并打开,设置用户名和密码即可。

常见手动安装问题排查

手动安装过程中可能会遇到以下问题,这里提供相应的排查方案:

问题现象 可能原因 解决方案
双击 MSI 无反应 1. 系统权限不足 2. 文件损坏 3. 安全软件拦截 1. 右键以管理员身份运行 2. 重新下载内核包,检查文件完整性 3. 临时关闭杀毒软件/防火墙再试
安装发行版时报错 0x80070005 权限不足或文件被占用 1. 确保使用管理员权限 运行安装程序 2. 关闭所有可能占用系统文件的程序(如虚拟机软件) 3. 尝试在安全模式下安装
商店下载慢或无法连接 微软商店服务器网络不稳定 1. 使用**方式 B(离线包)**直接下载安装 2. 更换网络环境(如使用手机热点) 3. 修改系统 DNS 为 8.8.8.8 和 8.8.4.4
运行 wsl --set-default-version 2 提示"请启用 WSL" 第 1 步的功能未正确启用或未重启 1. 确认已以管理员身份运行两条 dism.exe 命令 2. 必须重启电脑 后重试此命令 3. 在"启用或关闭 Windows 功能"中手动勾选"适用于 Linux 的 Windows 子系统"和"虚拟机平台"
安装后 Ubuntu 启动闪退 1. WSL 2 内核未正确安装 2. 虚拟化未开启 1. 重新运行第 2 步的 MSI 安装包 2. 进入 BIOS 开启 Virtualization Technology (VT-x/AMD-V) 3. 在 PowerShell 中运行 wsl --update 更新内核
离线包(.appx)安装失败 系统版本过低或架构不匹配 1. 确认 Windows 版本 ≥ 1903(x64) 2. 下载与系统架构匹配的包(通常为 x64) 3. 尝试通过微软商店安装(方式 A)
安装后无法设置用户名密码 系统区域设置或用户名冲突 1. 确保系统区域设置为中文(简体,中国) 2. 使用纯英文用户名(不含空格和特殊字符) 3. 在 PowerShell 中运行 wsl --unregister <发行版名> 后重新安装

如果以上方案仍无法解决您的问题,建议查阅 WSL 官方文档 或社区论坛寻求帮助。


方法二:优化网络环境后重试(备用方案)

如果由于环境限制必须使用 wsl --install 命令,可以尝试以下通用网络优化方法,改善与微软服务器的连接稳定性。

1. 更改 DNS 服务器(首选方案)

不稳定的 DNS 解析是导致"连接被重置"的常见原因。将 DNS 修改为公共 DNS 可能解决问题:

  1. 打开 控制面板 -> 网络和共享中心 -> 点击你正在使用的网络连接(如 WLAN 或 以太网)。

  2. 点击 属性 -> 双击 Internet 协议版本 4 (TCP/IPv4)。

  3. 选择"使用下面的 DNS 服务器地址",并填入:

    • 首选 DNS 服务器:8.8.8.8 (Google Public DNS)
    • 备用 DNS 服务器:8.8.4.4 或 114.114.114.114 (国内备用)
  4. 点击"确定"保存设置。

  5. 以管理员身份 打开 CMD 或 PowerShell ,运行以下命令刷新 DNS 缓存:

    cmd 复制代码
    ipconfig /flushdns
  6. 关闭所有 CMD/PowerShell 窗口,重新打开一个新的管理员 CMD ,再次尝试运行 wsl --install。

2. 使用稳定的网络连接
  • 尝试切换网络:如果可能,连接手机热点或其他网络环境进行尝试。
  • 避开高峰时段:在网络使用低峰期(例如深夜或清晨)进行安装。
  • 暂时关闭防火墙/安全软件:某些安全软件的流量扫描可能会干扰长时间连接。可尝试暂时关闭后再试(操作后请记得重新开启)。

重要提示 :如果上述优化后 wsl --install 仍然失败,强烈建议您转而采用 【方法一:手动离线安装】,这是成功率最高、最不受网络波动影响的方式。

💡 补充排错提示

  • BIOS 虚拟化未开启 :如果安装过程中提示"虚拟机平台"无法启用,或者报错 0x80370102,请重启电脑进入 BIOS,找到 Virtualization Technology (VT-x/AMD-V) 并将其设置为 Enabled(开启)。
  • Windows 版本过低:WSL 2 需要 Windows 10 版本 1903 (x64) 或更高版本,推荐直接升级到 Windows 10 22H2 或 Windows 11 以获得最佳体验。

✅ 验证安装成功

安装完成后,请按照以下步骤验证 WSL 2 内核和 Linux 发行版是否已正确安装并运行:

  1. 打开 Ubuntu 终端:

    • 在 Windows 开始菜单中搜索并打开你安装的 Ubuntu(例如 "Ubuntu 24.04")。
    • 首次打开会提示你设置用户名和密码(密码输入时不会显示,输入后按回车即可)。
  2. 验证 WSL 版本和运行状态:

    • 回到 Windows 命令提示符(CMD)或 PowerShell(管理员或非管理员均可)。

    • 运行以下命令,查看已安装的 WSL 发行版及其版本和状态:

      cmd 复制代码
      wsl --list --verbose
    • 预期输出示例 :

      复制代码
        NAME            STATE           VERSION
      * Ubuntu-24.04    Running         2
      • STATE 为 Running 表示正在运行,Stopped 表示已停止。
      • VERSION 为 2 表示正在使用 WSL 2 内核。
  3. 验证 Linux 内核版本:

    • 在 Ubuntu 终端 中,运行以下命令:

      bash 复制代码
      uname -a
    • 预期输出示例 :

      复制代码
      Linux DESKTOP-XXXXXX 5.15.133.1-microsoft-standard-WSL2 #1 SMP ... x86_64 x86_64 x86_64 GNU/Linux
      • 输出中包含 WSL2 字样,即表示正在使用 WSL 2 内核。

验证通过标志:

  • wsl --list --verbose 显示发行版版本为 2。
  • uname -a 输出中包含 WSL2。
  • 可以在 Ubuntu 终端中正常使用 Linux 命令(如 ls, pwd)。

如果验证失败,请检查上述安装步骤是否全部完成,或参考前面的排错提示。

相关推荐
律宏阔17 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔17 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴17 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
乱码三千18 小时前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei3718 小时前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei3718 小时前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei3718 小时前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化
GeW18 小时前
制造业高端化,为什么必须重估Linux和数据库?
linux
百万蹄蹄向前冲18 小时前
双端同步!云服务器装最新Node.js v26.10全过程追踪
服务器·人工智能·node.js
GeW18 小时前
工业场景中的Linux与数据库选型:高端化转型的技术底座
linux