1. 为什么要在Win10上安装Ubuntu子系统作为一名长期在Windows环境下工作的开发者我经常遇到需要同时使用Linux工具链的场景。传统解决方案是使用虚拟机但资源占用大、启动慢双系统又需要频繁重启。Windows Subsystem for Linux (WSL) 完美解决了这个痛点——它允许你在Windows 10上原生运行Linux二进制文件无需虚拟机开销。WSL特别适合以下场景需要频繁使用Linux命令行工具如grep, awk, sed开发跨平台应用时需要在本地测试Linux环境学习Linux系统管理但不想完全脱离Windows生态使用Windows作为主力系统但需要部署到Linux服务器注意WSL不是虚拟机它通过转换层将Linux系统调用转换为Windows能理解的指令因此性能接近原生且能直接访问Windows文件系统。2. 安装前的系统准备2.1 检查Windows版本要求WSL对系统版本有严格要求必须为Windows 10版本2004Build 19041或更高企业版/教育版需要v1903及以上家庭版建议升级到最新21H2版本按下WinR输入winver查看版本号。如果版本过低需要通过Windows Update升级系统。2.2 启用虚拟化功能重启电脑进入BIOS通常按F2/Del键找到Intel VT-x或AMD-V选项位置因主板而异确保虚拟化技术已启用保存设置并重启2.3 开启Windows功能以管理员身份运行PowerShell执行dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart完成后重启电脑。3. 安装Ubuntu子系统3.1 通过Microsoft Store安装推荐打开Microsoft Store搜索Ubuntu选择官方发布的版本建议22.04 LTS点击获取安装安装完成后在开始菜单中点击Ubuntu图标启动。首次启动需要等待文件系统解压然后设置用户名和密码不需要与Windows账户相同。3.2 手动下载安装如果无法访问Microsoft Store可以访问 Ubuntu WSL页面 下载.appx包在下载目录打开PowerShell执行Add-AppxPackage .\Ubuntu_2204.2022.4.0_x64.appx3.3 设置WSL 2为默认版本WSL 2相比第一代有完整的Linux内核支持性能更好wsl --set-default-version 2检查已安装的发行版wsl -l -v4. 初始配置与优化4.1 更换国内软件源sudo sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list sudo apt update sudo apt upgrade -y4.2 安装基础开发工具sudo apt install build-essential git curl wget zsh4.3 配置Windows与Linux文件互访Windows访问Linux文件\\wsl$\Ubuntu\home\用户名Linux访问Windows文件/mnt/c/Users/用户名重要提示避免直接在/mnt下修改Windows文件可能造成权限问题。建议将项目文件放在Linux主目录。5. 高级使用技巧5.1 图形界面支持WSLg新版WSL已内置GUI支持sudo apt install gedit -y gedit会自动弹出Windows原生窗口运行Linux GUI应用。5.2 使用VS Code远程开发安装 Remote - WSL扩展在WSL终端输入code .VS Code会自动安装服务器组件并建立连接5.3 内存与CPU限制配置在C:\Users\用户名\.wslconfig添加[wsl2] memory4GB processors2重启WSL生效wsl --shutdown6. 常见问题解决6.1 启动时报错参考的对象类型不支持尝试的操作管理员PowerShell执行netsh winsock reset6.2 网络连接问题sudo sh -c echo [network] /etc/wsl.conf sudo sh -c echo generateResolvConf false /etc/wsl.conf sudo rm /etc/resolv.conf sudo sh -c echo nameserver 8.8.8.8 /etc/resolv.conf6.3 文件系统性能优化对于需要频繁读写的项目建议将项目文件夹放在Linux根目录如~/projects避免在/mnt下进行大量小文件操作对于Git仓库执行git config --global core.autocrlf input经过半年多的日常使用我的开发效率提升了至少30%。特别是配合VS Code的远程开发功能既能享受Windows的舒适环境又能获得Linux的强大工具链。最让我惊喜的是WSL 2的性能——在本地运行Docker容器时速度甚至比某些云服务器还快。