返回博客

WSL 安装全流程|一文搞定,踩坑全部帮你排好

WSL 安装全流程|一文搞定,踩坑全部帮你排好

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

这条命令会自动完成三件事:

  1. 启用「Windows Subsystem for Linux」和「虚拟机平台」两个可选功能

  2. 下载并安装 WSL2 Linux 内核更新包

  3. 安装默认发行版(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=true
  • systemd=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=4
  • networkingMode=mirrored:镜像网络模式,Windows 和 WSL 互相用 localhost 访问

  • dnsTunneling + autoProxy:VPN 环境下 DNS 和代理自动继承

  • memory:限制 WSL 最大内存(默认吃满宿主机一半,建议限制)

  • processors:分配 CPU 核心数

改完后 wsl --shutdown 重启。


五、常见报错速查表

错误码

原因

解决方案

0x8007019e

WSL 可选功能没启用

管理员 PowerShell 执行 wsl --install,或手动启用「Windows Subsystem for Linux」功能

0x80370102

BIOS 虚拟化没开

进 BIOS 开启 Intel VT-x / AMD SVM

0x80070003

发行版装在非系统盘

确保发行版在 C 盘,或迁移到 C 盘

0x8000FFFF

Windows 内核挂起未加载

重启电脑(选「重启」而非关机再开机)

0x1bc

系统显示语言非英文

安装 WSL2 内核更新包:wsl --update

0x80370102

CPU 不支持 SLAT

换电脑(Core 2 及更老的不支持)

安装卡在 0.0%

网络问题

wsl --install --web-download -d <发行版名> 先下载再安装

wsl 命令不识别

WSL 功能未安装

管理员 PowerShell 执行 wsl --install


六、迁移到其他盘

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 本体最新,微软在持续修复网络和性能问题。


小结

步骤

命令/操作

检查系统版本

winver,需 19041+

检查虚拟化

任务管理器 → 性能 → CPU → 虚拟化

一键安装

wsl --install

重启生效

重启电脑

设置用户名密码

首次启动时设置

开启 systemd

/etc/wsl.confsystemd=true

网络配置

.wslconfignetworkingMode=mirrored

限制内存

.wslconfigmemory=8GB

更新 WSL

wsl --update

整个流程总结就是:查版本 → 开虚拟化 → 一行命令装 → 重启 → 配 wsl.conf + .wslconfig → 完事。最容易翻车的是 BIOS 虚拟化没开和系统版本太低,这两个查完基本就稳了。