适用环境:Windows 11
推荐 Linux:Ubuntu 24.04 LTS
目标:安装 WSL2,并配置成可以正常进行 Git、Python、Node.js、Java、Android 等开发的 Linux 环境。
1. WSL2 是什么
WSL 全称:
Windows Subsystem for Linux
即:
适用于 Linux 的 Windows 子系统
WSL2 可以让你直接在 Windows 中运行一个完整的 Linux 环境,例如:
Windows 11
├── PowerShell
├── Windows Terminal
├── VS Code
├── Android Studio
│
└── WSL2
└── Ubuntu 24.04
├── bash / zsh
├── git
├── ssh
├── gcc
├── python
├── node
├── java
└── docker
相比传统虚拟机,WSL2 最大的优势是:
- 不需要单独安装 VMware / VirtualBox
- Windows 和 Linux 可以直接访问彼此的文件
- Windows Terminal 可以直接进入 Linux
- VS Code 可以直接连接 WSL
- Windows 可以直接运行 Linux 命令
- Linux 可以直接启动 Windows 程序
- 支持完整 Linux 内核
- 支持 Docker
- 支持 systemd
对于开发环境来说,通常推荐直接使用 WSL2,不建议再使用 WSL1。
2. 系统要求
推荐:
Windows 11
也支持较新的 Windows 10。
微软当前的一键安装方式要求:
Windows 10 2004 / Build 19041 或更高
或者:
Windows 11
如果是 Windows 11,基本不需要考虑系统版本问题。
3. 检查 Windows 版本
按:
Win + R
输入:
winver
回车。
如果看到:
Windows 11
即可继续。
4. 检查 CPU 虚拟化
WSL2 依赖 CPU 虚拟化。
打开:
任务管理器
快捷键:
Ctrl + Shift + Esc
进入:
性能
→ CPU
查看右下角:
虚拟化:已启用
正常应该看到:
虚拟化:已启用
如果显示:
虚拟化:已禁用
需要进入 BIOS 开启。
Intel CPU 一般叫:
Intel Virtualization Technology
VT-x
AMD CPU 一般叫:
SVM Mode
AMD-V
开启后保存 BIOS 设置并重新进入 Windows。
5. 打开管理员 PowerShell
在开始菜单搜索:
PowerShell
或者:
Terminal
右键:
以管理员身份运行
后面的 WSL 安装命令建议都在:
管理员 PowerShell
中执行。
6. 查看当前 WSL 状态
执行:
wsl --status
如果还没有安装 WSL,可能提示:
Windows Subsystem for Linux has no installed distributions
或者提示安装 WSL。
都属于正常情况。
7. 查看可以安装的 Linux
执行:
wsl --list --online
也可以写成:
wsl -l -o
通常会看到类似:
NAME FRIENDLY NAME
Ubuntu Ubuntu
Ubuntu-24.04 Ubuntu 24.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
openSUSE-Tumbleweed openSUSE Tumbleweed
开发环境推荐:
Ubuntu-24.04
原因:
- LTS 长期支持版本
- 软件资料最多
- WSL 支持成熟
- Python / Node / Java / Docker / Android 开发方便
- Ubuntu 社区资料丰富
8. 安装 WSL2
方式一:最简单安装
管理员 PowerShell:
wsl --install
这个命令通常会自动:
- 安装 WSL
- 启用所需 Windows 功能
- 安装 WSL2
- 安装默认 Ubuntu
- 配置 WSL2
执行完成后:
重新启动 Windows
9. 推荐:明确安装 Ubuntu 24.04
如果希望明确安装 Ubuntu 24.04:
wsl --install -d Ubuntu-24.04
然后重新启动:
Windows
推荐直接使用这个命令。
10. 如果 Microsoft Store 无法下载
部分公司网络、代理环境或者 Microsoft Store 有问题时,安装可能卡在:
0.0%
可以改用:
wsl --install --web-download -d Ubuntu-24.04
这里:
--web-download
表示不通过 Microsoft Store 下载 Linux 发行版。
11. 重启电脑
安装结束以后建议直接:
重新启动 Windows
不要只关闭 PowerShell。
12. 第一次启动 Ubuntu
重启以后,在开始菜单搜索:
Ubuntu 24.04
打开。
或者在 PowerShell 执行:
wsl
也可以指定:
wsl -d Ubuntu-24.04
第一次启动会进行初始化。
可能看到:
Installing, this may take a few minutes...
等待初始化完成。
13. 创建 Linux 用户
第一次启动 Ubuntu 时,会要求:
Enter new UNIX username:
例如:
zyz
输入:
zyz
然后要求设置密码:
New password:
输入密码。
注意:
Linux 输入密码时:
屏幕不会显示任何字符
不会显示:
*
也不会显示:
●
这是正常现象。
输入完成直接回车。
然后再次输入:
Retype new password:
创建完成。
14. Linux 用户名不要使用 root
建议:
zyz
或者:
dev
不要直接使用:
root
日常开发使用普通用户。
需要管理员权限时使用:
sudo
例如:
sudo apt update
15. 检查 WSL 是否为 WSL2
回到 Windows PowerShell:
wsl -l -v
例如:
NAME STATE VERSION
* Ubuntu-24.04 Running 2
重点看:
VERSION
必须是:
2
这说明:
Ubuntu-24.04 正在使用 WSL2
16. 如果 VERSION 显示 1
执行:
wsl --set-version Ubuntu-24.04 2
然后再次检查:
wsl -l -v
应该变成:
Ubuntu-24.04 Running 2
17. 设置以后新安装的 Linux 默认使用 WSL2
执行:
wsl --set-default-version 2
以后再安装:
Debian
Ubuntu
Kali
默认都会使用:
WSL2
18. 更新 WSL
建议安装完成后执行:
wsl --update
检查版本:
wsl --version
例如可能看到:
WSL version: 2.x.x
Kernel version: 6.x.x
WSLg version: ...
Windows version: ...
只要能够正常显示版本即可。
19. 检查 WSL 状态
执行:
wsl --status
可以查看:
默认发行版
默认 WSL 版本
内核版本
20. 更新 Ubuntu 软件源
进入 Ubuntu:
wsl
执行:
sudo apt update
然后:
sudo apt upgrade -y
第一次可能下载较多软件包。
21. 安装基本开发工具
推荐:
sudo apt install -y \
build-essential \
git \
curl \
wget \
unzip \
zip \
vim \
nano \
tree \
htop \
jq \
ca-certificates
安装完成检查:
git --version
例如:
git version 2.x.x
检查 gcc:
gcc --version
检查 curl:
curl --version
22. 查看 Ubuntu 版本
执行:
cat /etc/os-release
应该看到类似:
NAME="Ubuntu"
VERSION="24.04.x LTS"
也可以:
lsb_release -a
如果命令不存在:
sudo apt install lsb-release
23. 查看 Linux 内核
执行:
uname -a
一般可以看到:
microsoft-standard-WSL2
说明运行在:
WSL2
24. Windows 如何进入 WSL 文件
Windows 文件资源管理器地址栏输入:
\\wsl$
可以看到:
Ubuntu-24.04
例如 Linux:
/home/zyz/Code
Windows 可以通过:
\\wsl$\Ubuntu-24.04\home\zyz\Code
访问。
Windows 11 新版资源管理器通常左侧也会直接显示:
Linux
25. WSL 如何访问 Windows 文件
Windows:
C:\
在 WSL 中:
/mnt/c/
例如:
Windows:
C:\Users\zyz\Downloads
WSL:
/mnt/c/Users/zyz/Downloads
D 盘:
D:\
对应:
/mnt/d/
例如:
cd /mnt/d/Code
26. 一个非常重要的开发建议
如果代码主要使用 Linux 工具开发:
Git
Node.js
Python
Java
Docker
Codex
Claude Code
建议把项目放在:
/home/用户名/
例如:
/home/zyz/Code
推荐:
mkdir -p ~/Code
cd ~/Code
不要长期把 WSL 项目放:
/mnt/c/Code
或者:
/mnt/d/Code
原因是 Linux 项目放在 WSL 自己的 ext4 文件系统里通常:
- 文件 IO 更快
- Git 更快
- npm 更快
- node_modules 更快
- Python venv 更稳定
- Linux 文件权限更正常
- 符号链接兼容性更好
- 不容易出现
.git/index.lock等 Windows/WSL 文件系统冲突
推荐目录:
/home/zyz/Code/github
/home/zyz/Code/gitea
/home/zyz/Code/gitlab
例如:
mkdir -p ~/Code/github
mkdir -p ~/Code/gitea
mkdir -p ~/Code/gitlab
27. Windows 如何打开 WSL 当前目录
在 WSL:
explorer.exe .
例如:
cd ~/Code
explorer.exe .
会直接打开 Windows 文件资源管理器。
28. WSL 如何调用 Windows 程序
WSL 可以直接执行:
notepad.exe
例如:
notepad.exe test.txt
也可以:
explorer.exe .
PowerShell:
powershell.exe
新版 PowerShell:
pwsh.exe
Git for Windows 等程序也可以通过完整路径调用。
29. Windows 如何执行 Linux 命令
PowerShell 中:
wsl ls
例如:
wsl pwd
执行:
wsl uname -a
也可以:
wsl bash -c "ls -lah"
30. 安装 Windows Terminal
Windows 11 通常已经安装:
Windows Terminal
如果没有,可以从 Microsoft Store 安装:
Windows Terminal
安装 Ubuntu 后,Terminal 通常自动增加:
Ubuntu 24.04
配置。
以后直接:
Windows Terminal
→ Ubuntu 24.04
即可进入 WSL。
31. 设置 Ubuntu 为 Windows Terminal 默认终端
打开:
Windows Terminal
进入:
设置
→ 启动
→ 默认配置文件
选择:
Ubuntu 24.04
以后打开 Terminal 就直接进入 Linux。
如果平时 Windows PowerShell 用得比较多,则可以继续保持:
PowerShell
作为默认终端。
32. 安装 zsh
Ubuntu 默认 Shell 是:
bash
如果喜欢 zsh:
sudo apt install zsh -y
查看位置:
which zsh
通常:
/usr/bin/zsh
切换默认 shell:
chsh -s $(which zsh)
然后退出 WSL:
exit
PowerShell:
wsl --shutdown
重新进入:
wsl
检查:
echo $SHELL
应该显示:
/usr/bin/zsh
33. Git 基础配置
进入 WSL:
git config --global user.name "你的名字"
例如:
git config --global user.name "zyz"
设置邮箱:
git config --global user.email "[email protected]"
查看:
git config --global --list
34. 配置 Git 默认分支
推荐:
git config --global init.defaultBranch main
如果公司项目仍使用:
master
则根据公司规范配置。
35. 配置 Git 换行符
WSL 是 Linux 环境。
推荐:
git config --global core.autocrlf input
这样提交时:
CRLF → LF
但检出时不会强制转为 Windows CRLF。
对于跨平台开发通常比较合适。
36. 配置 SSH
进入:
cd ~
创建:
mkdir -p ~/.ssh
权限:
chmod 700 ~/.ssh
如果准备在 WSL 单独生成 SSH key:
ssh-keygen -t ed25519
一路回车即可。
默认生成:
~/.ssh/id_ed25519
~/.ssh/id_ed25519.pub
查看公钥:
cat ~/.ssh/id_ed25519.pub
复制到:
GitHub
GitLab
Gitea
即可。
37. SSH 权限
Linux 对 SSH 文件权限比较严格。
目录:
chmod 700 ~/.ssh
私钥:
chmod 600 ~/.ssh/id_ed25519
公钥:
chmod 644 ~/.ssh/id_ed25519.pub
配置:
chmod 600 ~/.ssh/config
否则可能出现:
Bad owner or permissions on ~/.ssh/config
38. 测试 GitHub SSH
执行:
ssh -T [email protected]
第一次可能提示:
Are you sure you want to continue connecting (yes/no/[fingerprint])?
输入:
yes
成功后一般会提示认证成功。
39. 安装 Python
Ubuntu 24.04 默认通常已经有 Python 3。
检查:
python3 --version
安装基础工具:
sudo apt install -y python3 python3-pip python3-venv
创建虚拟环境:
python3 -m venv .venv
激活:
source .venv/bin/activate
退出:
deactivate
40. 安装 Node.js
不建议简单使用:
sudo apt install nodejs
因为 Ubuntu 软件源里的 Node.js 版本可能不是你需要的版本。
推荐使用:
nvm
管理 Node.js。
安装完 nvm 后可以:
nvm install --lts
然后:
node --version
npm --version
nvm 的好处:
Node 18
Node 20
Node 22
Node 24
可以自由切换。
41. 安装 Java
如果开发需要 Java 17:
sudo apt install openjdk-17-jdk -y
检查:
java -version
查看 javac:
javac -version
如果需要 Java 21:
sudo apt install openjdk-21-jdk -y
42. VS Code 使用 WSL
Windows 安装:
Visual Studio Code
然后安装扩展:
WSL
进入 WSL 项目:
cd ~/Code/my-project
执行:
code .
第一次会自动安装:
VS Code Server
以后 VS Code 左下角应该显示:
WSL: Ubuntu-24.04
此时:
VS Code UI
运行在 Windows。
但是:
Git
Python
Node
Terminal
编译器
运行在 Linux。
这是比较推荐的开发模式。
43. VS Code 项目建议
推荐:
Windows
└── VS Code
WSL
└── /home/zyz/Code/project
不要为了让 Windows 软件看到项目,就把代码放到:
C:\Code
Windows VS Code 可以直接打开:
\\wsl$\Ubuntu-24.04\home\zyz\Code
更推荐通过:
code .
启动。
44. 检查 systemd
执行:
systemctl --version
然后:
systemctl status
现代 WSL 已支持:
systemd
可以运行:
PostgreSQL
Redis
Docker
Nginx
systemd service
等 Linux 服务。
45. WSL 网络
WSL 中可以访问互联网:
curl https://www.baidu.com
或者:
curl https://github.com
检查 IP:
ip addr
查看:
hostname -I
46. Windows 访问 WSL Web 服务
假设 WSL 中启动:
python3 -m http.server 8000
Windows 浏览器通常可以直接访问:
http://localhost:8000
例如 FastAPI:
uvicorn main:app --host 0.0.0.0 --port 8000
Windows:
http://localhost:8000
即可访问。
47. WSL 访问 Windows 服务
如果 Windows 程序监听:
127.0.0.1:8080
新版本 WSL 在很多情况下可以直接:
curl http://localhost:8080
如果访问失败,则需要根据 WSL 网络模式进一步配置。
48. 查看安装了哪些 WSL
Windows PowerShell:
wsl -l
详细查看:
wsl -l -v
例如:
NAME STATE VERSION
* Ubuntu-24.04 Running 2
49. 查看所有 WSL,包括停止状态
wsl --list --verbose
缩写:
wsl -l -v
50. 关闭 WSL
退出当前 Linux:
exit
这只是退出 Shell。
如果需要完全关闭整个 WSL:
wsl --shutdown
再次:
wsl
会重新启动。
51. 停止单个 Linux
例如:
wsl --terminate Ubuntu-24.04
缩写:
wsl -t Ubuntu-24.04
52. 设置默认 Linux
如果安装多个:
Ubuntu-24.04
Debian
Kali
可以设置:
wsl --set-default Ubuntu-24.04
以后:
wsl
默认进入 Ubuntu 24.04。
53. 进入指定 Linux
wsl -d Ubuntu-24.04
例如:
wsl -d Debian
54. 使用指定 Linux 用户
例如:
wsl -d Ubuntu-24.04 -u root
直接以 root 进入。
一般只用于维护。
不要作为日常开发方式。
55. 查看 WSL 帮助
执行:
wsl --help
可以查看全部 WSL 命令。
56. WSL 更新
定期可以:
wsl --update
更新后:
wsl --shutdown
重新打开。
57. 推荐开发目录结构
例如:
/home/zyz/
├── Code/
│ ├── github/
│ ├── gitlab/
│ ├── gitea/
│ └── company/
│
├── Downloads/
├── Scripts/
└── .ssh/
创建:
mkdir -p ~/Code/github
mkdir -p ~/Code/gitlab
mkdir -p ~/Code/gitea
mkdir -p ~/Scripts
58. 推荐最终开发架构
比较推荐:
Windows 11
│
├── Windows Terminal
├── PowerShell 7
├── Edge / Chrome
├── VS Code
├── Android Studio
├── adb.exe
│
└── WSL2
└── Ubuntu 24.04
│
├── ~/Code
│ ├── github
│ ├── gitlab
│ └── gitea
│
├── Git
├── SSH
├── Python
├── Node.js
├── Java
├── GCC
├── Docker
└── Codex / Claude Code
这种架构的原则是:
GUI 软件 → Windows
开发运行环境 → WSL
代码 → WSL 文件系统
59. 常见问题:wsl --install 无反应
先执行:
wsl --update
然后:
wsl --shutdown
重新:
wsl --install -d Ubuntu-24.04
如果下载卡住:
wsl --install --web-download -d Ubuntu-24.04
60. 常见问题:提示 Virtual Machine Platform
管理员 PowerShell:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
然后重新启动 Windows。
61. 常见问题:手动启用 WSL Windows 功能
如果自动安装方式失败,可以执行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
然后:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重新启动:
Windows
然后:
wsl --set-default-version 2
最后:
wsl --install -d Ubuntu-24.04
62. 常见问题:0x80370102
如果提示类似:
0x80370102
通常检查:
CPU 虚拟化
Virtual Machine Platform
BIOS VT-x / AMD-V
任务管理器:
性能
→ CPU
→ 虚拟化
必须为:
已启用
63. 常见问题:忘记 Ubuntu 密码
PowerShell:
wsl -d Ubuntu-24.04 -u root
进入后:
passwd zyz
例如:
passwd zyz
重新设置密码。
然后:
exit
正常重新进入:
wsl
64. 常见问题:WSL 出现奇怪问题
最简单的第一步:
wsl --shutdown
然后重新打开:
wsl
很多:
网络
挂载
systemd
文件锁
问题可以通过完全重启 WSL 恢复。
65. 不要随便执行 wsl --unregister
下面这个命令非常危险:
wsl --unregister Ubuntu-24.04
它的含义不是:
退出登录
而是:
删除整个 Ubuntu
里面包括:
/home
代码
数据库
配置文件
SSH
环境
都会被删除。
因此:
除非确定要彻底删除整个 Linux 环境,否则不要执行
wsl --unregister。
66. 如果真的需要删除 Ubuntu
首先备份重要代码。
然后:
wsl --shutdown
确认:
wsl -l -v
再执行:
wsl --unregister Ubuntu-24.04
之后可以重新安装:
wsl --install -d Ubuntu-24.04
67. 安装完成后的最终检查
Windows PowerShell:
wsl --version
然后:
wsl --status
然后:
wsl -l -v
应该确认:
Ubuntu-24.04
VERSION = 2
进入 Linux:
wsl
检查:
cat /etc/os-release
检查内核:
uname -a
检查网络:
curl https://github.com
检查 Git:
git --version
检查 sudo:
sudo whoami
如果返回:
root
说明 sudo 正常。
68. 最精简安装流程
如果不想看前面所有说明,Windows 11 实际安装 WSL2 只需要:
第一步
管理员 PowerShell:
wsl --install -d Ubuntu-24.04
第二步
重启 Windows。
第三步
打开:
Ubuntu 24.04
创建:
Linux 用户名
Linux 密码
第四步
PowerShell:
wsl -l -v
确认:
VERSION = 2
第五步
Ubuntu:
sudo apt update
sudo apt upgrade -y
第六步
安装开发工具:
sudo apt install -y build-essential git curl wget unzip zip vim tree htop jq
第七步
创建代码目录:
mkdir -p ~/Code
cd ~/Code
到这里,一个标准的:
Windows 11 + WSL2 + Ubuntu 24.04
开发环境就已经安装完成。
69. 推荐的一套 WSL2 开发原则
最后建议记住下面几条:
- 使用 WSL2,不要主动使用 WSL1。
- 推荐使用 Ubuntu 24.04 LTS。
- Linux 项目尽量放在:
/home/用户名/Code - 不要长期把大型项目放:
/mnt/c /mnt/d - Linux 的 Git、SSH、Python、Node、Java 尽量在 WSL 内单独配置。
- Windows 负责 GUI,WSL 负责开发运行环境。
- VS Code 使用 WSL Remote 模式。
- 修改 WSL 配置后出现异常,可以先:
wsl --shutdown - 定期更新:
wsl --update - 不要随便执行:
wsl --unregister
70. 推荐安装完成后的下一步
WSL2 安装完成以后,可以继续配置:
WSL2
├── zsh
├── Powerlevel10k
├── Git
├── SSH
├── GitHub / GitLab / Gitea
├── Python
├── uv
├── Node.js / nvm
├── Java 17 / 21
├── Docker
├── VS Code
├── Codex CLI
└── Android 开发环境
如果主要用途是软件开发,建议按照这个顺序配置:
WSL2
↓
Ubuntu
↓
Git + SSH
↓
zsh
↓
开发语言环境
↓
VS Code
↓
Docker
↓
AI CLI / Codex