1. WSL2与Ubuntu24.04安装实践指南
作为一名长期在Windows环境下进行Linux开发的工程师,我深刻理解跨平台开发环境的痛点。传统虚拟机资源占用高、双系统切换麻烦,而WSL2的出现完美解决了这些问题。本文将分享我在Windows 11上安装配置WSL2和Ubuntu 24.04 LTS的完整实践过程,包含从环境准备到系统优化的全流程。
Ubuntu 24.04 LTS是Canonical于2024年发布的最新长期支持版本,带来了更新的内核和工具链。结合WSL2的完整Linux内核支持,可以获得接近原生Linux的性能体验。这个组合特别适合需要同时使用Windows办公软件和Linux开发工具的全栈开发者。
2. 环境准备与基础安装
2.1 系统要求检查
在开始安装前,需要确认你的Windows系统满足以下要求:
- Windows 10版本2004或更高(建议使用Windows 11)
- 64位操作系统
- 支持虚拟化技术(VT-x/AMD-V)
- 至少4GB内存(推荐8GB以上)
- 20GB可用磁盘空间
可以通过以下命令检查Windows版本:
winver2.2 启用WSL功能
- 以管理员身份打开PowerShell,执行以下命令启用WSL功能:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart- 启用虚拟机平台功能:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart- 重启计算机使更改生效
注意:某些品牌电脑需要在BIOS中手动开启虚拟化支持(通常称为Intel VT-x或AMD-V)
2.3 安装WSL2内核更新包
从微软官网下载并安装最新的WSL2内核更新包: https://aka.ms/wsl2kernel
安装完成后,将WSL2设置为默认版本:
wsl --set-default-version 23. Ubuntu 24.04 LTS安装与配置
3.1 从Microsoft Store安装Ubuntu
- 打开Microsoft Store,搜索"Ubuntu 24.04 LTS"
- 点击获取并安装
- 安装完成后,从开始菜单启动Ubuntu
首次启动时会提示创建用户名和密码,这个账户将具有sudo权限。
3.2 基础系统配置
- 更新软件包列表:
sudo apt update && sudo apt upgrade -y- 安装常用工具:
sudo apt install -y build-essential curl git wget unzip- 配置SSH服务(可选):
sudo apt install -y openssh-server sudo systemctl enable --now ssh3.3 磁盘位置迁移(可选)
默认安装位置在C盘,如需迁移到其他分区:
- 导出当前发行版:
wsl --export Ubuntu-24.04 D:\wsl-ubuntu24.04.tar- 注销原发行版:
wsl --unregister Ubuntu-24.04- 在新位置导入:
wsl --import Ubuntu-24.04 D:\wsl D:\wsl-ubuntu24.04.tar --version 2- 设置默认用户:
ubuntu2404 config --default-user <你的用户名>4. 开发环境配置
4.1 Python环境搭建
Ubuntu 24.04默认已安装Python 3.12,建议配置虚拟环境:
sudo apt install -y python3-venv python3-pip python3 -m venv ~/venv source ~/venv/bin/activate4.2 Node.js安装
使用NodeSource仓库安装最新LTS版本:
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo apt install -y nodejs4.3 Docker集成
- 安装Docker Desktop for Windows
- 在设置中启用WSL2后端
- 在Ubuntu中验证:
docker --version5. 常见问题解决
5.1 WSL2无法启动
如果遇到"虚拟化未启用"错误:
- 检查BIOS中的虚拟化设置
- 确保Hyper-V已禁用(除非需要)
- 在PowerShell中运行:
bcdedit /set hypervisorlaunchtype auto5.2 网络连接问题
WSL2使用NAT网络,可能导致:
- 主机无法访问WSL2服务
- WSL2无法访问公司内网
解决方案:
# 在Windows主机上添加端口转发 netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=8080 connectaddress=$(wsl hostname -I)5.3 图形界面支持
虽然WSL2主要面向命令行,但可以配置X11转发:
- 安装Windows端X服务器(如VcXsrv)
- 在Ubuntu中安装:
sudo apt install -y x11-apps export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):06. 性能优化技巧
6.1 内存限制配置
在%USERPROFILE%\.wslconfig中添加:
[wsl2] memory=8GB processors=4 localhostForwarding=true6.2 文件系统性能
避免在Windows文件系统中直接操作Linux文件,应在WSL2内部操作:
# 错误做法(性能差): /mnt/c/Users/... # 正确做法: ~/projects/...6.3 定期维护
- 清理apt缓存:
sudo apt clean- 检查并删除无用内核:
sudo apt autoremove7. 高级配置
7.1 GPU加速支持
对于需要CUDA开发的用户:
- 确保已安装NVIDIA驱动
- 在WSL2中安装CUDA Toolkit:
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt update sudo apt install -y cuda-toolkit7.2 多发行版管理
可以同时安装多个Linux发行版:
wsl --list --verbose wsl -d Ubuntu-24.047.3 自定义内核编译
如需特定内核功能,可自行编译:
- 获取微软提供的WSL2内核源码
- 修改配置后编译
- 在.wslconfig中指定内核路径
8. 日常使用建议
- 使用Windows Terminal作为默认终端,支持多标签和丰富配置
- 在VSCode中安装"Remote - WSL"扩展,实现无缝开发体验
- 定期备份WSL2实例:
wsl --export Ubuntu-24.04 backup.tar经过以上配置,你将获得一个功能完善、性能接近原生Linux的开发环境。我在实际使用中发现,WSL2+Ubuntu24.04的组合特别适合以下场景:
- 需要同时使用Windows和Linux工具的全栈开发
- 机器学习研究和实验
- 云原生应用开发和测试
- Linux学习环境
最后分享一个小技巧:在Windows资源管理器地址栏输入\\wsl$可以直接访问WSL2文件系统,方便文件交换。