尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
WSL2+Ubuntu开发环境配置全攻略
1. WSL2与Ubuntu环境概述在Windows系统上搭建Linux开发环境一直是开发者的痛点传统方案要么性能损耗大如VMware虚拟机要么功能残缺如Cygwin。微软推出的WSL2Windows Subsystem for Linux 2彻底改变了这一局面——它通过轻量级虚拟化技术在Windows内核上原生运行Linux系统实测文件系统性能比WSL1提升20倍内存占用却只有传统虚拟机的1/3。我最近在Surface Book 3上配置WSL2Ubuntu 22.04环境时发现中文社区缺少完整的避坑指南。本文将手把手演示从零安装到开发环境配置的全流程特别针对以下痛点提供解决方案解决WSL2安装时常见的虚拟化平台不可用报错优化Ubuntu终端的中文显示与输入法支持配置Conda环境与Windows宿主机的文件互通2. 环境准备与基础安装2.1 系统要求检查首先以管理员身份打开PowerShell运行systeminfo | find 系统类型确认输出为x64-based PC。接着检查Windows版本winver必须满足以下条件Windows 10 2004及以上内部版本19041或Windows 11任何版本注意企业版可能需要组策略调整在gpedit.msc中启用计算机配置-管理模板-Windows组件-Windows子系统for Linux2.2 启用WSL功能组件分步执行以下命令# 启用WSL1兼容层必须首先安装 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart # 启用虚拟化平台WSL2必需 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart重启后需要手动安装WSL2内核更新包下载地址https://aka.ms/wsl2kernel。这个.msi安装包经常被Windows Defender误报建议临时关闭实时保护。2.3 安装Ubuntu发行版在Microsoft Store搜索Ubuntu建议选择LTS版本当前为22.04。安装完成后不要立即启动先执行版本转换wsl --set-version Ubuntu 2转换过程约3-5分钟可能出现进度停滞现象这是正常情况。完成后验证wsl -l -v正常应显示NAME STATE VERSION * Ubuntu Stopped 23. Ubuntu系统深度配置3.1 首次启动与基础设置从开始菜单启动Ubuntu首次运行需要设置用户名建议英文不要用空格设置密码输入时无视觉反馈正常输入即可接着更新软件源替换为国内镜像加速sudo sed -i shttp://.*archive.ubuntu.comhttp://mirrors.aliyun.comg /etc/apt/sources.list sudo apt update sudo apt upgrade -y3.2 中文环境支持安装语言包需约1GB空间sudo apt install -y language-pack-zh-hans配置本地化sudo update-locale LANGzh_CN.UTF-8对于Windows Terminal的中文显示需要右键标题栏-设置-Ubuntu配置文件外观-字体选择Microsoft YaHei Mono高级-文本渲染器改为DirectWrite3.3 文件系统互通WSL2的磁盘挂载点位于\\wsl$\UbuntuWindows访问Linux文件时注意不要直接修改Linux系统文件文件权限会转换为Windows ACLLinux访问Windows磁盘# 挂载D盘 sudo mkdir /mnt/d sudo mount -t drvfs D: /mnt/d建议在~/.bashrc添加永久挂载if ! mountpoint -q /mnt/d; then sudo mount -t drvfs D: /mnt/d fi4. 开发环境配置实战4.1 Conda科学计算环境下载Miniconda建议使用清华源wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh安装时务必选择yes初始化condabash Miniconda3-latest-Linux-x86_64.sh -b ~/miniconda3/bin/conda init配置国内镜像源conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main conda config --set show_channel_urls yes4.2 Python多版本管理创建Python 3.8环境conda create -n py38 python3.8环境激活技巧# 在~/.bashrc添加自动激活 echo conda activate py38 ~/.bashrc验证环境python -c import sys; print(sys.executable)应输出类似/home/username/miniconda3/envs/py38/bin/python4.3 与Windows宿主机的协作在PowerShell中直接调用WSL命令wsl python -c print(Hello from Linux)VSCode集成配置安装Remote - WSL扩展在WSL终端输入code .自动安装服务端组件推荐安装插件PythonPylanceJupyter5. 性能优化与问题排查5.1 内存限制配置在%USERPROFILE%\.wslconfig添加[wsl2] memory6GB # 限制最大内存 swap4GB # 交换空间大小 localhostForwardingtrue重启WSL生效wsl --shutdown5.2 常见错误解决方案问题1WSL2启动时报参考的对象类型不支持尝试的操作netsh winsock reset然后重启计算机。问题2APT更新时出现Hash Sum mismatchsudo rm -rf /var/lib/apt/lists/* sudo apt update问题3Conda环境激活缓慢conda init --reverse echo eval $(/home/$USER/miniconda3/bin/conda shell.bash hook) ~/.bashrc5.3 磁盘性能优化对于频繁IO操作的项目建议将项目目录放在WSL文件系统内如~/projects避免在/mnt下直接运行Python项目对于数据库等IO密集型服务使用sudo service docker start我在实际使用中发现当Windows系统休眠恢复后WSL2的时钟可能会不同步导致Python的time.sleep()出现异常。解决方法是在~/.bashrc添加sudo hwclock -s
RELATED

相关推荐

Windows虚拟内存优化指南:原理与最佳实践

Windows虚拟内存优化指南:原理与最佳实践

1. 虚拟内存的本质与工作原理虚拟内存是Windows操作系统中的一项核心内存管理技术,它通过将硬盘空间模拟为内存使用来解决物理内存不足的问题。当系统运行的应用程序所需内存超过实际安装的物理内存(RAM)容量时,操作系统会自动将暂…

📅 2026/9/12 11:09:07
Linux下NVIDIA显卡驱动与CUDA安装配置指南

Linux下NVIDIA显卡驱动与CUDA安装配置指南

1. NVIDIA显卡驱动与CUDA生态概述在深度学习与高性能计算领域,NVIDIA显卡驱动与CUDA工具链的安装配置是每个开发者必须掌握的基础技能。我经历过无数次从驱动冲突到版本不兼容的"血泪史",今天将系统梳理在Linux系统(以Ubuntu为例&a…

📅 2026/9/9 14:06:11
springboot网上招聘系统java企业招聘网站源码

springboot网上招聘系统java企业招聘网站源码

博主介绍: 所有项目都配有从入门到精通的安装教程,可二开,提供核心代码讲解,项目指导。 项目配有对应开发文档、解析等 项目都录了发布和功能操作演示视频; 项目的界面和功能都可以定制,包安装运行&#xf…

📅 2026/8/24 2:09:06
MORE NEWS

更多资讯

📰

Higgsfield替代工具实测:四款中文视频生成方案深度对比

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

微信小程序多人实时交互架构设计与状态机实践

简介:本资源是一份面向微信小程序初学者与游戏开发爱好者的实战型学习案例,提供完整的狼人杀多人策略小游戏源码,助力掌握小程序页面结构、前后端交互及实时逻辑处理等核心技能。压缩包共61个文件,包含13个JavaScript逻辑文件&…

📰

MyBatis XML中SQL报错分析与解决方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

ToF相机3D视觉实战:从深度原理、点云标定到抓取落地的全链路指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Vue与PHP构建高并发明星周边销售系统实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

AI SDK 应用内存基准测试:基于 Neovate Code 与 ephemeral VM 的进程级 RSS 测量指南

AI SDK 应用内存基准测试:基于 Neovate Code 与 ephemeral VM 的进程级 RSS 测量指南 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and age…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬