Windows 上用 WSL 安装 Debian:从安装到日常使用
本文记录在 Windows 11 上使用 WSL 安装 Debian 的完整流程,包括安装位置、常用命令、文件互访、systemd、GUI 应用和常见问题排查。
想在 Windows 上用一个顺手的 Linux 环境,但又不想装双系统或开笨重的虚拟机,WSL 是很合适的选择。它由微软官方维护,启动快、资源占用低,能直接和 Windows 的文件系统、终端、VS Code 配合。本文以 Debian 为例,记录从安装到日常使用的完整流程,并整理常见问题和避坑点。
为什么选择 WSL
WSL(Windows Subsystem for Linux)是微软官方提供的 Linux 兼容层。相比传统虚拟机或双系统,它的优势是:
- 启动快、资源占用低,不需要单独分配内存和磁盘;
- 与 Windows 文件系统、终端、VS Code 等工具集成度高;
- 可以直接运行 Linux 命令行工具、编译环境、SSH、Docker 等。
它更适合“在 Windows 上要一个顺手的 Linux 命令行环境”,而不是完全替代 Linux 桌面。如果你需要完整桌面、自定义内核或硬件直通,虚拟机或双系统更合适。
本文以 Windows 11 + WSL2 为例;Windows 10 2004(Build 19041)及以上也适用。GUI 部分仅 Windows 11 的 WSLg 开箱即用。
前置条件
- Windows 10 2004+ 或 Windows 11;
- 在 BIOS/UEFI 中开启 CPU 虚拟化(Intel VT-x / AMD-V);
- 使用管理员权限打开 PowerShell。
检查虚拟化:任务管理器 → 性能 → CPU → “虚拟化:已启用”。如果显示已禁用,重启进入 BIOS 开启。
检查 WSL 是否已安装:
wsl --version
wsl --status
如果提示 wsl 不是内部或外部命令,说明系统还没有 WSL,继续下面的安装步骤;如果是很老的 Windows 版本,需要先手动启用“适用于 Linux 的 Windows 子系统”和“虚拟机平台”两个功能。
安装 WSL 和 Debian
1. 安装 WSL
以管理员身份打开 PowerShell:
wsl --install --no-distribution --web-download
--no-distribution表示只安装 WSL,不顺带安装默认的 Ubuntu;--web-download表示从网络下载最新版本,不依赖 Microsoft Store,适合 Store 打不开或下载卡住的情况;- 安装完成后按提示重启。
如果当前系统不支持 --no-distribution,也可以直接执行 wsl --install --web-download,它会同时安装 Ubuntu,之后再加装 Debian 即可。
重启后检查:
wsl --version
wsl --update
2. 查看可安装的发行版
wsl --list --online
# 或
wsl -l -o
输出中可以看到 Debian、Ubuntu、Kali 等名称。安装时使用的名字必须和列表中的 NAME 一致。
3. 安装 Debian
默认安装到系统盘:
wsl --install -d Debian
如果想安装到其他磁盘(需要较新的 WSL 版本):
wsl --install -d Debian --location D:\Linux\Debian
--location 指定的目录必须不存在或为空;建议提前创建好父目录。安装完不想立即启动,可以加 --no-launch。
如果当前 WSL 版本不支持 --location,可以先按默认位置安装,再导出/导入到目标目录:
wsl --export Debian D:\backup\debian.tar
wsl --unregister Debian
wsl --import Debian D:\Linux\Debian D:\backup\debian.tar --version 2
wsl --unregister会删除该发行版的所有数据,执行前确认已经导出备份。
4. 首次启动与初始化
从开始菜单打开 Debian,或在 PowerShell 中执行:
wsl -d Debian
第一次启动会解压文件并提示创建 UNIX 用户名和密码。密码输入时不会显示字符,这是正常的。这个用户不是 root,需要管理员权限时使用 sudo。
进入系统后先更新软件源:
sudo apt update
sudo apt upgrade -y
5. 设为默认发行版
wsl --set-default Debian
wsl --list --verbose
确认 VERSION 列是 2。如果是 1,转换为 WSL2:
wsl --set-version Debian 2
wsl --set-default-version 2
转换可能需要几分钟,建议先备份重要数据。
日常使用
常用命令
| 操作 | 命令 |
|---|---|
| 启动默认发行版 | wsl |
| 启动 Debian | wsl -d Debian |
| 以 root 身份进入 | wsl -d Debian --user root |
| 查看已安装发行版 | wsl -l -v |
| 查看可安装发行版 | wsl -l -o |
| 设置默认发行版 | wsl --set-default Debian |
| 终止 Debian | wsl --terminate Debian |
| 关闭所有 WSL 实例 | wsl --shutdown |
| 更新 WSL | wsl --update |
| 查看状态 | wsl --status |
| 导出备份 | wsl --export Debian D:\backup\debian.tar |
| 注销并删除数据 | wsl --unregister Debian |
Windows 与 Linux 文件互访
- Windows 访问 Linux 文件:在资源管理器地址栏输入
\\wsl.localhost\Debian\home\<用户名>;旧版本也可以用\\wsl$\Debian\...。 - Linux 访问 Windows 文件:Windows 的 C 盘挂载在
/mnt/c,例如cd /mnt/c/Users/<用户名>。 - 性能建议:代码、数据库、编译产物尽量放在 Linux 文件系统(如
~/projects),不要放在/mnt/c下。跨文件系统的大量小文件读写会明显变慢。 - VS Code:安装 “WSL” 扩展,在 Debian 里执行
code .即可直接用 Windows 版 VS Code 打开当前目录。
软件安装
Debian 使用 apt:
sudo apt update
sudo apt install -y curl git build-essential
需要 Node.js、Python 等版本管理工具时,优先使用各自官方推荐的方式(如 nvm、pyenv),避免和 apt 包混用。
启用 systemd
较新的 WSL 支持 systemd。编辑 /etc/wsl.conf:
sudo nano /etc/wsl.conf
写入:
[boot]
systemd=true
保存后回到 PowerShell 执行:
wsl --shutdown
wsl -d Debian
验证:
systemctl status
能看到 systemd 状态就说明生效了。之后可以用 systemctl enable --now <服务名> 管理服务。
GUI 应用
Windows 11 自带 WSLg,安装带图形界面的 Linux 程序后可以直接运行:
sudo apt install -y x11-apps
xeyes
Windows 10 没有 WSLg,需要额外安装 X Server(如 VcXsrv、X410)并配置 DISPLAY,或者使用 XRDP 远程桌面。WSLg 适合轻量 GUI 工具,不适合当作完整 Linux 桌面使用。
网络与端口
WSL2 默认使用 NAT 网络。Windows 访问 WSL 内监听的端口通常可以直接用 localhost;如果要从局域网访问,需要在 Windows 上做端口转发并放行防火墙。不要把数据库、Redis 等敏感服务直接监听在 0.0.0.0 后暴露到公网。
常见问题
1. wsl 命令不存在
Windows 版本太旧或 WSL 功能未启用。以管理员身份执行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
然后重启,再执行 wsl --install。如果系统版本低于 Windows 10 2004,需要先升级系统。
2. 安装卡在 0% 或 Store 报错
改用:
wsl --install --web-download -d Debian
wsl --update --web-download
必要时检查系统代理或网络环境。
3. 提示虚拟化未开启
任务管理器确认虚拟化状态;如果禁用,进入 BIOS/UEFI 开启 Intel VT-x 或 AMD-V,并确认“虚拟机平台”功能已启用。
4. wsl -l -v 显示 VERSION 1
执行:
wsl --set-version Debian 2
wsl --set-default-version 2
转换前建议备份重要数据。
5. 忘记 Linux 用户密码
以 root 身份重置:
wsl -d Debian --user root passwd <用户名>
然后按提示输入新密码。
6. 磁盘占用越来越大
WSL2 的虚拟磁盘会随着写入增长,但不会自动缩小。可以先用 wsl --export 备份,再 wsl --unregister 后重新 wsl --import 到新目录;也可以在管理员 PowerShell 中用 diskpart 的 compact vdisk 压缩对应的 ext4.vhdx。操作前务必备份。
7. 卸载 Debian
wsl --unregister Debian
该命令会永久删除该发行版的数据。之后可以在“设置 → 应用”中卸载 Debian 应用。
小结
WSL2 + Debian 很适合作为 Windows 上的日常 Linux 开发环境:安装简单、启动快,和 Windows 工具链配合好。建议把项目放在 Linux 文件系统、定期导出备份,并避免把内部服务直接暴露到公网。如果只是偶尔用 Linux 命令,WSL 足够;如果需要完整桌面或自定义内核,再考虑虚拟机或双系统。