在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;} 是
是
否
否
一键安装失败
(连接被重置/超时)
是否继续尝试
一键安装?
方法二:优化网络环境
-
为CMD配置代理
-
更改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:下载离线包安装
✅ 安装完成
设置用户名密码即可使用
流程图说明:
- 起点:一键安装失败(连接被重置/超时)
- 决策点 :是否继续尝试一键安装?
- 是 → 使用方法二优化网络环境后重试
- 否 → 直接采用方法一手动离线安装
- 方法一流程:四个清晰步骤(启用功能→下载内核→设置版本→安装发行版)
- 方法二流程:优化网络后重试,若仍失败则转入手动安装
方法一:手动离线安装(最推荐,成功率 100%)
通过浏览器或下载工具手动下载所需组件,绕过 CMD 不稳定的网络下载机制。
第 1 步:启用 Windows 必备功能
-
按
Win + S搜索 cmd ,右键选择 "以管理员身份运行"。 -
依次复制并运行以下两条命令(启用 WSL 和虚拟机平台):
cmddism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart -
重启电脑(这一步必须做,否则后续步骤会报错)。
第 2 步:手动下载并安装 WSL 2 内核更新包
- 重启后,使用浏览器(如Edge/Chrome)访问微软官方内核下载链接:
👉 https://aka.ms/wsl2kernel)
(如果链接跳转慢,可直接复制此直链下载:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi) - 下载完成后,双击运行
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 24.04:https://aka.ms/wslubuntu2404
- Ubuntu 22.04:https://aka.ms/wslubuntu2204
- 下载后得到的是一个
.appx或.appxbundle文件,直接双击它即可安装。
安装完成后,在开始菜单找到 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 可能解决问题:
-
打开 控制面板 -> 网络和共享中心 -> 点击你正在使用的网络连接(如 WLAN 或 以太网)。
-
点击 属性 -> 双击 Internet 协议版本 4 (TCP/IPv4)。
-
选择"使用下面的 DNS 服务器地址",并填入:
- 首选 DNS 服务器:
8.8.8.8(Google Public DNS) - 备用 DNS 服务器:
8.8.4.4或114.114.114.114(国内备用)
- 首选 DNS 服务器:
-
点击"确定"保存设置。
-
以管理员身份 打开 CMD 或 PowerShell ,运行以下命令刷新 DNS 缓存:
cmdipconfig /flushdns -
关闭所有 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 发行版是否已正确安装并运行:
-
打开 Ubuntu 终端:
- 在 Windows 开始菜单中搜索并打开你安装的 Ubuntu(例如 "Ubuntu 24.04")。
- 首次打开会提示你设置用户名和密码(密码输入时不会显示,输入后按回车即可)。
-
验证 WSL 版本和运行状态:
-
回到 Windows 命令提示符(CMD)或 PowerShell(管理员或非管理员均可)。
-
运行以下命令,查看已安装的 WSL 发行版及其版本和状态:
cmdwsl --list --verbose -
预期输出示例 :
NAME STATE VERSION * Ubuntu-24.04 Running 2STATE为 Running 表示正在运行,Stopped表示已停止。VERSION为 2 表示正在使用 WSL 2 内核。
-
-
验证 Linux 内核版本:
-
在 Ubuntu 终端 中,运行以下命令:
bashuname -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)。
如果验证失败,请检查上述安装步骤是否全部完成,或参考前面的排错提示。