WSL(Windows Subsystem for Linux)让你在 Windows 里直接跑 Linux,不用虚拟机、不用双系统。但安装过程中踩坑的人不少——BIOS 没开虚拟化、报错 0x8007019e、装完不知道怎么配置……
这篇文章把安装全流程和踩坑记录一次讲透,照着走不翻车。
一、安装前:两个硬性前提
1. Windows 版本
WSL2 要求 Windows 10 2004(Build 19041)及以上,或 Windows 11。查版本:Win + R 输入 winver,看构建号。
Build 19041 以下的先升级 Windows,否则 wsl --install 命令不支持。
2. BIOS 虚拟化
这是最常被忽略的一步。WSL2 依赖硬件虚拟化(Intel VT-x / AMD-V),必须在 BIOS 里开启。
重启电脑,开机时狂按
F2/Delete/F12(不同主板按键不同)进 BIOS找到 Intel Virtualization Technology(Intel)或 SVM Mode(AMD),设为
Enabled保存退出
在 Windows 里验证是否已开启:Ctrl + Shift + Esc 打开任务管理器 → 性能 → CPU,右下角看「虚拟化」是否为「已启用」。
注意:部分老 CPU(如 Intel Core 2 Duo)不支持 SLAT(二级地址转换),即使开了虚拟化也跑不了 WSL2。Intel Nehalem 架构(第一代 Core i 系)及以后的 CPU 都支持。
二、一行命令安装
以管理员身份打开 PowerShell(右键开始菜单 →「终端(管理员)」),执行:
wsl --install这条命令会自动完成三件事:
启用「Windows Subsystem for Linux」和「虚拟机平台」两个可选功能
下载并安装 WSL2 Linux 内核更新包
安装默认发行版(Ubuntu)
装完必须重启电脑。重启后 Ubuntu 会自动弹出终端窗口,让你设置用户名和密码。
如果重启后 Ubuntu 没有自动弹出,在开始菜单搜
Ubuntu手动打开即可。
指定发行版
不想用默认的 Ubuntu?先看看有哪些可选:
wsl --list --online然后指定安装:
wsl --install -d Debian常见的有 Ubuntu、Debian、Kali Linux、openSUSE、Arch Linux 等。新手建议 Ubuntu,生态最好,教程最多。
三、初始化设置
首次启动 Ubuntu 时会要求设置用户名和密码。这个密码是 Linux 侧的 sudo 密码,和 Windows 账户无关。
用户名:小写字母,不能有空格,比如
devuser密码:输入时不显示字符,不是卡了,正常现象
设置完成后,验证安装成功:
# 看 WSL 版本
wsl -l -v输出应该显示 VERSION 列为 2。如果显示 1,手动升级:
wsl --set-version Ubuntu 2四、安装后配置
装完不配置等于白装。两个配置文件必须改。
1. /etc/wsl.conf(WSL 侧)
sudo nano /etc/wsl.conf写入:
[boot]
systemd=true
[automount]
enabled=true
options="metadata,umask=22,fmask=11"
[interop]
enabled=true
appendWindowsPath=truesystemd=true:开启 systemd,Docker、nginx 等服务才能用 systemctl 管理automount:自动挂载 Windows 盘到/mnt/c等interop:允许 WSL 里直接调 Windows 程序(如explorer.exe .)
改完后 wsl --shutdown 重启生效。
2. %USERPROFILE%\.wslconfig(Windows 侧)
在 C:\Users\你的用户名\ 下新建 .wslconfig:
[wsl2]
networkingMode=mirrored
dnsTunneling=true
autoProxy=true
memory=8GB
processors=4networkingMode=mirrored:镜像网络模式,Windows 和 WSL 互相用localhost访问dnsTunneling+autoProxy:VPN 环境下 DNS 和代理自动继承memory:限制 WSL 最大内存(默认吃满宿主机一半,建议限制)processors:分配 CPU 核心数
改完后 wsl --shutdown 重启。
五、常见报错速查表
错误码 | 原因 | 解决方案 |
|---|---|---|
| WSL 可选功能没启用 | 管理员 PowerShell 执行 |
| BIOS 虚拟化没开 | 进 BIOS 开启 Intel VT-x / AMD SVM |
| 发行版装在非系统盘 | 确保发行版在 C 盘,或迁移到 C 盘 |
| Windows 内核挂起未加载 | 重启电脑(选「重启」而非关机再开机) |
| 系统显示语言非英文 | 安装 WSL2 内核更新包: |
| CPU 不支持 SLAT | 换电脑(Core 2 及更老的不支持) |
安装卡在 0.0% | 网络问题 | 用 |
| WSL 功能未安装 | 管理员 PowerShell 执行 |
六、迁移到其他盘
WSL 默认装在 C 盘,用久了虚拟磁盘文件(.vhdx)会占好几个 G。想迁移到 D 盘:
# 1. 查看发行版名称
wsl -l -v
# 2. 关闭 WSL
wsl --shutdown
# 3. 导出到 D 盘
wsl --export Ubuntu D:\wsl-backup\ubuntu.tar
# 4. 注销原来的
wsl --unregister Ubuntu
# 5. 导入到 D 盘新位置
wsl --import Ubuntu D:\wsl\Ubuntu D:\wsl-backup\ubuntu.tar
# 6. 设回默认用户(导入后默认是 root)
ubuntu config --default-user 你的用户名
七、日常维护命令
# 更新 WSL 本体
wsl --update
# 查看状态
wsl --status
# 查看所有发行版及版本
wsl -l -v
# 关闭所有 WSL 实例
wsl --shutdown
# 设默认发行版
wsl --set-default Ubuntu
建议定期 wsl --update 保持 WSL 本体最新,微软在持续修复网络和性能问题。
小结
步骤 | 命令/操作 |
|---|---|
检查系统版本 |
|
检查虚拟化 | 任务管理器 → 性能 → CPU → 虚拟化 |
一键安装 |
|
重启生效 | 重启电脑 |
设置用户名密码 | 首次启动时设置 |
开启 systemd |
|
网络配置 |
|
限制内存 |
|
更新 WSL |
|
整个流程总结就是:查版本 → 开虚拟化 → 一行命令装 → 重启 → 配 wsl.conf + .wslconfig → 完事。最容易翻车的是 BIOS 虚拟化没开和系统版本太低,这两个查完基本就稳了。
