拓冰建站拓冰建站
首页 / 资讯中心 / 正文

WSL2国内下载提速全攻略:内核包与Ubuntu发行版直链详解

WSL2 国内下载提速全攻略附最新内核包与 Ubuntu 发行版地址先说结论WSL2 本身并不难装难的是国内网络环境下那几个文件的下载节奏太折磨人。微软把功能开关、内核更新包、发行版应用拆成了三样东西任何一个环节卡住后面全是白等。我这次把整套流程从头到尾重新捋了一遍把能绕开的坑都绕开所有能拿到直链的地方都给你列出来照着抄就能装完。这篇文章适合谁刚接触 WSL2 的新手或者已经在装但卡在内核包下载、商店打不开、Ubuntu 下载到一半失败的老手。核心就一句话不需要借助任何网络加速工具靠微软官方镜像地址和国内软件源就能把 WSL2 装好、装快、以后更新也不愁。1. 装 WSL2 之前先摸清你电脑的家底很多人一上来就敲wsl --install结果报错一堆然后开始怀疑人生。实际上大多数报错都不是 WSL 本身的问题而是前置条件没满足。我把需要确认的东西列个表你先对着看一遍。检查项要求不满足的后果Windows 版本Win10 2004Build 19041及以上或 Win11 任意版本无法启用 WSL2 相关功能系统类型64 位无法安装虚拟化BIOS/UEFI 中开启 SVM/VT-x启动时报 0x80370102内存建议 8GB 起跑大型编译会卡硬盘空间至少 20GB 空闲发行版解压后会膨胀这里最容易忽略的是虚拟化开关。AMD 平台在 BIOS 里叫 SVM ModeIntel 平台叫 Virtualization Technology 或 VT-x部分笔记本出厂默认是关闭的。你可以在 Windows 的任务管理器 → 性能 → CPU 页面右下角看到虚拟化已启用/已禁用。另外如果你电脑装了安卓模拟器、Docker Desktop 或者 VMware这些软件和 WSL2 共用 Hyper-V 底层虚拟化平台。装了没坏处但如果以前装过被卸载不干净可能遗留冲突。最稳妥的做法是先把下面这两个 Windows 可选功能打开。在 PowerShell管理员里执行dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart然后必须重启一次。这一步不重启后面安装内核包时会提示找不到组件。WSL2 的组成说起来其实很简单Windows 功能开关负责你能不能跑内核更新包负责你这个 WSL 内核是不是新版发行版应用比如 Ubuntu负责你要用哪个 Linux。搞清楚这个结构后面下载地址就好理解了。2. 内核更新包一条微软直链和一条 GitHub 直链WSL2 的内核更新包是很多人第一次卡住的地方。旧版安装手册给的是微软自己的 blob 存储地址也就是这个https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi这个地址放在浏览器里直接回车就能下载不需要登录、不需要商店速度看运气但比在 PowerShell 里干等强。下载完双击运行一路下一步。如果你用的是比较新的 Windows 11 或 Win10 22H2其实可以不用单独装这个 MSI因为新版 WSL 已经改成通过 GitHub Release 自动更新了。但为了兜底我还是建议手动装一次。新版 WSL 的内核和整个 WSL 运行时都统一打包在 GitHub 的 microsoft/WSL 仓库里地址是https://github.com/microsoft/WSL/releases打开后你会看到一堆.msi和.exe文件。认准两个名字wsl.2.x.x.x.x64.msi64 位内核更新包WSL2Linux-kernel-update-update.msi旧版名称现在基本换成了上面的格式下载时优先选文件体积最大的那个 msi不太可能是处理器架构匹配的另一个档位。如果你不太确定就直接下载.msi不要下.exe。.exe是给命令行安装器用的.msi是传统安装包双击即可。装完内核包之后验证一下wsl --version看到类似WSL 版本 2.x.x.x的输出就说明运行时已经就绪。这里提醒一下如果显示的是Windows Subsystem for Linux 没有已安装的分发版那很正常因为发行版还没装不代表内核有问题。3. Ubuntu 的 WSL 发行版从哪拿最稳这是第二个容易卡住的地方。很多人打开微软商店搜索 Ubuntu然后点击获取结果进度条半天不动或者直接报错。商店下载慢不是你的网问题是商店 CDN 在国内的走线确实不稳定。解决办法很直接不走商店直接用微软官方发行版直链。微软在安装手册里放了一批 WSL 发行版的直链之间不需要登录商店浏览器就能下。常用的几个我列在下面。发行版官方直链说明Ubuntu 24.04https://aka.ms/wslubuntu2404目前最新 LTSUbuntu 22.04https://aka.ms/wslubuntu2204稳定老牌 LTSUbuntu 20.04https://aka.ms/wslubuntu2004老项目兼容可选Debianhttps://aka.ms/wsldebian轻量稳定Kali Linuxhttps://aka.ms/wslkali安全测试用途点击链接后浏览器会下载一个.appx或.msixbundle文件体积大约在 300MB 到 500MB 之间。用浏览器下载的好处是下载断了可以续传。商店下载断了只能重来浏览器至少能看到进度。下载完成后在文件所在目录打开 PowerShell执行安装命令Add-AppxPackage .\Ubuntu_2404.1.1.0_x64.appx具体文件名以你下载的实际名为准。安装完成后直接输入wsl或从开始菜单启动 Ubuntu它会让你设置新的用户名和密码这个用户默认带有 sudo 权限。设置完成后建议顺手升级一下sudo apt update sudo apt -y upgrade如果这一步网络很慢别急下一章我就讲怎么把 apt 源切到国内镜像那才是长期舒服的关键。另外还有一个思路如果你已经在别的机器上装好了 WSL2 Ubuntu可以直接用wsl --export把整个系统导出成 tar 包再在新机器上用wsl --import导入。这样连装都不用装恢复起来比自己重新配置快很多。导出导入的具体命令我放在后面一章因为涉及默认安装路径调整一起讲。4. 进系统第一件事把 apt 源切到国内镜像装好 Ubuntu 只是开始真正影响长期使用体验的是软件源。Ubuntu 默认源在国外apt update经常只有几 KB/s装个 gcc 能等十分钟。切换到国内镜像后速度基本能到几十 MB/s体感完全不同。先确认你的 Ubuntu 版本lsb_release -a看到Release: 24.04就是 noble22.04 就是 jammy。这个代号决定了源文件该怎么写。对于 Ubuntu 22.04 及更早的版本配置文件是/etc/apt/sources.list。改之前先备份sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak然后编辑文件把里面所有http://archive.ubuntu.com和http://security.ubuntu.com开头的行替换成清华镜像deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse如果你更喜欢阿里云镜像把 URL 换成https://mirrors.aliyun.com/ubuntu/即可。两者我都试过速度差不太多选一个稳定的长期用就行。对于 Ubuntu 24.04配置文件结构改了不再是单行的deb格式而是/etc/apt/sources.list.d/ubuntu.sources里的多行块。直接编辑这个文件把里面的内容替换成Types: deb URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ Suites: noble noble-updates noble-backports noble-security Components: main restricted universe multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg保存后执行sudo apt update你会明显看到下载列表刷得飞快。如果之前已经有一堆依赖没升级完现在可以放心跑apt upgrade了。顺手把 pip 的源也切一下因为后面无论是装 Python 包还是搭深度学习环境都会用到mkdir -p ~/.pip cat ~/.pip/pip.conf EOF [global] index-url https://pypi.tuna.tsinghua.edu.cn/simple trusted-host pypi.tuna.tsinghua.edu.cn EOF这样的话WSL2 内部的环境才算真正好用了。5. 如果发行版下载始终不顺换个思路兜底我理解前面那些方法对大多数人已经够了但总有人运气不好直链也下载失败或者遇到微软 CDN 临时故障。这时候可以试第三种途径。在 Windows 11 或 Win10 新版里直接执行wsl --install -d Ubuntu-24.04这个命令会主动去微软后端拉取发行版可以理解为走的是和商店不同的通道。有时候商店里点不了这个命令反而能成功。如果提示名称不对先跑wsl --list --online看看当前支持的发行版清单里面一般有Ubuntu、Ubuntu-22.04、Ubuntu-24.04、Debian等。选一个你需要的名称执行。还有更兜底的方式就是使用第三方站点从微软 CDN 抓取离线包。这里说的不是乱七八糟的下载站而是商店离线包查询这一类的工具。使用方法很简单把前面表格里的aka.ms/wslubuntu2404链接粘贴进去它会帮你解析出该应用对应的全部下载地址包括.appx、.msixbundle、.msix等。然后从里面挑一个x64的appx或bundle文件下载。下载后安装命令和前面一样Add-AppxPackage .\Ubuntu_2404.1.0.0_x64.msixbundle这种方式的核心逻辑是商店应用的本质是托管在微软 CDN 上的一个安装包你只要能拿到那个包的直链就能绕开商店客户端直接装。这不涉及任何修改系统或绕过安全机制的操作装出来的效果和商店装的一模一样后续照样通过wsl正常使用。有人会担心第三方解析站安全性我的建议是优先用我前面写的微软官方aka.ms直链解析站只作为备用。拿到 .appx/.msixbundle 后如果你对文件有疑虑可以在 PowerShell 里先查签名Get-AuthenticodeSignature .\Ubuntu_2404.1.0.0_x64.appx状态显示Valid且签名方为Microsoft Corporation就没问题。6. 装完之后建议立刻做的三件事系统能跑起来不代表用着舒服。根据我这么多年的使用经验有三件事装完就应该做不然用到一半绝对后悔。第一件事把默认安装路径改到 D 盘或更大的分区。WSL 默认把发行版安装在C:\Users\用户名\AppData\Local\Packages下面C 盘空间不够就很容易爆。改路径的方法其实很简单用一次导出导入就行。比如你想把 Ubuntu 挪到 D 盘先关闭运行中的 WSLwsl --shutdown然后导出wsl --export Ubuntu D:\wsl-backup\ubuntu.tar注销原来的发行版注意这会删除原系统里所有数据确保已经备份wsl --unregister Ubuntu再导入到 D 盘wsl --import Ubuntu D:\WSL\Ubuntu D:\wsl-backup\ubuntu.tar --version 2导入后你会发现默认用户可能变成了 root没关系进入系统后执行命令改回来sudo -u $USER -i或者直接在/etc/wsl.conf里加[user] default你的用户名然后执行wsl --shutdown再重启就恢复正常了。第二件事配置 WSL 的.wslconfig文件限制内存和 CPU 使用。WSL2 默认会吃掉你一半以上的内存对 8GB 机器很不友好。在 Windows 用户目录下创建.wslconfig内容可以参考[wsl2] memory4GB processors4 localhostForwardingtrue swap2GB保存后执行wsl --shutdown让配置生效。这会让你日常用 Windows 的时候不至于被 WSL 拖慢。第三件事写一个保持 WSL 后台运行的小命令。WSL2 有一个机制如果所有 WSL 终端都关了虚拟机会在 8 秒后自动关闭导致后台跑的服务被中断。其实官方设计就是这样不算 bug但开发时很烦。解决办法也很简单在 PowerShell 里写一个后台任务让它常驻wsl -d Ubuntu -u root -e bash -c while true; do sleep 86400; done这个命令会让虚拟机一直有一个活跃的进程WSL 就不会自动关停。缺点是会多占一点点资源适合开发时需要常驻 Docker、数据库等服务的场景。如果只是偶尔用一下没必要保活让它按默认机制自动释放资源反而更好。7. 常见报错排查按经验排优先级我整理了几个 WSL2 安装中最常遇见的报错以及对应的解决方案方便你遇到问题的时候直接按图索骥。错误 1WslRegisterDistribution failed with error 0x8007019e这个报错九成是内核更新包没装或者装了但没重启。先执行wsl --set-default-version 2如果提示内核包缺失就重新下载安装第 2 节里的wsl.2.x.x.x.x64.msi然后重启电脑再来一次。错误 2Error code 0x80370102这个报错说明虚拟化没有在 BIOS 里开启。开机按 DEL/F2 进 BIOS找到 SVM Mode 或 VT-x设为 Enabled保存退出后重新启动。错误 3WSL2 网络断了访问外部网站超时常见于重启后端口的场景。执行wsl --shutdown再重新启动一般就能恢复。更彻底的方法是关掉 Windows 的虚拟化安全性功能但那个为了系统安全不建议乱动。错误 4启动 Ubuntu 时提示 WSL 内核版本太低说明你用的是旧内核包全新发行版要求内核版本至少 5.10。去 GitHub Release 下载最新的 MSI 装一下问题解决。错误 5apt update 总是连接不上我见过太多人卡在这一步实际上是没切源。切源之后基本就没事了。如果你用的系统太老ca-certificates证书过旧也可能导致 https 握手失败建议先临时改用 http 源跑一次apt update和apt install ca-certificates再切回 https。8. 一个小技巧把 WSL2 变成一台随时可恢复的开发机刚才讲的导出导入功能其实可以玩得更高级。我通常在完成 Ubuntu 初始化、配好源、装好 Docker、拉好常用镜像之后直接把整个系统导出一次存到移动硬盘或 NAS 里。这个备份的好处是以后不管换电脑还是重装系统只要执行一遍wsl --import Ubuntu D:\WSL\Ubuntu D:\backup\ubuntu.tar --version 2整个开发环境就回来了不需要重新配源、重新装软件、重新设用户。tar 包体积可能在 2GB 到 5GB 之间但相比从零开始配置省下的时间远大于这个体积带来的存储成本。我一直觉得 WSL2 最大的价值不在能跑 Linux而在于它让 Windows 用户能以极低成本获得一个可迁移、可还原、和宿主机隔离的完整开发环境。把上面的安装流程走一遍之后你会发现后续的每一次重装都是在帮未来的你省时间。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门