1. 为什么要在Win11上使用WSL2运行Ubuntu作为一名长期在Windows和Linux双系统间切换的开发者我深刻理解这种来回重启的痛苦。WSL2Windows Subsystem for Linux 2彻底改变了这种局面——它让我们能在Windows 11上获得近乎原生的Linux体验。相比传统虚拟机WSL2有着显著优势性能接近原生WSL2使用轻量级虚拟机技术文件系统性能比WSL1提升20倍实测编译Linux内核仅比物理机慢5-8%无缝集成可以直接在Windows资源管理器中访问Linux文件也能在PowerShell里调用Linux命令资源占用低我的戴尔XPS 13笔记本上Ubuntu WSL2实例内存占用仅300MB空闲状态而VMware至少需要1.5GB重要提示WSL2需要Windows 11 21H2或更高版本。家庭版用户需先升级到专业版或企业版才能获得完整功能支持。2. 环境准备与WSL2安装2.1 系统要求检查在开始前请确认你的设备满足以下条件Windows 11版本号≥21H2设置→系统→关于中查看主板BIOS已开启虚拟化Intel VT-x/AMD-V任务管理器→性能选项卡查看虚拟化是否启用至少10GB可用磁盘空间建议SSD2.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重启电脑后继续执行# 设置WSL2为默认版本 wsl --set-default-version 22.3 解决常见安装问题错误0x80070005通常由杀毒软件拦截导致临时关闭Defender实时保护WSL2安装卡顿手动下载内核更新包https://aka.ms/wsl2kernel虚拟化未启用进入BIOS找到Intel VT-x/AMD-V选项启用3. Ubuntu子系统的安装与配置3.1 通过Microsoft Store安装打开Microsoft Store搜索Ubuntu选择最新LTS版本当前为22.04点击获取→安装约500MB下载量安装完成后首次启动会提示创建用户Enter new UNIX username: yourname New password: Retype new password:3.2 手动下载安装适用于企业环境对于无法访问Store的情况可手动下载安装# 下载Ubuntu镜像 Invoke-WebRequest -Uri https://aka.ms/wslubuntu2204 -OutFile Ubuntu.appx -UseBasicParsing # 安装 Add-AppxPackage .\Ubuntu.appx3.3 基础系统配置更新软件源并升级现有包sudo apt update sudo apt upgrade -y安装常用工具链sudo apt install -y build-essential git curl wget zsh4. WSL2高级使用技巧4.1 文件系统互操作从Windows访问Linux文件在资源管理器地址栏输入\\wsl$从Linux访问Windows文件所有Windows盘符挂载在/mnt/下如C盘为/mnt/c注意避免直接在/mnt下编辑代码会有权限问题。建议将项目放在Linux主目录(~)下。4.2 网络配置查看WSL2 IP地址ip addr show eth0 | grep inet从Windows访问WSL2服务# 获取WSL2 IP $wsl_ip (wsl hostname -I).Trim() echo WSL2 IP: $wsl_ip4.3 内存与CPU限制在%USERPROFILE%\.wslconfig中添加[wsl2] memory4GB # 限制最大内存 processors2 # 限制CPU核心数5. 开发环境实战配置5.1 Python开发环境安装pyenv管理多版本Pythoncurl https://pyenv.run | bash echo export PATH$HOME/.pyenv/bin:$PATH ~/.bashrc echo eval $(pyenv init -) ~/.bashrc source ~/.bashrc # 安装Python 3.10 pyenv install 3.10.6 pyenv global 3.10.65.2 Docker集成安装Docker Desktop for Windows设置→General→勾选Use WSL2 based engine在Ubuntu中安装docker客户端sudo apt install -y docker.io sudo ln -sf /mnt/wsl/docker-desktop/cli-plugins/docker-compose /usr/local/bin/docker-compose5.3 GUI应用支持安装X服务器如VcXsrv后在Ubuntu中sudo apt install -y x11-apps export DISPLAY$(cat /etc/resolv.conf | grep nameserver | awk {print $2}):0 xeyes # 测试GUI6. 性能优化与问题排查6.1 解决磁盘占用过大WSL2虚拟机文件默认位于%LOCALAPPDATA%\Packages\DistroPackage\LocalState\ext4.vhdx压缩虚拟磁盘wsl --shutdown diskpart # 在DISKPART提示符下 select vdisk fileC:\path\to\ext4.vhdx attach vdisk readonly compact vdisk detach vdisk exit6.2 提高IO性能在/etc/wsl.conf中添加[automount] options metadata,umask22,fmask116.3 常见错误解决问题WSL2无法启动wsl --shutdown netsh winsock reset问题DNS解析失败在/etc/wsl.conf中添加[network] generateResolvConf false然后手动创建/etc/resolv.confecho nameserver 8.8.8.8 | sudo tee /etc/resolv.conf经过半年多的实际使用我的WSL2 Ubuntu环境已经稳定支持了Python开发、Kubernetes测试和C编译等多种场景。相比双系统方案每天能节省至少30分钟的重启时间。对于偶尔出现的网络问题保持.wslconfig配置的定期维护是关键。
Win11使用WSL2运行Ubuntu的完整指南
发布时间:2026/7/17 4:07:59
1. 为什么要在Win11上使用WSL2运行Ubuntu作为一名长期在Windows和Linux双系统间切换的开发者我深刻理解这种来回重启的痛苦。WSL2Windows Subsystem for Linux 2彻底改变了这种局面——它让我们能在Windows 11上获得近乎原生的Linux体验。相比传统虚拟机WSL2有着显著优势性能接近原生WSL2使用轻量级虚拟机技术文件系统性能比WSL1提升20倍实测编译Linux内核仅比物理机慢5-8%无缝集成可以直接在Windows资源管理器中访问Linux文件也能在PowerShell里调用Linux命令资源占用低我的戴尔XPS 13笔记本上Ubuntu WSL2实例内存占用仅300MB空闲状态而VMware至少需要1.5GB重要提示WSL2需要Windows 11 21H2或更高版本。家庭版用户需先升级到专业版或企业版才能获得完整功能支持。2. 环境准备与WSL2安装2.1 系统要求检查在开始前请确认你的设备满足以下条件Windows 11版本号≥21H2设置→系统→关于中查看主板BIOS已开启虚拟化Intel VT-x/AMD-V任务管理器→性能选项卡查看虚拟化是否启用至少10GB可用磁盘空间建议SSD2.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重启电脑后继续执行# 设置WSL2为默认版本 wsl --set-default-version 22.3 解决常见安装问题错误0x80070005通常由杀毒软件拦截导致临时关闭Defender实时保护WSL2安装卡顿手动下载内核更新包https://aka.ms/wsl2kernel虚拟化未启用进入BIOS找到Intel VT-x/AMD-V选项启用3. Ubuntu子系统的安装与配置3.1 通过Microsoft Store安装打开Microsoft Store搜索Ubuntu选择最新LTS版本当前为22.04点击获取→安装约500MB下载量安装完成后首次启动会提示创建用户Enter new UNIX username: yourname New password: Retype new password:3.2 手动下载安装适用于企业环境对于无法访问Store的情况可手动下载安装# 下载Ubuntu镜像 Invoke-WebRequest -Uri https://aka.ms/wslubuntu2204 -OutFile Ubuntu.appx -UseBasicParsing # 安装 Add-AppxPackage .\Ubuntu.appx3.3 基础系统配置更新软件源并升级现有包sudo apt update sudo apt upgrade -y安装常用工具链sudo apt install -y build-essential git curl wget zsh4. WSL2高级使用技巧4.1 文件系统互操作从Windows访问Linux文件在资源管理器地址栏输入\\wsl$从Linux访问Windows文件所有Windows盘符挂载在/mnt/下如C盘为/mnt/c注意避免直接在/mnt下编辑代码会有权限问题。建议将项目放在Linux主目录(~)下。4.2 网络配置查看WSL2 IP地址ip addr show eth0 | grep inet从Windows访问WSL2服务# 获取WSL2 IP $wsl_ip (wsl hostname -I).Trim() echo WSL2 IP: $wsl_ip4.3 内存与CPU限制在%USERPROFILE%\.wslconfig中添加[wsl2] memory4GB # 限制最大内存 processors2 # 限制CPU核心数5. 开发环境实战配置5.1 Python开发环境安装pyenv管理多版本Pythoncurl https://pyenv.run | bash echo export PATH$HOME/.pyenv/bin:$PATH ~/.bashrc echo eval $(pyenv init -) ~/.bashrc source ~/.bashrc # 安装Python 3.10 pyenv install 3.10.6 pyenv global 3.10.65.2 Docker集成安装Docker Desktop for Windows设置→General→勾选Use WSL2 based engine在Ubuntu中安装docker客户端sudo apt install -y docker.io sudo ln -sf /mnt/wsl/docker-desktop/cli-plugins/docker-compose /usr/local/bin/docker-compose5.3 GUI应用支持安装X服务器如VcXsrv后在Ubuntu中sudo apt install -y x11-apps export DISPLAY$(cat /etc/resolv.conf | grep nameserver | awk {print $2}):0 xeyes # 测试GUI6. 性能优化与问题排查6.1 解决磁盘占用过大WSL2虚拟机文件默认位于%LOCALAPPDATA%\Packages\DistroPackage\LocalState\ext4.vhdx压缩虚拟磁盘wsl --shutdown diskpart # 在DISKPART提示符下 select vdisk fileC:\path\to\ext4.vhdx attach vdisk readonly compact vdisk detach vdisk exit6.2 提高IO性能在/etc/wsl.conf中添加[automount] options metadata,umask22,fmask116.3 常见错误解决问题WSL2无法启动wsl --shutdown netsh winsock reset问题DNS解析失败在/etc/wsl.conf中添加[network] generateResolvConf false然后手动创建/etc/resolv.confecho nameserver 8.8.8.8 | sudo tee /etc/resolv.conf经过半年多的实际使用我的WSL2 Ubuntu环境已经稳定支持了Python开发、Kubernetes测试和C编译等多种场景。相比双系统方案每天能节省至少30分钟的重启时间。对于偶尔出现的网络问题保持.wslconfig配置的定期维护是关键。